partnerAgreement.js 5.3 KB

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