Files
remark42/web/app/common/api.js
T
2018-05-06 14:35:32 +03:00

105 lines
2.1 KiB
JavaScript

import { siteId, url } from './settings';
import fetcher from './fetcher'
// TODO: rename actions
/* common */
export const logOut = () => fetcher.get({ url: `/auth/logout`, overriddenApiBase: '' });
export const getConfig = () => fetcher.get(`/config`);
export const find = ({ sort, url }) => fetcher.get(`/find?url=${url}&sort=${sort}&format=tree`);
export const last = ({ siteId, max }) => fetcher.get(`/last/${max}?site=${siteId}`);
export const counts = ({ urls, siteId }) => fetcher.post({
url: `/counts?site=${siteId}`,
body: urls,
});
export const getComment = ({ id }) => fetcher.get(`/id/${id}?url=${url}`);
export const vote = ({ id, url, value }) => fetcher.put({
url: `/vote/${id}?url=${url}&vote=${value}`,
withCredentials: true,
});
export const send = ({ text, pid }) => fetcher.post({
url: '/comment',
body: {
text,
locator: {
site: siteId,
url,
},
...(pid ? { pid } : {}),
},
withCredentials: true,
});
export const getPreview = ({ text }) => fetcher.post({
url: '/preview',
body: {
text,
},
withCredentials: true,
});
export const getUser = () => fetcher.get({
url: '/user',
withCredentials: true
});
/* admin */
export const pin = ({ id, url }) => fetcher.put({
url: `/admin/pin/${id}?url=${url}&pin=1`,
withCredentials: true,
});
export const unpin = ({ id, url }) => fetcher.put({
url: `/admin/pin/${id}?url=${url}&pin=0`,
withCredentials: true,
});
export const remove = ({ id }) => fetcher.delete({
url: `/admin/comment/${id}?url=${url}`,
withCredentials: true,
});
export const blockUser = ({ id }) => fetcher.put({
url: `/admin/user/${id}?block=1`,
withCredentials: true,
});
export const unblockUser = ({ id }) => fetcher.put({
url: `/admin/user/${id}?block=0`,
withCredentials: true,
});
export const getBlocked = () => fetcher.get({
url: '/admin/blocked',
withCredentials: true,
});
export default {
logOut,
getConfig,
find,
last,
counts,
getComment,
vote,
send,
getUser,
getPreview,
pin,
unpin,
remove,
blockUser,
unblockUser,
getBlocked,
};