38 lines
1.4 KiB
C++
38 lines
1.4 KiB
C++
#pragma once
|
|
|
|
#include "common/Auth.h"
|
|
|
|
#include <json/json.h>
|
|
|
|
#include <optional>
|
|
#include <string>
|
|
|
|
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<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 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
|