#pragma once #include "common/Auth.h" #include #include #include namespace visione::services { class UserService { public: Json::Value listNotifications(const auth::UserContext &user, const std::optional &page, const std::optional &perPage); Json::Value markNotificationRead(const auth::UserContext &user, long long notificationId); Json::Value rewards(const auth::UserContext &user, const std::optional &page, const std::optional &perPage); static void createNotification(long long userId, const std::string &type, const std::string &title, const std::string &body, std::optional reportId); static void awardReportOwner(long long reportId, const std::string &reason, int points); }; } // namespace visione::services