187 lines
3.5 KiB
JavaScript
187 lines
3.5 KiB
JavaScript
/* 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];
|
|
};
|