partnerAgreement.js 5.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171
  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. // O salvamento dos dados já notifica; o logo faz parte da mesma ação.
  70. skipSuccessNotify: true,
  71. });
  72. return data.payload;
  73. };
  74. export const uploadPartnerMedia = async (id, file) => {
  75. const form = new FormData();
  76. form.append("file", file);
  77. const { data } = await api.post(`/partner-agreement/${id}/media`, form, {
  78. headers: { "Content-Type": "multipart/form-data" },
  79. });
  80. return data.payload;
  81. };
  82. export const deletePartnerMedia = async (id, mediaId) => {
  83. await api.delete(`/partner-agreement/${id}/media/${mediaId}`);
  84. };
  85. // ─── Rotas do Associado ───────────────────────────────────────────────────────
  86. export const getConvenios = async ({ type } = {}) => {
  87. const params = {};
  88. if (type) params.type = type;
  89. const { data } = await api.get("/associado/partner-agreement", { params });
  90. return data.payload;
  91. };
  92. export const getConvenio = async (id) => {
  93. const { data } = await api.get(`/associado/partner-agreement/${id}`);
  94. return data.payload;
  95. };
  96. export const getConvenioDados = async (id) => {
  97. const { data } = await api.get(`/associado/partner-agreement/${id}/dados`);
  98. return data.payload;
  99. };
  100. // ─── Rotas do Parceiro (my) ───────────────────────────────────────────────────
  101. export const getMyPartnerAgreement = async () => {
  102. const { data } = await api.get("/partner-agreement/my");
  103. return data.payload;
  104. };
  105. export const updateMyPartnerAgreement = async (payload) => {
  106. const { data } = await api.put("/partner-agreement/my", payload);
  107. return data.payload;
  108. };
  109. export const uploadMyPartnerLogo = async (file) => {
  110. const form = new FormData();
  111. form.append("logo", file);
  112. const { data } = await api.post("/partner-agreement/my/logo", form, {
  113. headers: { "Content-Type": "multipart/form-data" },
  114. });
  115. return data.payload;
  116. };
  117. export const uploadMyPartnerMedia = async (file) => {
  118. const form = new FormData();
  119. form.append("file", file);
  120. const { data } = await api.post("/partner-agreement/my/media", form, {
  121. headers: { "Content-Type": "multipart/form-data" },
  122. });
  123. return data.payload;
  124. };
  125. export const deleteMyPartnerMedia = async (mediaId) => {
  126. await api.delete(`/partner-agreement/my/media/${mediaId}`);
  127. };
  128. export const importParceiros = async (file) => {
  129. const form = new FormData();
  130. form.append("file", file);
  131. const { data } = await api.post("/partner-agreement/import/parceiros", form, {
  132. headers: { "Content-Type": "multipart/form-data" },
  133. });
  134. return data.payload;
  135. };
  136. export const importConveniosMedicos = async (file) => {
  137. const form = new FormData();
  138. form.append("file", file);
  139. const { data } = await api.post("/partner-agreement/import/convenios-medicos", form, {
  140. headers: { "Content-Type": "multipart/form-data" },
  141. });
  142. return data.payload;
  143. };