Chatwoot/app/javascript/dashboard/api/endPoints.js

188 lines
3.5 KiB
JavaScript
Raw Normal View History

/* eslint arrow-body-style: ["error", "always"] */
const endPoints = {
resetPassword: {
url: 'auth/password',
},
register: {
url: 'api/v1/accounts.json',
},
validityCheck: {
url: '/auth/validate_token',
},
logout: {
url: 'auth/sign_out',
},
me: {
url: 'api/v1/conversations.json',
params: { type: 0, page: 1 },
},
getInbox: {
url: 'api/v1/conversations.json',
params: { inbox_id: null },
},
conversations(id) {
return { url: `api/v1/conversations/${id}.json`, params: { before: null } };
},
resolveConversation(id) {
return { url: `api/v1/conversations/${id}/toggle_status.json` };
},
sendMessage(conversationId, message) {
return {
url: `api/v1/conversations/${conversationId}/messages.json`,
params: { message },
};
},
addPrivateNote(conversationId, message) {
return {
url: `api/v1/conversations/${conversationId}/messages.json?`,
params: { message, private: 'true' },
};
},
fetchLabels: {
url: 'api/v1/labels.json',
},
fetchInboxes: {
url: 'api/v1/inboxes.json',
},
fetchAgents: {
url: 'api/v1/agents.json',
},
addAgent: {
url: 'api/v1/agents.json',
},
editAgent(id) {
return { url: `api/v1/agents/${id}` };
},
deleteAgent({ id }) {
return { url: `api/v1/agents/${id}` };
},
createChannel(channel, channelParams) {
return {
url: `api/v1/callbacks/register_${channel}_page.json`,
params: channelParams,
};
},
addAgentsToChannel: {
url: 'api/v1/inbox_members.json',
params: { user_ids: [], inbox_id: null },
},
fetchFacebookPages: {
url: 'api/v1/callbacks/get_facebook_pages.json',
params: { omniauth_token: '' },
},
assignAgent(conversationId, AgentId) {
return {
url: `/api/v1/conversations/${conversationId}/assignments?assignee_id=${AgentId}`,
};
},
fbMarkSeen: {
url: 'api/v1/facebook_indicators/mark_seen',
},
fbTyping(status) {
return {
url: `api/v1/facebook_indicators/typing_${status}`,
};
},
markMessageRead(id) {
return {
url: `api/v1/conversations/${id}/update_last_seen`,
params: {
agent_last_seen_at: null,
},
};
},
// Canned Response [GET, POST, PUT, DELETE]
cannedResponse: {
get() {
return {
url: 'api/v1/canned_responses',
};
},
getOne({ id }) {
return {
url: `api/v1/canned_responses/${id}`,
};
},
post() {
return {
url: 'api/v1/canned_responses',
};
},
put(id) {
return {
url: `api/v1/canned_responses/${id}`,
};
},
delete(id) {
return {
url: `api/v1/canned_responses/${id}`,
};
},
},
reports: {
account(metric, from, to) {
return {
url: `/api/v1/reports/account?metric=${metric}&since=${from}&to=${to}`,
};
},
accountSummary(accountId, from, to) {
return {
url: `/api/v1/reports/${accountId}/account_summary?since=${from}&to=${to}`,
};
},
},
subscriptions: {
get() {
return {
url: '/api/v1/subscriptions',
};
},
},
inbox: {
delete(id) {
return {
url: `/api/v1/inboxes/${id}`,
};
},
agents: {
get(id) {
return {
url: `/api/v1/inbox_members/${id}.json`,
};
},
post() {
return {
url: '/api/v1/inbox_members.json',
};
},
},
},
};
export default page => {
return endPoints[page];
};