#pragma once #include "common/Auth.h" #include #include #include namespace visione::services { class AdminService { public: Json::Value listCategories(); Json::Value createCategory(const auth::UserContext &user, const Json::Value &body); Json::Value listAreas(); Json::Value createArea(const auth::UserContext &user, const Json::Value &body); Json::Value listTeams(); Json::Value createTeam(const auth::UserContext &user, const Json::Value &body); Json::Value overviewStats(const auth::UserContext &user); Json::Value listUsers(const auth::UserContext &user); Json::Value listModeration(const auth::UserContext &user, const std::optional &status, const std::optional &page, const std::optional &perPage); Json::Value updateModeration(const auth::UserContext &user, long long flagId, const Json::Value &body); Json::Value updateUserRoles(const auth::UserContext &user, long long targetUserId, const Json::Value &body); Json::Value updateUserBan(const auth::UserContext &user, long long targetUserId, const Json::Value &body); }; } // namespace visione::services