review changes

This commit is contained in:
prateek banga
2023-10-26 13:46:45 +05:30
parent 34c96e4672
commit c2cd544948
4 changed files with 50 additions and 86 deletions
+5 -2
View File
@@ -267,10 +267,13 @@ return [
'$resource' => true,
'$description' => 'This event triggers on any topic event.',
'create' => [
'$description' => 'This event triggers when a provider is created.',
'$description' => 'This event triggers when a topic is created.',
],
'update' => [
'$description' => 'This event triggers when a topic is updated.',
],
'delete' => [
'$description' => 'This event triggers when a provider is deleted.'
'$description' => 'This event triggers when a topic is deleted.'
],
'subscribers' => [
'$model' => Response::MODEL_SUBSCRIBER,
+43 -48
View File
@@ -31,7 +31,7 @@ App::post('/v1/messaging/providers/mailgun')
->desc('Create Mailgun provider')
->groups(['api', 'messaging'])
->label('audits.event', 'provider.create')
->label('audits.resource', 'providers/{response.$id}')
->label('audits.resource', 'provider/{response.$id}')
->label('scope', 'providers.write')
->label('sdk.auth', [APP_AUTH_TYPE_ADMIN, APP_AUTH_TYPE_KEY])
->label('sdk.namespace', 'messaging')
@@ -94,7 +94,7 @@ App::post('/v1/messaging/providers/sendgrid')
->desc('Create Sendgrid provider')
->groups(['api', 'messaging'])
->label('audits.event', 'provider.create')
->label('audits.resource', 'providers/{response.$id}')
->label('audits.resource', 'provider/{response.$id}')
->label('scope', 'providers.write')
->label('sdk.auth', [APP_AUTH_TYPE_ADMIN, APP_AUTH_TYPE_KEY])
->label('sdk.namespace', 'messaging')
@@ -152,7 +152,7 @@ App::post('/v1/messaging/providers/msg91')
->desc('Create Msg91 provider')
->groups(['api', 'messaging'])
->label('audits.event', 'provider.create')
->label('audits.resource', 'providers/{response.$id}')
->label('audits.resource', 'provider/{response.$id}')
->label('scope', 'providers.write')
->label('sdk.auth', [APP_AUTH_TYPE_ADMIN, APP_AUTH_TYPE_KEY])
->label('sdk.namespace', 'messaging')
@@ -212,7 +212,7 @@ App::post('/v1/messaging/providers/telesign')
->desc('Create Telesign provider')
->groups(['api', 'messaging'])
->label('audits.event', 'provider.create')
->label('audits.resource', 'providers/{response.$id}')
->label('audits.resource', 'provider/{response.$id}')
->label('scope', 'providers.write')
->label('sdk.auth', [APP_AUTH_TYPE_ADMIN, APP_AUTH_TYPE_KEY])
->label('sdk.namespace', 'messaging')
@@ -272,7 +272,7 @@ App::post('/v1/messaging/providers/textmagic')
->desc('Create TextMagic provider')
->groups(['api', 'messaging'])
->label('audits.event', 'provider.create')
->label('audits.resource', 'providers/{response.$id}')
->label('audits.resource', 'provider/{response.$id}')
->label('scope', 'providers.write')
->label('sdk.auth', [APP_AUTH_TYPE_ADMIN, APP_AUTH_TYPE_KEY])
->label('sdk.namespace', 'messaging')
@@ -332,7 +332,7 @@ App::post('/v1/messaging/providers/twilio')
->desc('Create Twilio provider')
->groups(['api', 'messaging'])
->label('audits.event', 'provider.create')
->label('audits.resource', 'providers/{response.$id}')
->label('audits.resource', 'provider/{response.$id}')
->label('scope', 'providers.write')
->label('sdk.auth', [APP_AUTH_TYPE_ADMIN, APP_AUTH_TYPE_KEY])
->label('sdk.namespace', 'messaging')
@@ -392,7 +392,7 @@ App::post('/v1/messaging/providers/vonage')
->desc('Create Vonage provider')
->groups(['api', 'messaging'])
->label('audits.event', 'provider.create')
->label('audits.resource', 'providers/{response.$id}')
->label('audits.resource', 'provider/{response.$id}')
->label('scope', 'providers.write')
->label('sdk.auth', [APP_AUTH_TYPE_ADMIN, APP_AUTH_TYPE_KEY])
->label('sdk.namespace', 'messaging')
@@ -452,7 +452,7 @@ App::post('/v1/messaging/providers/fcm')
->desc('Create FCM provider')
->groups(['api', 'messaging'])
->label('audits.event', 'provider.create')
->label('audits.resource', 'providers/{response.$id}')
->label('audits.resource', 'provider/{response.$id}')
->label('scope', 'providers.write')
->label('sdk.auth', [APP_AUTH_TYPE_ADMIN, APP_AUTH_TYPE_KEY])
->label('sdk.namespace', 'messaging')
@@ -506,7 +506,7 @@ App::post('/v1/messaging/providers/apns')
->desc('Create APNS provider')
->groups(['api', 'messaging'])
->label('audits.event', 'provider.create')
->label('audits.resource', 'providers/{response.$id}')
->label('audits.resource', 'provider/{response.$id}')
->label('scope', 'providers.write')
->label('sdk.auth', [APP_AUTH_TYPE_ADMIN, APP_AUTH_TYPE_KEY])
->label('sdk.namespace', 'messaging')
@@ -635,7 +635,7 @@ App::patch('/v1/messaging/providers/mailgun/:providerId')
->desc('Update Mailgun provider')
->groups(['api', 'messaging'])
->label('audits.event', 'provider.update')
->label('audits.resource', 'providers/{response.$id}')
->label('audits.resource', 'provider/{response.$id}')
->label('scope', 'providers.write')
->label('sdk.auth', [APP_AUTH_TYPE_ADMIN, APP_AUTH_TYPE_KEY])
->label('sdk.namespace', 'messaging')
@@ -706,7 +706,7 @@ App::patch('/v1/messaging/providers/sendgrid/:providerId')
->desc('Update Sendgrid provider')
->groups(['api', 'messaging'])
->label('audits.event', 'provider.update')
->label('audits.resource', 'providers/{response.$id}')
->label('audits.resource', 'provider/{response.$id}')
->label('scope', 'providers.write')
->label('sdk.auth', [APP_AUTH_TYPE_ADMIN, APP_AUTH_TYPE_KEY])
->label('sdk.namespace', 'messaging')
@@ -765,7 +765,7 @@ App::patch('/v1/messaging/providers/msg91/:providerId')
->desc('Update Msg91 provider')
->groups(['api', 'messaging'])
->label('audits.event', 'provider.update')
->label('audits.resource', 'providers/{response.$id}')
->label('audits.resource', 'provider/{response.$id}')
->label('scope', 'providers.write')
->label('sdk.auth', [APP_AUTH_TYPE_ADMIN, APP_AUTH_TYPE_KEY])
->label('sdk.namespace', 'messaging')
@@ -831,7 +831,7 @@ App::patch('/v1/messaging/providers/telesign/:providerId')
->desc('Update Telesign provider')
->groups(['api', 'messaging'])
->label('audits.event', 'provider.update')
->label('audits.resource', 'providers/{response.$id}')
->label('audits.resource', 'provider/{response.$id}')
->label('scope', 'providers.write')
->label('sdk.auth', [APP_AUTH_TYPE_ADMIN, APP_AUTH_TYPE_KEY])
->label('sdk.namespace', 'messaging')
@@ -897,7 +897,7 @@ App::patch('/v1/messaging/providers/textmagic/:providerId')
->desc('Update TextMagic provider')
->groups(['api', 'messaging'])
->label('audits.event', 'provider.update')
->label('audits.resource', 'providers/{response.$id}')
->label('audits.resource', 'provider/{response.$id}')
->label('scope', 'providers.write')
->label('sdk.auth', [APP_AUTH_TYPE_ADMIN, APP_AUTH_TYPE_KEY])
->label('sdk.namespace', 'messaging')
@@ -963,7 +963,7 @@ App::patch('/v1/messaging/providers/twilio/:providerId')
->desc('Update Twilio provider')
->groups(['api', 'messaging'])
->label('audits.event', 'provider.update')
->label('audits.resource', 'providers/{response.$id}')
->label('audits.resource', 'provider/{response.$id}')
->label('scope', 'providers.write')
->label('sdk.auth', [APP_AUTH_TYPE_ADMIN, APP_AUTH_TYPE_KEY])
->label('sdk.namespace', 'messaging')
@@ -1029,7 +1029,7 @@ App::patch('/v1/messaging/providers/vonage/:providerId')
->desc('Update Vonage provider')
->groups(['api', 'messaging'])
->label('audits.event', 'provider.update')
->label('audits.resource', 'providers/{response.$id}')
->label('audits.resource', 'provider/{response.$id}')
->label('scope', 'providers.write')
->label('sdk.auth', [APP_AUTH_TYPE_ADMIN, APP_AUTH_TYPE_KEY])
->label('sdk.namespace', 'messaging')
@@ -1095,7 +1095,7 @@ App::patch('/v1/messaging/providers/fcm/:providerId')
->desc('Update FCM provider')
->groups(['api', 'messaging'])
->label('audits.event', 'provider.update')
->label('audits.resource', 'providers/{response.$id}')
->label('audits.resource', 'provider/{response.$id}')
->label('scope', 'providers.write')
->label('sdk.auth', [APP_AUTH_TYPE_ADMIN, APP_AUTH_TYPE_KEY])
->label('sdk.namespace', 'messaging')
@@ -1146,7 +1146,7 @@ App::patch('/v1/messaging/providers/apns/:providerId')
->desc('Update APNS provider')
->groups(['api', 'messaging'])
->label('audits.event', 'provider.update')
->label('audits.resource', 'providers/{response.$id}')
->label('audits.resource', 'provider/{response.$id}')
->label('scope', 'providers.write')
->label('sdk.auth', [APP_AUTH_TYPE_ADMIN, APP_AUTH_TYPE_KEY])
->label('sdk.namespace', 'messaging')
@@ -1219,8 +1219,8 @@ App::patch('/v1/messaging/providers/apns/:providerId')
App::delete('/v1/messaging/providers/:providerId')
->desc('Delete provider')
->groups(['api', 'messaging'])
->label('audits.event', 'providers.delete')
->label('audits.resource', 'providers/{request.id}')
->label('audits.event', 'provider.delete')
->label('audits.resource', 'provider/{request.id}')
->label('scope', 'providers.write')
->label('sdk.auth', [APP_AUTH_TYPE_ADMIN, APP_AUTH_TYPE_KEY])
->label('sdk.namespace', 'messaging')
@@ -1230,20 +1230,15 @@ App::delete('/v1/messaging/providers/:providerId')
->label('sdk.response.type', Response::CONTENT_TYPE_JSON)
->label('sdk.response.model', Response::MODEL_NONE)
->param('providerId', '', new UID(), 'Provider ID.')
->inject('queueForDeletes')
->inject('dbForProject')
->inject('response')
->action(function (string $providerId, Delete $queueForDeletes, Database $dbForProject, Response $response) {
->action(function (string $providerId, Database $dbForProject, Response $response) {
$provider = $dbForProject->getDocument('providers', $providerId);
if ($provider->isEmpty()) {
throw new Exception(Exception::PROVIDER_NOT_FOUND);
}
$queueForDeletes
->setType(DELETE_TYPE_PROVIDER)
->setDocument($provider);
$dbForProject->deleteDocument('providers', $provider->getId());
$response
@@ -1254,8 +1249,8 @@ App::delete('/v1/messaging/providers/:providerId')
App::post('/v1/messaging/topics')
->desc('Create a topic.')
->groups(['api', 'messaging'])
->label('audits.event', 'topics.create')
->label('audits.resource', 'topics/{response.$id}')
->label('audits.event', 'topic.create')
->label('audits.resource', 'topic/{response.$id}')
->label('scope', 'topics.write')
->label('sdk.auth', [APP_AUTH_TYPE_ADMIN, APP_AUTH_TYPE_KEY])
->label('sdk.namespace', 'messaging')
@@ -1373,8 +1368,8 @@ App::get('/v1/messaging/topics/:topicId')
App::patch('/v1/messaging/topics/:topicId')
->desc('Update a topic.')
->groups(['api', 'messaging'])
->label('audits.event', 'topics.update')
->label('audits.resource', 'topics/{response.$id}')
->label('audits.event', 'topic.update')
->label('audits.resource', 'topic/{response.$id}')
->label('scope', 'topics.write')
->label('sdk.auth', [APP_AUTH_TYPE_ADMIN, APP_AUTH_TYPE_KEY])
->label('sdk.namespace', 'messaging')
@@ -1412,8 +1407,8 @@ App::patch('/v1/messaging/topics/:topicId')
App::delete('/v1/messaging/topics/:topicId')
->desc('Delete a topic.')
->groups(['api', 'messaging'])
->label('audits.event', 'topics.delete')
->label('audits.resource', 'topics/{request.topicId}')
->label('audits.event', 'topic.delete')
->label('audits.resource', 'topic/{request.topicId}')
->label('scope', 'topics.write')
->label('sdk.auth', [APP_AUTH_TYPE_ADMIN, APP_AUTH_TYPE_KEY])
->label('sdk.namespace', 'messaging')
@@ -1447,8 +1442,8 @@ App::delete('/v1/messaging/topics/:topicId')
App::post('/v1/messaging/topics/:topicId/subscribers')
->desc('Adds a subscriber to a topic.')
->groups(['api', 'messaging'])
->label('audits.event', 'subscribers.create')
->label('audits.resource', 'subscribers/{response.$id}')
->label('audits.event', 'subscriber.create')
->label('audits.resource', 'subscriber/{response.$id}')
->label('scope', 'subscribers.write')
->label('sdk.auth', [APP_AUTH_TYPE_JWT, APP_AUTH_TYPE_SESSION, APP_AUTH_TYPE_ADMIN, APP_AUTH_TYPE_KEY])
->label('sdk.namespace', 'messaging')
@@ -1584,8 +1579,8 @@ App::get('/v1/messaging/topics/:topicId/subscriber/:subscriberId')
App::delete('/v1/messaging/topics/:topicId/subscriber/:subscriberId')
->desc('Delete a subscriber from a topic.')
->groups(['api', 'messaging'])
->label('audits.event', 'subscribers.delete')
->label('audits.resource', 'subscribers/{request.subscriberId}')
->label('audits.event', 'subscriber.delete')
->label('audits.resource', 'subscriber/{request.subscriberId}')
->label('scope', 'subscribers.write')
->label('sdk.auth', [APP_AUTH_TYPE_JWT, APP_AUTH_TYPE_SESSION, APP_AUTH_TYPE_ADMIN, APP_AUTH_TYPE_KEY])
->label('sdk.namespace', 'messaging')
@@ -1622,8 +1617,8 @@ App::delete('/v1/messaging/topics/:topicId/subscriber/:subscriberId')
App::post('/v1/messaging/messages/email')
->desc('Create an email.')
->groups(['api', 'messaging'])
->label('audits.event', 'messages.create')
->label('audits.resource', 'messages/{response.$id}')
->label('audits.event', 'message.create')
->label('audits.resource', 'message/{response.$id}')
->label('scope', 'messages.write')
->label('sdk.auth', [APP_AUTH_TYPE_ADMIN, APP_AUTH_TYPE_KEY])
->label('sdk.namespace', 'messaging')
@@ -1688,8 +1683,8 @@ App::post('/v1/messaging/messages/email')
App::post('/v1/messaging/messages/sms')
->desc('Create an SMS.')
->groups(['api', 'messaging'])
->label('audits.event', 'messages.create')
->label('audits.resource', 'messages/{response.$id}')
->label('audits.event', 'message.create')
->label('audits.resource', 'message/{response.$id}')
->label('scope', 'messages.write')
->label('sdk.auth', [APP_AUTH_TYPE_ADMIN, APP_AUTH_TYPE_KEY])
->label('sdk.namespace', 'messaging')
@@ -1751,8 +1746,8 @@ App::post('/v1/messaging/messages/sms')
App::post('/v1/messaging/messages/push')
->desc('Create a push notification.')
->groups(['api', 'messaging'])
->label('audits.event', 'messages.create')
->label('audits.resource', 'messages/{response.$id}')
->label('audits.event', 'message.create')
->label('audits.resource', 'message/{response.$id}')
->label('scope', 'messages.write')
->label('sdk.auth', [APP_AUTH_TYPE_ADMIN, APP_AUTH_TYPE_KEY])
->label('sdk.namespace', 'messaging')
@@ -1920,8 +1915,8 @@ App::get('/v1/messaging/messages/:messageId')
App::patch('/v1/messaging/messages/email/:messageId')
->desc('Update an email.')
->groups(['api', 'messaging'])
->label('audits.event', 'messages.update')
->label('audits.resource', 'messages/{response.$id}')
->label('audits.event', 'message.update')
->label('audits.resource', 'message/{response.$id}')
->label('scope', 'messages.write')
->label('sdk.auth', [APP_AUTH_TYPE_ADMIN, APP_AUTH_TYPE_KEY])
->label('sdk.namespace', 'messaging')
@@ -2007,8 +2002,8 @@ App::patch('/v1/messaging/messages/email/:messageId')
App::patch('/v1/messaging/messages/sms/:messageId')
->desc('Update an SMS.')
->groups(['api', 'messaging'])
->label('audits.event', 'messages.update')
->label('audits.resource', 'messages/{response.$id}')
->label('audits.event', 'message.update')
->label('audits.resource', 'message/{response.$id}')
->label('scope', 'messages.write')
->label('sdk.auth', [APP_AUTH_TYPE_ADMIN, APP_AUTH_TYPE_KEY])
->label('sdk.namespace', 'messaging')
@@ -2084,8 +2079,8 @@ App::patch('/v1/messaging/messages/sms/:messageId')
App::patch('/v1/messaging/messages/push/:messageId')
->desc('Update a push notification.')
->groups(['api', 'messaging'])
->label('audits.event', 'messages.update')
->label('audits.resource', 'messages/{response.$id}')
->label('audits.event', 'message.update')
->label('audits.resource', 'message/{response.$id}')
->label('scope', 'messages.write')
->label('sdk.auth', [APP_AUTH_TYPE_ADMIN, APP_AUTH_TYPE_KEY])
->label('sdk.namespace', 'messaging')
+2 -2
View File
@@ -98,6 +98,7 @@ const APP_LIMIT_COMPRESSION = 20000000; //20MB
const APP_LIMIT_ARRAY_PARAMS_SIZE = 100; // Default maximum of how many elements can there be in API parameter that expects array value
const APP_LIMIT_ARRAY_ELEMENT_SIZE = 4096; // Default maximum length of element in array parameter represented by maximum URL length.
const APP_LIMIT_SUBQUERY = 1000;
const APP_LIMIT_SUBSCRIBERS_SUBQUERY = 1000000;
const APP_LIMIT_WRITE_RATE_DEFAULT = 60; // Default maximum write rate per rate period
const APP_LIMIT_WRITE_RATE_PERIOD_DEFAULT = 60; // Default maximum write rate period in seconds
const APP_LIMIT_LIST_DEFAULT = 25; // Default maximum number of items to return in list API calls
@@ -168,7 +169,6 @@ const DELETE_TYPE_SESSIONS = 'sessions';
const DELETE_TYPE_CACHE_BY_TIMESTAMP = 'cacheByTimeStamp';
const DELETE_TYPE_CACHE_BY_RESOURCE = 'cacheByResource';
const DELETE_TYPE_SCHEDULES = 'schedules';
const DELETE_TYPE_PROVIDER = 'provider';
const DELETE_TYPE_TOPIC = 'topic';
// Compression type
const COMPRESSION_TYPE_NONE = 'none';
@@ -548,7 +548,7 @@ Database::addFilter(
$database
->find('subscribers', [
Query::equal('topicInternalId', [$document->getInternalId()]),
Query::limit(1000000)
Query::limit(APP_LIMIT_SUBSCRIBERS_SUBQUERY)
])
));
if (\count($targetIds) > 0) {
-34
View File
@@ -150,9 +150,6 @@ class Deletes extends Action
case DELETE_TYPE_SCHEDULES:
$this->deleteSchedules($dbForConsole, $getProjectDB, $datetime);
break;
case DELETE_TYPE_PROVIDER:
$this->deleteProvider($project, $getProjectDB, $document);
break;
case DELETE_TYPE_TOPIC:
$this->deleteTopic($project, $getProjectDB, $document);
break;
@@ -199,37 +196,6 @@ class Deletes extends Action
);
}
/**
* @param Document $project
* @param callable $getProjectDB
* @param Document $provider
* @throws Exception
*/
protected function deleteProvider(Document $project, callable $getProjectDB, Document $provider)
{
if ($provider->isEmpty()) {
Console::error('Failed to delete topics, subscribers and messages. Provider not found');
return;
}
$dbForProject = $getProjectDB($project);
$topics = $dbForProject->find('topics', [Query::equal('providerInternalId', [$provider->getInternalId()]), Query::limit(APP_LIMIT_SUBQUERY)]);
$this->deleteByGroup('topics', [
Query::equal('providerInternalId', [$provider->getInternalId()])
], $dbForProject);
foreach ($topics as $topic) {
$this->deleteByGroup('subscribers', [
Query::equal('topicInternalId', [$topic->getInternalId()])
], $dbForProject);
}
$this->deleteByGroup('messages', [
Query::equal('providerInternalId', [$provider->getInternalId()])
], $dbForProject);
}
/**
* @param Document $project
* @param callable $getProjectDB