From bf0843a9fa1e009f3f83f6176431f5657ea048ba Mon Sep 17 00:00:00 2001 From: Guillaume Heurtier <guillaume.heurtier@maarch.org> Date: Tue, 11 Feb 2020 16:05:56 +0100 Subject: [PATCH] FEAT #12072 TIME 0:05 added get email signature by id --- rest/index.php | 1 + src/app/user/controllers/UserController.php | 24 ++++++++++++++++++++- 2 files changed, 24 insertions(+), 1 deletion(-) diff --git a/rest/index.php b/rest/index.php index f2adb8dfa11..5dc72097502 100755 --- a/rest/index.php +++ b/rest/index.php @@ -517,6 +517,7 @@ $app->delete('/currentUser/emailSignature/{id}', \User\controllers\UserControlle $app->put('/currentUser/groups/{groupId}/baskets/{basketId}', \User\controllers\UserController::class . ':updateCurrentUserBasketPreferences'); $app->get('/currentUser/templates', \User\controllers\UserController::class . ':getTemplates'); $app->get('/currentUser/emailSignatures', \User\controllers\UserController::class . ':getCurrentUserSignatures'); +$app->get('/currentUser/emailSignatures/{id}', \User\controllers\UserController::class . ':getCurrentUserSignatureContentById'); //Notifications $app->get('/notifications', \Notification\controllers\NotificationController::class . ':get'); diff --git a/src/app/user/controllers/UserController.php b/src/app/user/controllers/UserController.php index a0e13f7605d..0ab2f1b0d07 100755 --- a/src/app/user/controllers/UserController.php +++ b/src/app/user/controllers/UserController.php @@ -1720,11 +1720,33 @@ class UserController foreach ($signatureModels as $signature) { $signatures[] = [ - 'label' => $signature['title'], + 'id' => $signature['id'], + 'label' => $signature['title'], 'content' => $signature['html_body'] ]; } return $response->withJson(['emailSignatures' => $signatures]); } + + public static function getCurrentUserSignatureContentById(Request $request, Response $response, array $args) + { + if (!Validator::intVal()->validate($args['id'])) { + return $response->withStatus(400)->withJson(['errors' => 'Body param id is missing']); + } + + $signatureModels = UserModel::getEmailSignatureWithSignatureIdById(['userId' => $GLOBALS['userId'], 'signatureId' => $args['id']]); + + if (empty($signatureModels)) { + return $response->withStatus(404)->withJson(['errors' => 'Signature not found']); + } + + $signature = [ + 'id' => $signatureModels['id'], + 'label' => $signatureModels['title'], + 'content' => $signatureModels['html_body'] + ]; + + return $response->withJson(['emailSignature' => $signature]); + } } -- GitLab