partnerAgreement.js 5.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169
  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 ({ type } = {}) => {
  85. const params = {};
  86. if (type) params.type = type;
  87. const { data } = await api.get("/associado/partner-agreement", { params });
  88. return data.payload;
  89. };
  90. export const getConvenio = async (id) => {
  91. const { data } = await api.get(`/associado/partner-agreement/${id}`);
  92. return data.payload;
  93. };
  94. export const getConvenioDados = async (id) => {
  95. const { data } = await api.get(`/associado/partner-agreement/${id}/dados`);
  96. return data.payload;
  97. };
  98. // ─── Rotas do Parceiro (my) ───────────────────────────────────────────────────
  99. export const getMyPartnerAgreement = async () => {
  100. const { data } = await api.get("/partner-agreement/my");
  101. return data.payload;
  102. };
  103. export const updateMyPartnerAgreement = async (payload) => {
  104. const { data } = await api.put("/partner-agreement/my", payload);
  105. return data.payload;
  106. };
  107. export const uploadMyPartnerLogo = async (file) => {
  108. const form = new FormData();
  109. form.append("logo", file);
  110. const { data } = await api.post("/partner-agreement/my/logo", form, {
  111. headers: { "Content-Type": "multipart/form-data" },
  112. });
  113. return data.payload;
  114. };
  115. export const uploadMyPartnerMedia = async (file) => {
  116. const form = new FormData();
  117. form.append("file", file);
  118. const { data } = await api.post("/partner-agreement/my/media", form, {
  119. headers: { "Content-Type": "multipart/form-data" },
  120. });
  121. return data.payload;
  122. };
  123. export const deleteMyPartnerMedia = async (mediaId) => {
  124. await api.delete(`/partner-agreement/my/media/${mediaId}`);
  125. };
  126. export const importParceiros = async (file) => {
  127. const form = new FormData();
  128. form.append("file", file);
  129. const { data } = await api.post("/partner-agreement/import/parceiros", form, {
  130. headers: { "Content-Type": "multipart/form-data" },
  131. });
  132. return data.payload;
  133. };
  134. export const importConveniosMedicos = async (file) => {
  135. const form = new FormData();
  136. form.append("file", file);
  137. const { data } = await api.post("/partner-agreement/import/convenios-medicos", form, {
  138. headers: { "Content-Type": "multipart/form-data" },
  139. });
  140. return data.payload;
  141. };