userService.ts 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. import { apiClient } from './apiClient';
  2. export const userService = {
  3. async changePassword(currentPassword: string, newPassword: string): Promise<{ message: string }> {
  4. const { data } = await apiClient.put('/users/password', {
  5. currentPassword,
  6. newPassword,
  7. });
  8. return data;
  9. },
  10. async getUsers(): Promise<any[]> {
  11. const { data } = await apiClient.get('/users');
  12. return data;
  13. },
  14. async updateUser(userId: string, isAdmin: boolean): Promise<{ message: string }> {
  15. const { data } = await apiClient.put(`/users/${userId}`, {
  16. isAdmin,
  17. });
  18. return data;
  19. },
  20. async updateUserInfo(userId: string, userData: { isAdmin?: boolean; password?: string }): Promise<{ message: string }> {
  21. const { data } = await apiClient.put(`/users/${userId}`, userData);
  22. return data;
  23. },
  24. async deleteUser(userId: string): Promise<{ message: string }> {
  25. const { data } = await apiClient.delete(`/users/${userId}`);
  26. return data;
  27. },
  28. async createUser(username: string, password: string, isAdmin: boolean = false): Promise<{ message: string }> {
  29. const { data } = await apiClient.post('/users', {
  30. username,
  31. password,
  32. isAdmin,
  33. });
  34. return data;
  35. },
  36. };