Files
2026-07-13 15:10:28 +08:00

49 lines
1.2 KiB
TypeScript

import { BaseService } from '@/lib/services/core';
import type {
AdminUser,
CreateUserRequest,
ListUsersRequest,
ListUsersResponse,
UpdateUserRequest,
UpdateUserStatusRequest,
} from './types';
export class AdminUserService extends BaseService {
protected static readonly basePath = '/api/v1/admin';
static async listUsers(
request: ListUsersRequest,
): Promise<ListUsersResponse> {
return this.get<ListUsersResponse>(
'/users',
request as unknown as Record<string, unknown>,
);
}
static async getUser(id: string): Promise<AdminUser> {
return this.get<AdminUser>(`/users/${id}`);
}
static async updateUserStatus(
id: string,
request: UpdateUserStatusRequest,
): Promise<void> {
return this.put<void>(`/users/${id}/status`, request);
}
static async createUser(request: CreateUserRequest): Promise<AdminUser> {
return this.post<AdminUser>('/users', request);
}
static async deleteUser(id: string): Promise<void> {
return this.delete<void>(`/users/${id}`);
}
static async updateUser(
id: string,
request: UpdateUserRequest,
): Promise<void> {
return this.put<void>(`/users/${id}`, request);
}
}