Files

47 lines
2.1 KiB
C++

#pragma once
#include "common/Auth.h"
#include <json/json.h>
#include <optional>
#include <string>
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<std::string> &status,
const std::optional<std::string> &page,
const std::optional<std::string> &perPage);
Json::Value updateModeration(const auth::UserContext &user,
long long flagId,
const Json::Value &body);
Json::Value deleteCategory(const auth::UserContext &user, long long categoryId);
Json::Value deleteArea(const auth::UserContext &user, long long areaId);
Json::Value deleteTeam(const auth::UserContext &user, long long teamId);
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