import { adminRequest } from "@/lib/admin-http"; import type { AdminPlayerListData, AdminPlayerRow, AdminPlayerCreatePayload, AdminPlayerUpdatePayload, AdminPlayerDeleteResult, } from "@/types/api/admin-player"; const A = `/admin`; export async function getAdminPlayers(params?: { page?: number; per_page?: number; keyword?: string; status?: number; site_code?: string; agent_node_id?: number; agent_scope?: "subtree" | "direct"; }): Promise { return adminRequest.get(`${A}/players`, { params }); } export async function getAdminPlayer(playerId: number): Promise { return adminRequest.get(`${A}/players/${playerId}`); } export async function postAdminPlayer(body: AdminPlayerCreatePayload): Promise { return adminRequest.post(`${A}/players`, body); } export async function putAdminPlayer( playerId: number, body: AdminPlayerUpdatePayload, ): Promise { return adminRequest.put(`${A}/players/${playerId}`, body); } export async function putAdminPlayerPassword( playerId: number, body: { password: string; password_confirmation: string }, ): Promise<{ password_reset: boolean; player_id: number }> { return adminRequest.put<{ password_reset: boolean; player_id: number }>( `${A}/players/${playerId}/password`, body, ); } export async function deleteAdminPlayer(playerId: number): Promise { return adminRequest.delete(`${A}/players/${playerId}`); } export async function postAdminPlayerFreeze(playerId: number): Promise { return adminRequest.post(`${A}/players/${playerId}/freeze`); } export async function postAdminPlayerUnfreeze(playerId: number): Promise { return adminRequest.post(`${A}/players/${playerId}/unfreeze`); }