mirror of
https://github.com/Rain-kl/OpenFlare.git
synced 2026-09-29 22:06:38 +08:00
beae8d2dd9
Move route-specific admin components from components/common/admin into app/(main)/admin/<feature>/components/. Split AdminService god object into domain services, fix UploadService to use BaseService, add AdminUploadService, consolidate DB export into DbManageService, and migrate consumers to the unified services entry.
32 lines
985 B
TypeScript
32 lines
985 B
TypeScript
import {BaseService} from '@/lib/services/core';
|
|
import type {
|
|
AdminUser,
|
|
CreateUserRequest,
|
|
ListUsersRequest,
|
|
ListUsersResponse,
|
|
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}`);
|
|
}
|
|
} |