mirror of
https://github.com/Rain-kl/OpenFlare.git
synced 2026-09-29 22:06:38 +08:00
49 lines
1.2 KiB
TypeScript
49 lines
1.2 KiB
TypeScript
import { BaseService } from '@/lib/services/core';
|
|
import type {
|
|
AdminUser,
|
|
CreateUserRequest,
|
|
ListUsersRequest,
|
|
ListUsersResponse,
|
|
UpdateUserStatusRequest,
|
|
UpdateUserRequest,
|
|
} 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);
|
|
}
|
|
}
|