15 lines
850 B
TypeScript
15 lines
850 B
TypeScript
import api from './client';
|
|
import type { MessageResponse, PermissionsListResult, UserInfo } from './types';
|
|
|
|
export const userApi = {
|
|
list: () => api.get<UserInfo[], UserInfo[]>('/users'),
|
|
create: (data: { username: string; password: string; role: string; remark?: string }) =>
|
|
api.post<UserInfo, UserInfo>('/users', data),
|
|
update: (id: number, data: { password?: string; role?: string; is_active?: boolean; remark?: string; custom_permissions?: string[] | null }) =>
|
|
api.put<UserInfo, UserInfo>(`/users/${id}`, data),
|
|
rename: (id: number, username: string) =>
|
|
api.patch<UserInfo, UserInfo>(`/users/${id}/username`, { username }),
|
|
delete: (id: number) => api.delete<MessageResponse, MessageResponse>(`/users/${id}`),
|
|
listPermissions: () => api.get<PermissionsListResult, PermissionsListResult>('/users/permissions/list'),
|
|
};
|