mirror of
https://github.com/appwrite/appwrite.git
synced 2026-05-26 13:51:13 +00:00
review changes
This commit is contained in:
@@ -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,
|
||||
|
||||
@@ -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
@@ -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) {
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user