47 lines
1.2 KiB
JavaScript
47 lines
1.2 KiB
JavaScript
import api from './client';
|
|
|
|
export const ProjectsApi = {
|
|
list: (params) => {
|
|
return api.get(`/projects`, { params }).then((r) => r.data);
|
|
},
|
|
listWithReports: (params) => {
|
|
return api.get('/projects/with-reports', { params }).then((r) => r.data);
|
|
},
|
|
|
|
get: (id) => {
|
|
return api.get(`/projects/${id}`).then((r) => r.data);
|
|
},
|
|
|
|
create: (data) => {
|
|
return api.post('/projects', data).then((r) => r.data);
|
|
},
|
|
|
|
update: (id, data) => {
|
|
return api.patch(`/project/${id}`, data).then((r) => r.data);
|
|
},
|
|
|
|
updateSmeta: (projectId, year, data) => {
|
|
return api.patch(`/projects/${projectId}/smeta/${year}`, data).then((r) => r.data);
|
|
},
|
|
|
|
addYear: (projectId, year) => {
|
|
return api.post(`/projects/${projectId}/year`, { year }).then((r) => r.data);
|
|
},
|
|
|
|
delete: (id) => {
|
|
return api.delete(`/projects/${id}`).then((r) => r.data);
|
|
},
|
|
|
|
getTableData: (id, sheetName, year) => {
|
|
return api.get(`/projects/${id}/report/${year}/${sheetName}`).then((r) => r.data);
|
|
},
|
|
getSummary: (id) => {
|
|
return api.get(`/projects/${id}/summary`).then((r) => r.data);
|
|
},
|
|
export: (id, year, sheetName) => {
|
|
return api.get(`/export/project/${id}/report/${year}/${sheetName}`, {
|
|
responseType: 'blob',
|
|
});
|
|
},
|
|
};
|