Refactor employee management
This commit is contained in:
+20
-18
@@ -445,6 +445,13 @@ export const aftersalesApi = {
|
||||
};
|
||||
|
||||
export const usersApi = {
|
||||
assignable: async () => {
|
||||
const response = await apiClient.get('/users/assignable');
|
||||
return (response.data?.data || []) as User[];
|
||||
},
|
||||
};
|
||||
|
||||
export const employeesApi = {
|
||||
list: async (filter?: UserListFilter) => {
|
||||
const params = new URLSearchParams();
|
||||
if (filter?.page && filter.page > 1) params.append('page', String(filter.page));
|
||||
@@ -452,29 +459,29 @@ export const usersApi = {
|
||||
if (filter?.role) params.append('role', filter.role);
|
||||
if (filter?.search) params.append('search', filter.search);
|
||||
|
||||
const url = params.toString() ? `/users?${params.toString()}` : '/users';
|
||||
const url = params.toString() ? `/employees?${params.toString()}` : '/employees';
|
||||
const response = await apiClient.get(url);
|
||||
return response.data as UserListResponse;
|
||||
},
|
||||
|
||||
create: async (data: CreateUserRequest) => {
|
||||
const response = await apiClient.post('/users', data);
|
||||
if (response.data.user) {
|
||||
return response.data.user as User;
|
||||
const response = await apiClient.post('/employees', data);
|
||||
if (response.data.employee) {
|
||||
return response.data.employee as User;
|
||||
}
|
||||
throw new Error(response.data.error || '创建用户失败');
|
||||
throw new Error(response.data.error || '创建员工失败');
|
||||
},
|
||||
|
||||
update: async (id: number, data: UpdateUserRequest) => {
|
||||
const response = await apiClient.patch(`/users/${id}`, data);
|
||||
if (response.data.user) {
|
||||
return response.data.user as User;
|
||||
const response = await apiClient.patch(`/employees/${id}`, data);
|
||||
if (response.data.employee) {
|
||||
return response.data.employee as User;
|
||||
}
|
||||
throw new Error(response.data.error || '更新用户失败');
|
||||
throw new Error(response.data.error || '更新员工失败');
|
||||
},
|
||||
|
||||
resetPassword: async (id: number, newPassword: string) => {
|
||||
const response = await apiClient.post(`/users/${id}/reset-password`, { newPassword });
|
||||
const response = await apiClient.post(`/employees/${id}/reset-password`, { newPassword });
|
||||
if (response.data.message) {
|
||||
return true;
|
||||
}
|
||||
@@ -482,15 +489,10 @@ export const usersApi = {
|
||||
},
|
||||
|
||||
delete: async (id: number) => {
|
||||
const response = await apiClient.delete(`/users/${id}`);
|
||||
const response = await apiClient.delete(`/employees/${id}`);
|
||||
if (response.data.message) {
|
||||
return true;
|
||||
}
|
||||
throw new Error(response.data.error || '删除用户失败');
|
||||
throw new Error(response.data.error || '删除员工失败');
|
||||
},
|
||||
|
||||
assignable: async () => {
|
||||
const response = await apiClient.get('/users/assignable');
|
||||
return (response.data?.data || []) as User[];
|
||||
},
|
||||
};
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user