112 lines
2.9 KiB
JavaScript
112 lines
2.9 KiB
JavaScript
/* eslint no-console: 0 */
|
|
/* global axios */
|
|
/* eslint no-undef: "error" */
|
|
/* eslint no-unused-expressions: ["error", { "allowShortCircuit": true }] */
|
|
import endPoints from './endPoints';
|
|
|
|
export default {
|
|
getAllCannedResponses() {
|
|
const urlData = endPoints('cannedResponse').get();
|
|
const fetchPromise = new Promise((resolve, reject) => {
|
|
axios
|
|
.get(urlData.url)
|
|
.then(response => {
|
|
resolve(response);
|
|
})
|
|
.catch(error => {
|
|
reject(Error(error));
|
|
});
|
|
});
|
|
return fetchPromise;
|
|
},
|
|
|
|
searchCannedResponse({ searchKey }) {
|
|
let urlData = endPoints('cannedResponse').get();
|
|
urlData = `${urlData.url}?search=${searchKey}`;
|
|
const fetchPromise = new Promise((resolve, reject) => {
|
|
axios
|
|
.get(urlData)
|
|
.then(response => {
|
|
resolve(response);
|
|
})
|
|
.catch(error => {
|
|
reject(Error(error));
|
|
});
|
|
});
|
|
return fetchPromise;
|
|
},
|
|
|
|
addCannedResponse(cannedResponseObj) {
|
|
const urlData = endPoints('cannedResponse').post();
|
|
const fetchPromise = new Promise((resolve, reject) => {
|
|
axios
|
|
.post(urlData.url, cannedResponseObj)
|
|
.then(response => {
|
|
resolve(response);
|
|
})
|
|
.catch(error => {
|
|
reject(Error(error));
|
|
});
|
|
});
|
|
return fetchPromise;
|
|
},
|
|
editCannedResponse(cannedResponseObj) {
|
|
const urlData = endPoints('cannedResponse').put(cannedResponseObj.id);
|
|
const fetchPromise = new Promise((resolve, reject) => {
|
|
axios
|
|
.put(urlData.url, cannedResponseObj)
|
|
.then(response => {
|
|
resolve(response);
|
|
})
|
|
.catch(error => {
|
|
reject(Error(error));
|
|
});
|
|
});
|
|
return fetchPromise;
|
|
},
|
|
deleteCannedResponse(responseId) {
|
|
const urlData = endPoints('cannedResponse').delete(responseId);
|
|
const fetchPromise = new Promise((resolve, reject) => {
|
|
axios
|
|
.delete(urlData.url)
|
|
.then(response => {
|
|
resolve(response);
|
|
})
|
|
.catch(error => {
|
|
reject(Error(error));
|
|
});
|
|
});
|
|
return fetchPromise;
|
|
},
|
|
getLabels() {
|
|
const urlData = endPoints('fetchLabels');
|
|
const fetchPromise = new Promise((resolve, reject) => {
|
|
axios
|
|
.get(urlData.url)
|
|
.then(response => {
|
|
resolve(response);
|
|
})
|
|
.catch(error => {
|
|
reject(Error(error));
|
|
});
|
|
});
|
|
return fetchPromise;
|
|
},
|
|
// Get Inbox related to the account
|
|
getInboxes() {
|
|
const urlData = endPoints('fetchInboxes');
|
|
const fetchPromise = new Promise((resolve, reject) => {
|
|
axios
|
|
.get(urlData.url)
|
|
.then(response => {
|
|
console.log('fetch inboxes success');
|
|
resolve(response);
|
|
})
|
|
.catch(error => {
|
|
console.log('fetch inboxes failure');
|
|
reject(Error(error));
|
|
});
|
|
});
|
|
return fetchPromise;
|
|
},
|
|
};
|