deal/src/shared/api/deals.js

69 lines
2.1 KiB
JavaScript
Raw Normal View History

2025-11-30 18:10:54 +01:00
// import { laravelApi } from '@/shared/api.js';
//
// export const fetchDeal = (dealId) => {
// return laravelApi.get(`/deals/${dealId}`);
// };
//
// export const createDeal = (dealData) => {
// return laravelApi.post('/deals', dealData);
// };
//
// export const uploadDealDocument = (formData) => {
// return laravelApi.post('/deals/documents', formData, {
// headers: { 'Content-Type': 'multipart/form-data' }
// });
// };
import laravelApi from '@/services/laravelApiService';
/**
* Сервис для работы с документами сделок
*/
export const dealsApi = {
/**
* Загружает документ
* @param {FormData} formData - Данные документа (name, file, target_id, target_type)
* @returns {Promise} - Ответ сервера
*/
uploadDocument(formData) {
2025-12-03 19:26:17 +01:00
console.log('[dealsApi] uploadDocument вызван с FormData:', formData);
2025-11-30 18:10:54 +01:00
return laravelApi.fetchData('/documents', {
method: 'POST',
data: formData,
2025-12-03 19:26:17 +01:00
// headers: {
// 'Content-Type': 'multipart/form-data', // Важно для FormData!
// },
2025-11-30 18:10:54 +01:00
});
},
/**
* Получает список документов сделки
* @param {number} dealId - ID сделки
* @returns {Promise} - Ответ сервера
*/
getDealDocuments(dealId) {
return laravelApi.fetchData('/documents', {
method: 'GET',
params: {
target_id: dealId,
target_type: 10, // Пример типа (уточните актуальное значение)
},
});
},
/**
* Удаляет документ
* @param {number} documentId - ID документа
* @returns {Promise} - Ответ сервера
*/
deleteDocument(documentId) {
return laravelApi.fetchData(`/documents/${documentId}`, {
method: 'DELETE',
});
},
// Другие методы API для сделок...
// getDeal, updateDeal, createDealTask и т.д.
};