feat: add markAllNotificationsRead method to UserService

This commit is contained in:
gabdevele
2026-06-15 10:30:45 +02:00 Unverified
parent a784094692
commit c5fede30ad
11 changed files with 65 additions and 1478 deletions
+13
View File
@@ -79,6 +79,19 @@ void UserController::markNotificationRead(
callback(visione::http::json(std::move(body), status));
}
void UserController::markAllNotificationsRead(
const drogon::HttpRequestPtr &req,
std::function<void(const HttpResponsePtr &)> &&callback)
{
auto user = requireUser(req, callback);
if (!user || blockPasswordChangeRequired(*user, callback))
{
return;
}
visione::services::UserService service;
callback(visione::http::json(service.markAllNotificationsRead(*user)));
}
void UserController::rewards(
const drogon::HttpRequestPtr &req,
std::function<void(const HttpResponsePtr &)> &&callback)
+6
View File
@@ -12,6 +12,9 @@ class UserController : public drogon::HttpController<UserController>
ADD_METHOD_TO(UserController::markNotificationRead,
"/api/v1/notifications/{1}/read",
drogon::Patch);
ADD_METHOD_TO(UserController::markAllNotificationsRead,
"/api/v1/notifications/read-all",
drogon::Patch);
ADD_METHOD_TO(UserController::rewards, "/api/v1/me/rewards", drogon::Get);
METHOD_LIST_END
@@ -22,6 +25,9 @@ class UserController : public drogon::HttpController<UserController>
const drogon::HttpRequestPtr &req,
std::function<void(const drogon::HttpResponsePtr &)> &&callback,
long long notificationId);
void markAllNotificationsRead(
const drogon::HttpRequestPtr &req,
std::function<void(const drogon::HttpResponsePtr &)> &&callback);
void rewards(const drogon::HttpRequestPtr &req,
std::function<void(const drogon::HttpResponsePtr &)> &&callback);
};