mirror of
https://github.com/appwrite/appwrite.git
synced 2026-05-26 13:51:13 +00:00
Add listTransactions
This commit is contained in:
@@ -1621,6 +1621,41 @@ App::post('/v1/databases/transactions/:transactionId/operations')
|
||||
->dynamic($transaction, Response::MODEL_TRANSACTION);
|
||||
});
|
||||
|
||||
App::get('/v1/databases/transactions')
|
||||
->desc('List transactions')
|
||||
->groups(['api', 'database', 'transactions'])
|
||||
->label('scope', 'transactions.read')
|
||||
->label('resourceType', RESOURCE_TYPE_DATABASES)
|
||||
->label('sdk', new Method(
|
||||
namespace: 'databases',
|
||||
group: 'transactions',
|
||||
name: 'listTransactions',
|
||||
description: '/docs/references/databases/list-transactions.md',
|
||||
auth: [AuthType::KEY],
|
||||
responses: [
|
||||
new SDKResponse(
|
||||
code: Response::STATUS_CODE_OK,
|
||||
model: Response::MODEL_TRANSACTION_LIST,
|
||||
)
|
||||
],
|
||||
contentType: ContentType::JSON
|
||||
))
|
||||
->param('queries', [], new Transactions(), 'Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https://appwrite.io/docs/queries).', true)
|
||||
->inject('response')
|
||||
->inject('dbForProject')
|
||||
->action(function (array $queries, Response $response, Database $dbForProject) {
|
||||
try {
|
||||
$queries = Query::parseQueries($queries);
|
||||
} catch (QueryException $e) {
|
||||
throw new Exception(Exception::GENERAL_QUERY_INVALID, $e->getMessage());
|
||||
}
|
||||
|
||||
$response->dynamic(new Document([
|
||||
'transactions' => $dbForProject->find('transactions', $queries),
|
||||
'total' => $dbForProject->count('transactions', $queries),
|
||||
]), Response::MODEL_TRANSACTION_LIST);
|
||||
});
|
||||
|
||||
App::get('/v1/databases/transactions/:transactionId')
|
||||
->desc('Get transaction')
|
||||
->groups(['api', 'database', 'transactions'])
|
||||
|
||||
@@ -19,9 +19,9 @@ class Operation extends Validator
|
||||
private array $actions = [
|
||||
'create',
|
||||
'update',
|
||||
'bulkUpdate',
|
||||
'upsert',
|
||||
'delete',
|
||||
'bulkUpdate',
|
||||
'bulkDelete',
|
||||
];
|
||||
|
||||
|
||||
@@ -0,0 +1,16 @@
|
||||
<?php
|
||||
|
||||
namespace Appwrite\Utopia\Database\Validator\Queries;
|
||||
|
||||
class Transactions extends Base
|
||||
{
|
||||
public const array ALLOWED_ATTRIBUTES = [
|
||||
'status',
|
||||
'expiresAt',
|
||||
];
|
||||
|
||||
public function __construct()
|
||||
{
|
||||
parent::__construct('functions', self::ALLOWED_ATTRIBUTES);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user