user.js 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. import api from "src/api";
  2. export const getUser = async () => {
  3. const { data } = await api.get("/user/me");
  4. return data.payload;
  5. };
  6. export const getUsers = async () => {
  7. const { data } = await api.get("/user");
  8. return data.payload;
  9. };
  10. export const createUser = async (user) => {
  11. const { data } = await api.post("/user", user);
  12. return data.payload;
  13. };
  14. export const updateUser = async (user, id) => {
  15. const { data } = await api.put(`/user/${id}`, user);
  16. return data.payload;
  17. };
  18. export const deleteUser = async (id) => {
  19. const { data } = await api.delete(`/user/${id}`);
  20. return data.payload;
  21. };
  22. export const userTypes = async () => {
  23. const { data } = await api.get("/user-types");
  24. return data.payload;
  25. };
  26. export const sendCode = async (email, phone) => {
  27. const data = await api.post("/provider-send-code", { email, phone });
  28. return data;
  29. };
  30. export const validateCode = async (email, phone, code, isLogin = false) => {
  31. const data = await api.post("/validate-code-provider", {
  32. email,
  33. phone,
  34. code,
  35. isLogin,
  36. });
  37. return data;
  38. };
  39. const removeEmptyRegistrationFields = (data) => {
  40. if (Array.isArray(data)) {
  41. return data.map(removeEmptyRegistrationFields);
  42. }
  43. if (!data || typeof data !== "object") {
  44. return data;
  45. }
  46. return Object.entries(data).reduce((payload, [key, value]) => {
  47. if (
  48. value === undefined ||
  49. key === "no_complement" ||
  50. key.endsWith("_file")
  51. ) {
  52. return payload;
  53. }
  54. payload[key] = removeEmptyRegistrationFields(value);
  55. return payload;
  56. }, {});
  57. };
  58. export const createUserAndProvider = async (data) => {
  59. const response = await api.post(
  60. "/register-provider",
  61. removeEmptyRegistrationFields(data),
  62. );
  63. return response;
  64. };