1
0
Fork 0
mirror of synced 2024-10-05 12:43:13 +13:00

WIP: Send email to all members of the org

This commit is contained in:
Khushboo Verma 2024-01-16 17:20:53 +05:30
parent 84c57e29c6
commit 5b96957955

View file

@ -9,7 +9,6 @@ use Exception;
use Utopia\App;
use Utopia\Database\Document;
use Utopia\Database\Database;
use Utopia\Locale\Locale;
use Utopia\Logger\Log;
use Utopia\Platform\Action;
use Utopia\Queue\Message;
@ -160,6 +159,17 @@ class Webhooks extends Action
if ($attempts >= self::MAX_FAILED_ATTEMPTS) {
$webhook->setAttribute('enabled', false);
$teamId = $project->getAttribute('teamId');
// Find all 'userId' for this teamId from memberships collection by using query in find method
$users = $dbForConsole->find('users');
$userDetails = array_map(function ($user) {
return [
'name' => $user->getAttribute('name'),
'email' => $user->getAttribute('email')
];
}, $users);
$protocol = App::getEnv('_APP_OPTIONS_FORCE_HTTPS') == 'disabled' ? 'http' : 'https';
$hostname = App::getEnv('_APP_DOMAIN');
$projectId = $project->getId();
@ -168,7 +178,7 @@ class Webhooks extends Action
$template = __DIR__ . '/../../../../app/config/locale/templates/email-webhook.phtml';
$template = new View($template);
$template->setParam('user', $user->getAttribute('name'));
// $template->setParam('user', $user->getAttribute('name'));
$template->setParam('webhook', $webhook->getAttribute('name'));
$template->setParam('project', $project->getAttribute('name'));
$template->setParam('url', $webhook->getAttribute('url'));
@ -186,10 +196,14 @@ class Webhooks extends Action
$queueForMails
->setSubject($subject)
->setBody($body->render())
->setRecipient($user->getAttribute('email'))
->setBody($body->render());
foreach ($userEmails as $userEmail) {
$queueForMails
->setRecipient($userEmail)
->trigger();
}
}
$dbForConsole->updateDocument('webhooks', $webhook->getId(), $webhook);
$dbForConsole->deleteCachedDocument('projects', $project->getId());