mirror of
https://github.com/plankanban/planka.git
synced 2025-07-29 18:19:46 +02:00
100 lines
2.3 KiB
JavaScript
Executable file
100 lines
2.3 KiB
JavaScript
Executable file
import http from './http';
|
|
import socket from './socket';
|
|
|
|
/* Transformers */
|
|
|
|
export const transformUser = (user) => ({
|
|
...user,
|
|
createdAt: new Date(user.createdAt),
|
|
});
|
|
|
|
/* Actions */
|
|
|
|
const getUsers = (headers) =>
|
|
socket.get('/users', undefined, headers).then((body) => ({
|
|
...body,
|
|
items: body.items.map(transformUser),
|
|
}));
|
|
|
|
const createUser = (data, headers) =>
|
|
socket.post('/users', data, headers).then((body) => ({
|
|
...body,
|
|
item: transformUser(body.item),
|
|
}));
|
|
|
|
const getUser = (id, headers) =>
|
|
socket.get(`/users/${id}`, undefined, headers).then((body) => ({
|
|
...body,
|
|
item: transformUser(body.item),
|
|
}));
|
|
|
|
const getCurrentUser = (subscribe, headers) =>
|
|
socket.get(`/users/me${subscribe ? '?subscribe=true' : ''}`, undefined, headers).then((body) => ({
|
|
...body,
|
|
item: transformUser(body.item),
|
|
}));
|
|
|
|
const updateUser = (id, data, headers) =>
|
|
socket.patch(`/users/${id}`, data, headers).then((body) => ({
|
|
...body,
|
|
item: transformUser(body.item),
|
|
}));
|
|
|
|
const updateUserEmail = (id, data, headers) =>
|
|
socket.patch(`/users/${id}/email`, data, headers).then((body) => ({
|
|
...body,
|
|
item: transformUser(body.item),
|
|
}));
|
|
|
|
const updateUserPassword = (id, data, headers) =>
|
|
socket.patch(`/users/${id}/password`, data, headers).then((body) => ({
|
|
...body,
|
|
item: transformUser(body.item),
|
|
}));
|
|
|
|
const updateUserUsername = (id, data, headers) =>
|
|
socket.patch(`/users/${id}/username`, data, headers).then((body) => ({
|
|
...body,
|
|
item: transformUser(body.item),
|
|
}));
|
|
|
|
const updateUserAvatar = (id, data, headers) =>
|
|
http.post(`/users/${id}/avatar`, data, headers).then((body) => ({
|
|
...body,
|
|
item: transformUser(body.item),
|
|
}));
|
|
|
|
const deleteUser = (id, headers) =>
|
|
socket.delete(`/users/${id}`, undefined, headers).then((body) => ({
|
|
...body,
|
|
item: transformUser(body.item),
|
|
}));
|
|
|
|
/* Event handlers */
|
|
|
|
const makeHandleUserCreate = (next) => (body) => {
|
|
next({
|
|
...body,
|
|
item: transformUser(body.item),
|
|
});
|
|
};
|
|
|
|
const makeHandleUserUpdate = makeHandleUserCreate;
|
|
|
|
const makeHandleUserDelete = makeHandleUserCreate;
|
|
|
|
export default {
|
|
getUsers,
|
|
createUser,
|
|
getUser,
|
|
getCurrentUser,
|
|
updateUser,
|
|
updateUserEmail,
|
|
updateUserPassword,
|
|
updateUserUsername,
|
|
updateUserAvatar,
|
|
deleteUser,
|
|
makeHandleUserCreate,
|
|
makeHandleUserUpdate,
|
|
makeHandleUserDelete,
|
|
};
|