partnerAgreement.js 5.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167
  1. import api from "src/api";
  2. export const getPartnerAgreements = async ({ type } = {}) => {
  3. const params = {};
  4. if (type) params.type = type;
  5. const { data } = await api.get("/associado-partner-agreement", { params });
  6. return data.payload;
  7. };
  8. export const getPartnerAgreementsPaginated = async ({ page = 1, perPage = 10, filter, status, expiresInDays, createdMonth, type, withStatusOptions } = {}) => {
  9. const params = { page, per_page: perPage };
  10. if (filter) params.search = filter;
  11. if (status) params.status = status;
  12. if (expiresInDays) params.expires_in_days = expiresInDays;
  13. if (createdMonth) params.created_month = createdMonth;
  14. if (type) params.type = type;
  15. if (withStatusOptions) params.with_status_options = true;
  16. const { data } = await api.get("/partner-agreement/paginated", { params });
  17. return { data: { result: data.payload } };
  18. };
  19. export const getExpiringPartnerAgreementsPaginated = async ({ page = 1, perPage = 10, days = 30 } = {}) => {
  20. const { data } = await api.get("/partner-agreement/expiring", { params: { page, per_page: perPage, days } });
  21. return { data: { result: data.payload } };
  22. };
  23. export const getPartnerAgreement = async (id) => {
  24. const { data } = await api.get(`/partner-agreement/${id}`);
  25. return data.payload;
  26. };
  27. export const getPartnerAgreementDados = async (id) => {
  28. const { data } = await api.get(`/partner-agreement/${id}/dados`);
  29. return data.payload;
  30. };
  31. export const getPartnerAgreementContato = async (id) => {
  32. const { data } = await api.get(`/partner-agreement/${id}/contato`);
  33. return data.payload;
  34. };
  35. export const getPartnerAgreementEndereco = async (id) => {
  36. const { data } = await api.get(`/partner-agreement/${id}/endereco`);
  37. return data.payload;
  38. };
  39. export const getPartnerAgreementContrato = async (id) => {
  40. const { data } = await api.get(`/partner-agreement/${id}/contrato`);
  41. return data.payload;
  42. };
  43. export const createPartnerAgreement = async (payload) => {
  44. const { data } = await api.post("/partner-agreement", payload);
  45. return data.payload;
  46. };
  47. export const updatePartnerAgreement = async (id, payload) => {
  48. const { data } = await api.put(`/partner-agreement/${id}`, payload);
  49. return data.payload;
  50. };
  51. export const deletePartnerAgreement = async (id) => {
  52. await api.delete(`/partner-agreement/${id}`);
  53. };
  54. export const getTrashedPartnerAgreements = async ({ type } = {}) => {
  55. const { data } = await api.get("/partner-agreement/trashed", {
  56. params: type ? { type } : {},
  57. });
  58. return data.payload;
  59. };
  60. export const restorePartnerAgreement = async (id) => {
  61. const { data } = await api.put(`/partner-agreement/${id}/restore`);
  62. return data.payload;
  63. };
  64. export const uploadPartnerLogo = async (id, file) => {
  65. const form = new FormData();
  66. form.append("logo", file);
  67. const { data } = await api.post(`/partner-agreement/${id}/logo`, form, {
  68. headers: { "Content-Type": "multipart/form-data" },
  69. });
  70. return data.payload;
  71. };
  72. export const uploadPartnerMedia = async (id, file) => {
  73. const form = new FormData();
  74. form.append("file", file);
  75. const { data } = await api.post(`/partner-agreement/${id}/media`, form, {
  76. headers: { "Content-Type": "multipart/form-data" },
  77. });
  78. return data.payload;
  79. };
  80. export const deletePartnerMedia = async (id, mediaId) => {
  81. await api.delete(`/partner-agreement/${id}/media/${mediaId}`);
  82. };
  83. // ─── Rotas do Associado ───────────────────────────────────────────────────────
  84. export const getConvenios = async () => {
  85. const { data } = await api.get("/associado/partner-agreement");
  86. return data.payload;
  87. };
  88. export const getConvenio = async (id) => {
  89. const { data } = await api.get(`/associado/partner-agreement/${id}`);
  90. return data.payload;
  91. };
  92. export const getConvenioDados = async (id) => {
  93. const { data } = await api.get(`/associado/partner-agreement/${id}/dados`);
  94. return data.payload;
  95. };
  96. // ─── Rotas do Parceiro (my) ───────────────────────────────────────────────────
  97. export const getMyPartnerAgreement = async () => {
  98. const { data } = await api.get("/partner-agreement/my");
  99. return data.payload;
  100. };
  101. export const updateMyPartnerAgreement = async (payload) => {
  102. const { data } = await api.put("/partner-agreement/my", payload);
  103. return data.payload;
  104. };
  105. export const uploadMyPartnerLogo = async (file) => {
  106. const form = new FormData();
  107. form.append("logo", file);
  108. const { data } = await api.post("/partner-agreement/my/logo", form, {
  109. headers: { "Content-Type": "multipart/form-data" },
  110. });
  111. return data.payload;
  112. };
  113. export const uploadMyPartnerMedia = async (file) => {
  114. const form = new FormData();
  115. form.append("file", file);
  116. const { data } = await api.post("/partner-agreement/my/media", form, {
  117. headers: { "Content-Type": "multipart/form-data" },
  118. });
  119. return data.payload;
  120. };
  121. export const deleteMyPartnerMedia = async (mediaId) => {
  122. await api.delete(`/partner-agreement/my/media/${mediaId}`);
  123. };
  124. export const importParceiros = async (file) => {
  125. const form = new FormData();
  126. form.append("file", file);
  127. const { data } = await api.post("/partner-agreement/import/parceiros", form, {
  128. headers: { "Content-Type": "multipart/form-data" },
  129. });
  130. return data.payload;
  131. };
  132. export const importConveniosMedicos = async (file) => {
  133. const form = new FormData();
  134. form.append("file", file);
  135. const { data } = await api.post("/partner-agreement/import/convenios-medicos", form, {
  136. headers: { "Content-Type": "multipart/form-data" },
  137. });
  138. return data.payload;
  139. };