import type { AreaListResponse, CategoryListResponse, CreateAreaRequest, CreateCategoryRequest, CreateTeamRequest, ModerationListResponse, OkResponse, OverviewStatsResponse, TeamListResponse, UpdateModerationRequest, UpdateUserBanRequest, UpdateUserRolesRequest, UserListResponse } from "~/types/api"; export const useAdmin = () => { const getOverviewStats = () => useApiFetch('/api/v1/admin/stats/overview', { method: 'GET' }) const getUsers = () => useApiFetch('/api/v1/admin/users', { method: 'GET' }) const updateUserBan = (id: number, body: UpdateUserBanRequest) => useApiFetch(`/api/v1/admin/users/${id}/ban`, { method: 'PATCH', body }) const updateUserRoles = (id: number, body: UpdateUserRolesRequest) => useApiFetch(`/api/v1/admin/users/${id}/roles`, { method: 'PATCH', body }) const getAreas = () => useApiFetch('/api/v1/areas', { method: 'GET' }) const createArea = (body: CreateAreaRequest) => useApiFetch('/api/v1/admin/areas', { method: 'POST', body }) const getCategories = () => useApiFetch('/api/v1/admin/categories', { method: 'GET' }) const createCategory = (body: CreateCategoryRequest) => useApiFetch('/api/v1/admin/categories', { method: 'POST', body }) const getTeams = () => useApiFetch('/api/v1/admin/teams', { method: 'GET' }) const createTeam = (body: CreateTeamRequest) => useApiFetch('/api/v1/admin/teams', { method: 'POST', body }) const getModerationFlags = (query?: { status?: string; page?: number; per_page?: number }) => useApiFetch('/api/v1/admin/moderation', { method: 'GET', query }) const updateModerationFlag = (id: number, body: UpdateModerationRequest) => useApiFetch(`/api/v1/admin/moderation/${id}`, { method: 'PATCH', body }) return { getOverviewStats, getUsers, updateUserBan, updateUserRoles, getAreas, createArea, getCategories, createCategory, getTeams, createTeam, getModerationFlags, updateModerationFlag, } }