#pragma once #include "common/Auth.h" #include #include #include namespace visione::services { class AdminService { public: Json::Value createCategory(const auth::UserContext &user, const Json::Value &body); Json::Value createArea(const auth::UserContext &user, const Json::Value &body); 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 updateCategory(const auth::UserContext &user, long long categoryId, const Json::Value &body); Json::Value updateArea(const auth::UserContext &user, long long areaId, const Json::Value &body); Json::Value updateTeam(const auth::UserContext &user, long long teamId, 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