2020-05-26 00:46:04 +05:00
|
|
|
import http from './http';
|
2019-08-31 04:07:25 +05:00
|
|
|
import socket from './socket';
|
2023-06-13 00:19:17 +02:00
|
|
|
import { transformUser } from './users';
|
|
|
|
import { transformProjectManager } from './project-managers';
|
|
|
|
import { transformBoardMembership } from './board-memberships';
|
2019-08-31 04:07:25 +05:00
|
|
|
|
|
|
|
/* Actions */
|
|
|
|
|
2023-06-13 00:19:17 +02:00
|
|
|
const getProjects = (headers) =>
|
|
|
|
socket.get('/projects', undefined, headers).then((body) => ({
|
|
|
|
...body,
|
|
|
|
included: {
|
|
|
|
...body.included,
|
|
|
|
users: body.included.users.map(transformUser),
|
|
|
|
projectManagers: body.included.projectManagers.map(transformProjectManager),
|
|
|
|
boardMemberships: body.included.boardMemberships.map(transformBoardMembership),
|
|
|
|
},
|
|
|
|
}));
|
|
|
|
|
|
|
|
const createProject = (data, headers) =>
|
|
|
|
socket.post('/projects', data, headers).then((body) => ({
|
|
|
|
...body,
|
|
|
|
included: {
|
|
|
|
...body.included,
|
|
|
|
projectManagers: body.included.projectManagers.map(transformProjectManager),
|
|
|
|
},
|
|
|
|
}));
|
|
|
|
|
|
|
|
const getProject = (id, headers) =>
|
|
|
|
socket.get(`/projects/${id}`, undefined, headers).then((body) => ({
|
|
|
|
...body,
|
|
|
|
included: {
|
|
|
|
...body.included,
|
|
|
|
users: body.included.users.map(transformUser),
|
|
|
|
projectManagers: body.included.projectManagers.map(transformProjectManager),
|
|
|
|
boardMemberships: body.included.boardMemberships.map(transformBoardMembership),
|
|
|
|
},
|
|
|
|
}));
|
2021-06-24 01:05:22 +05:00
|
|
|
|
2022-08-09 18:03:21 +02:00
|
|
|
const updateProject = (id, data, headers) => socket.patch(`/projects/${id}`, data, headers);
|
2019-08-31 04:07:25 +05:00
|
|
|
|
2022-08-09 18:03:21 +02:00
|
|
|
const updateProjectBackgroundImage = (id, data, headers) =>
|
|
|
|
http.post(`/projects/${id}/background-image`, data, headers);
|
2020-05-26 00:46:04 +05:00
|
|
|
|
2022-08-09 18:03:21 +02:00
|
|
|
const deleteProject = (id, headers) => socket.delete(`/projects/${id}`, undefined, headers);
|
2019-08-31 04:07:25 +05:00
|
|
|
|
|
|
|
export default {
|
|
|
|
getProjects,
|
|
|
|
createProject,
|
2021-06-24 01:05:22 +05:00
|
|
|
getProject,
|
2019-08-31 04:07:25 +05:00
|
|
|
updateProject,
|
2020-05-26 00:46:04 +05:00
|
|
|
updateProjectBackgroundImage,
|
2019-08-31 04:07:25 +05:00
|
|
|
deleteProject,
|
|
|
|
};
|