1
0
Fork 0
mirror of synced 2024-09-29 08:51:28 +13:00

Adds get message endpoint

This commit is contained in:
Prateek Banga 2023-09-21 16:26:53 +05:30
parent 342f122365
commit 3ebcfe548d
3 changed files with 35 additions and 1 deletions

View file

@ -754,5 +754,12 @@ return [
'name' => Exception::PROVIDER_INCORRECT_TYPE,
'description' => 'Provider with the requested ID is of incorrect type: ',
'code' => 400,
],
/** Message Errors */
Exception::MESSAGE_NOT_FOUND => [
'name' => Exception::MESSAGE_NOT_FOUND,
'description' => 'Message with the requested ID could not be found.',
'code' => 404,
]
];

View file

@ -75,7 +75,7 @@ App::get('/v1/messaging/providers/:id')
->label('sdk.response.code', Response::STATUS_CODE_OK)
->label('sdk.response.type', Response::CONTENT_TYPE_JSON)
->label('sdk.response.model', Response::MODEL_PROVIDER)
->param('id', null, new UID(), 'Provider ID.')
->param('id', '', new UID(), 'Provider ID.')
->inject('dbForProject')
->inject('response')
->action(function (string $id, Database $dbForProject, Response $response) {
@ -1293,6 +1293,30 @@ App::delete('/v1/messaging/providers/:id')
$response->noContent();
});
App::get('/v1/messaging/messages/:id')
->desc('Get Message')
->groups(['api', 'messaging'])
->label('scope', 'messages.read')
->label('sdk.auth', [APP_AUTH_TYPE_ADMIN, APP_AUTH_TYPE_KEY])
->label('sdk.namespace', 'messaging')
->label('sdk.method', 'getMessage')
->label('sdk.description', '/docs/references/messaging/get-message.md')
->label('sdk.response.code', Response::STATUS_CODE_OK)
->label('sdk.response.type', Response::CONTENT_TYPE_JSON)
->label('sdk.response.model', Response::MODEL_MESSAGE)
->param('id', '', new UID(), 'Message ID.')
->inject('dbForProject')
->inject('response')
->action(function (string $id, Database $dbForProject, Response $response) {
$message = $dbForProject->getDocument('message', $id);
if ($message->isEmpty()) {
throw new Exception(Exception::MESSAGE_NOT_FOUND);
}
$response->dynamic($message, Response::MODEL_MESSAGE);
});
App::post('/v1/messaging/messages/email')
->desc('Send an email.')
->groups(['api', 'messaging'])

View file

@ -230,6 +230,9 @@ class Exception extends \Exception
public const PROVIDER_ALREADY_EXISTS = 'provider_already_exists';
public const PROVIDER_INCORRECT_TYPE = 'provider_incorrect_type';
/** Message */
public const MESSAGE_NOT_FOUND = 'message_not_found';
protected $type = '';
protected $errors = [];