Files
JGE-RS-SL-WEB/frontend/src/services/adminUsersService.ts
2026-01-03 19:25:56 +08:00

55 lines
1.3 KiB
TypeScript

import api from '../utils/api';
export enum AdminRole {
SUPER_ADMIN = 'super_admin',
OPERATOR = 'operator',
VIEWER = 'viewer',
}
export interface AdminUser {
id: number;
username: string;
role: AdminRole;
createdAt: string;
updatedAt: string;
}
export interface CreateAdminUserDto {
username: string;
password: string;
role: AdminRole;
}
export interface UpdateAdminUserDto {
username?: string;
password?: string;
role?: AdminRole;
}
export const adminUsersService = {
async findAll(): Promise<AdminUser[]> {
const response = await api.get<AdminUser[]>('/admin/admin-users');
return response.data;
},
async findOne(id: number): Promise<AdminUser> {
const response = await api.get<AdminUser>(`/admin/admin-users/${id}`);
return response.data;
},
async create(data: CreateAdminUserDto): Promise<AdminUser> {
const response = await api.post<AdminUser>('/admin/admin-users', data);
return response.data;
},
async update(id: number, data: UpdateAdminUserDto): Promise<AdminUser> {
const response = await api.put<AdminUser>(`/admin/admin-users/${id}`, data);
return response.data;
},
async remove(id: number): Promise<{ message: string }> {
const response = await api.delete<{ message: string }>(`/admin/admin-users/${id}`);
return response.data;
},
};