Setup Circle CI, add brakeman config (#13)

* Add circle ci config

* Change config to fix tests

* Update config

* Fix eslint command, add brakeman
This commit is contained in:
Pranav Raj S
2019-08-21 12:59:56 +05:30
committed by GitHub
parent 6e4fec2b55
commit 2c144d5ad3
39 changed files with 847 additions and 616 deletions

View File

@@ -5,17 +5,17 @@
import endPoints from './endPoints';
export default {
getAgents() {
const urlData = endPoints('fetchAgents');
const fetchPromise = new Promise((resolve, reject) => {
axios.get(urlData.url)
.then((response) => {
resolve(response);
})
.catch((error) => {
reject(Error(error));
});
axios
.get(urlData.url)
.then(response => {
resolve(response);
})
.catch(error => {
reject(Error(error));
});
});
return fetchPromise;
},
@@ -23,52 +23,56 @@ export default {
addAgent(agentInfo) {
const urlData = endPoints('addAgent');
const fetchPromise = new Promise((resolve, reject) => {
axios.post(urlData.url, agentInfo)
.then((response) => {
resolve(response);
})
.catch((error) => {
reject(Error(error));
});
axios
.post(urlData.url, agentInfo)
.then(response => {
resolve(response);
})
.catch(error => {
reject(Error(error));
});
});
return fetchPromise;
},
editAgent(agentInfo) {
const urlData = endPoints('editAgent')(agentInfo.id);
const fetchPromise = new Promise((resolve, reject) => {
axios.put(urlData.url, agentInfo)
.then((response) => {
resolve(response);
})
.catch((error) => {
reject(Error(error));
});
axios
.put(urlData.url, agentInfo)
.then(response => {
resolve(response);
})
.catch(error => {
reject(Error(error));
});
});
return fetchPromise;
},
deleteAgent(agentId) {
const urlData = endPoints('deleteAgent')(agentId);
const fetchPromise = new Promise((resolve, reject) => {
axios.delete(urlData.url)
.then((response) => {
resolve(response);
})
.catch((error) => {
reject(Error(error));
});
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));
});
axios
.get(urlData.url)
.then(response => {
resolve(response);
})
.catch(error => {
reject(Error(error));
});
});
return fetchPromise;
},
@@ -76,13 +80,14 @@ export default {
getInboxes() {
const urlData = endPoints('fetchInboxes');
const fetchPromise = new Promise((resolve, reject) => {
axios.get(urlData.url)
.then((response) => {
resolve(response);
})
.catch((error) => {
reject(Error(error));
});
axios
.get(urlData.url)
.then(response => {
resolve(response);
})
.catch(error => {
reject(Error(error));
});
});
return fetchPromise;
},
@@ -90,13 +95,14 @@ export default {
deleteInbox(id) {
const urlData = endPoints('inbox').delete(id);
const fetchPromise = new Promise((resolve, reject) => {
axios.delete(urlData.url)
.then((response) => {
resolve(response);
})
.catch((error) => {
reject(Error(error));
});
axios
.delete(urlData.url)
.then(response => {
resolve(response);
})
.catch(error => {
reject(Error(error));
});
});
return fetchPromise;
},
@@ -104,13 +110,14 @@ export default {
listInboxAgents(id) {
const urlData = endPoints('inbox').agents.get(id);
const fetchPromise = new Promise((resolve, reject) => {
axios.get(urlData.url)
.then((response) => {
resolve(response);
})
.catch((error) => {
reject(Error(error));
});
axios
.get(urlData.url)
.then(response => {
resolve(response);
})
.catch(error => {
reject(Error(error));
});
});
return fetchPromise;
},
@@ -118,16 +125,17 @@ export default {
updateInboxAgents(inboxId, agentList) {
const urlData = endPoints('inbox').agents.post();
const fetchPromise = new Promise((resolve, reject) => {
axios.post(urlData.url, {
user_ids: agentList,
inbox_id: inboxId,
})
.then((response) => {
resolve(response);
})
.catch((error) => {
reject(Error(error));
});
axios
.post(urlData.url, {
user_ids: agentList,
inbox_id: inboxId,
})
.then(response => {
resolve(response);
})
.catch(error => {
reject(Error(error));
});
});
return fetchPromise;
},

View File

@@ -9,78 +9,89 @@ import Cookies from 'js-cookie';
import endPoints from './endPoints';
export default {
login(creds) {
return new Promise((resolve, reject) => {
axios.post('auth/sign_in', creds)
.then((response) => {
const expiryDate = moment.unix(response.headers.expiry);
Cookies.set('auth_data', response.headers, { expires: expiryDate.diff(moment(), 'days') });
Cookies.set('user', response.data.data, { expires: expiryDate.diff(moment(), 'days') });
resolve();
})
.catch((error) => {
reject(error.response);
});
axios
.post('auth/sign_in', creds)
.then(response => {
const expiryDate = moment.unix(response.headers.expiry);
Cookies.set('auth_data', response.headers, {
expires: expiryDate.diff(moment(), 'days'),
});
Cookies.set('user', response.data.data, {
expires: expiryDate.diff(moment(), 'days'),
});
resolve();
})
.catch(error => {
reject(error.response);
});
});
},
register(creds) {
const urlData = endPoints('register');
const fetchPromise = new Promise((resolve, reject) => {
axios.post(urlData.url, {
account_name: creds.name,
email: creds.email,
})
.then((response) => {
const expiryDate = moment.unix(response.headers.expiry);
Cookies.set('auth_data', response.headers, { expires: expiryDate.diff(moment(), 'days') });
Cookies.set('user', response.data.data, { expires: expiryDate.diff(moment(), 'days') });
resolve(response);
})
.catch((error) => {
reject(error);
});
axios
.post(urlData.url, {
account_name: creds.name,
email: creds.email,
})
.then(response => {
const expiryDate = moment.unix(response.headers.expiry);
Cookies.set('auth_data', response.headers, {
expires: expiryDate.diff(moment(), 'days'),
});
Cookies.set('user', response.data.data, {
expires: expiryDate.diff(moment(), 'days'),
});
resolve(response);
})
.catch(error => {
reject(error);
});
});
return fetchPromise;
},
validityCheck() {
const urlData = endPoints('validityCheck');
const fetchPromise = new Promise((resolve, reject) => {
axios.get(urlData.url)
.then((response) => {
resolve(response);
})
.catch((error) => {
if (error.response.status === 401) {
Cookies.remove('auth_data');
Cookies.remove('user');
window.location = '/login';
}
reject(error);
});
axios
.get(urlData.url)
.then(response => {
resolve(response);
})
.catch(error => {
if (error.response.status === 401) {
Cookies.remove('auth_data');
Cookies.remove('user');
window.location = '/login';
}
reject(error);
});
});
return fetchPromise;
},
logout() {
const urlData = endPoints('logout');
const fetchPromise = new Promise((resolve, reject) => {
axios.delete(urlData.url)
.then((response) => {
Cookies.remove('auth_data');
Cookies.remove('user');
window.location = '/u/login';
resolve(response);
})
.catch((error) => {
reject(error);
});
axios
.delete(urlData.url)
.then(response => {
Cookies.remove('auth_data');
Cookies.remove('user');
window.location = '/u/login';
resolve(response);
})
.catch(error => {
reject(error);
});
});
return fetchPromise;
},
isLoggedIn() {
return !(!Cookies.getJSON('auth_data'));
return !!Cookies.getJSON('auth_data');
},
isAdmin() {
@@ -111,47 +122,54 @@ export default {
verifyPasswordToken({ confirmationToken }) {
return new Promise((resolve, reject) => {
axios.post('auth/confirmation', {
confirmation_token: confirmationToken,
})
.then((response) => {
resolve(response);
})
.catch((error) => {
reject(error.response);
});
axios
.post('auth/confirmation', {
confirmation_token: confirmationToken,
})
.then(response => {
resolve(response);
})
.catch(error => {
reject(error.response);
});
});
},
setNewPassword({ resetPasswordToken, password, confirmPassword }) {
return new Promise((resolve, reject) => {
axios.put('auth/password', {
reset_password_token: resetPasswordToken,
password_confirmation: confirmPassword,
password,
})
.then((response) => {
const expiryDate = moment.unix(response.headers.expiry);
Cookies.set('auth_data', response.headers, { expires: expiryDate.diff(moment(), 'days') });
Cookies.set('user', response.data.data, { expires: expiryDate.diff(moment(), 'days') });
resolve(response);
})
.catch((error) => {
reject(error.response);
});
axios
.put('auth/password', {
reset_password_token: resetPasswordToken,
password_confirmation: confirmPassword,
password,
})
.then(response => {
const expiryDate = moment.unix(response.headers.expiry);
Cookies.set('auth_data', response.headers, {
expires: expiryDate.diff(moment(), 'days'),
});
Cookies.set('user', response.data.data, {
expires: expiryDate.diff(moment(), 'days'),
});
resolve(response);
})
.catch(error => {
reject(error.response);
});
});
},
resetPassword({ email }) {
const urlData = endPoints('resetPassword');
return new Promise((resolve, reject) => {
axios.post(urlData.url, { email })
.then((response) => {
resolve(response);
})
.catch((error) => {
reject(error.response);
});
axios
.post(urlData.url, { email })
.then(response => {
resolve(response);
})
.catch(error => {
reject(error.response);
});
});
},
};

View File

@@ -6,13 +6,14 @@ export default {
getSubscription() {
const urlData = endPoints('subscriptions').get();
const fetchPromise = new Promise((resolve, reject) => {
axios.get(urlData.url)
.then((response) => {
resolve(response);
})
.catch((error) => {
reject(error);
});
axios
.get(urlData.url)
.then(response => {
resolve(response);
})
.catch(error => {
reject(error);
});
});
return fetchPromise;
},

View File

@@ -5,17 +5,17 @@
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));
});
axios
.get(urlData.url)
.then(response => {
resolve(response);
})
.catch(error => {
reject(Error(error));
});
});
return fetchPromise;
},
@@ -24,13 +24,14 @@ export default {
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));
});
axios
.get(urlData)
.then(response => {
resolve(response);
})
.catch(error => {
reject(Error(error));
});
});
return fetchPromise;
},
@@ -38,52 +39,56 @@ export default {
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));
});
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));
});
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));
});
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));
});
axios
.get(urlData.url)
.then(response => {
resolve(response);
})
.catch(error => {
reject(Error(error));
});
});
return fetchPromise;
},
@@ -91,15 +96,16 @@ export default {
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));
});
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;
},

View File

@@ -9,13 +9,14 @@ export default {
createChannel(channel, channelParams) {
const urlData = endPoints('createChannel')(channel, channelParams);
const fetchPromise = new Promise((resolve, reject) => {
axios.post(urlData.url, urlData.params)
.then((response) => {
resolve(response);
})
.catch((error) => {
reject(Error(error));
});
axios
.post(urlData.url, urlData.params)
.then(response => {
resolve(response);
})
.catch(error => {
reject(Error(error));
});
});
return fetchPromise;
},
@@ -25,13 +26,14 @@ export default {
urlData.params.inbox_id = inboxId;
urlData.params.user_ids = agentsId;
const fetchPromise = new Promise((resolve, reject) => {
axios.post(urlData.url, urlData.params)
.then((response) => {
resolve(response);
})
.catch((error) => {
reject(Error(error));
});
axios
.post(urlData.url, urlData.params)
.then(response => {
resolve(response);
})
.catch(error => {
reject(Error(error));
});
});
return fetchPromise;
},
@@ -40,13 +42,14 @@ export default {
const urlData = endPoints('fetchFacebookPages');
urlData.params.omniauth_token = token;
const fetchPromise = new Promise((resolve, reject) => {
axios.post(urlData.url, urlData.params)
.then((response) => {
resolve(response);
})
.catch((error) => {
reject(Error(error));
});
axios
.post(urlData.url, urlData.params)
.then(response => {
resolve(response);
})
.catch(error => {
reject(Error(error));
});
});
return fetchPromise;
},

View File

@@ -32,11 +32,17 @@ const endPoints = {
},
sendMessage(conversationId, message) {
return { url: `api/v1/conversations/${conversationId}/messages.json`, params: { 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' } };
return {
url: `api/v1/conversations/${conversationId}/messages.json?`,
params: { message, private: 'true' },
};
},
fetchLabels: {
@@ -64,7 +70,10 @@ const endPoints = {
},
createChannel(channel, channelParams) {
return { url: `api/v1/callbacks/register_${channel}_page.json`, params: channelParams };
return {
url: `api/v1/callbacks/register_${channel}_page.json`,
params: channelParams,
};
},
addAgentsToChannel: {
@@ -78,7 +87,9 @@ const endPoints = {
},
assignAgent(conversationId, AgentId) {
return { url: `/api/v1/conversations/${conversationId}/assignments?assignee_id=${AgentId}` };
return {
url: `/api/v1/conversations/${conversationId}/assignments?assignee_id=${AgentId}`,
};
},
fbMarkSeen: {
@@ -171,6 +182,6 @@ const endPoints = {
},
};
export default (page) => {
export default page => {
return endPoints[page];
};

View File

@@ -5,17 +5,17 @@
import endPoints from '../endPoints';
export default {
fetchConversation(id) {
const urlData = endPoints('conversations')(id);
const fetchPromise = new Promise((resolve, reject) => {
axios.get(urlData.url)
.then((response) => {
resolve(response);
})
.catch((error) => {
reject(Error(error));
});
axios
.get(urlData.url)
.then(response => {
resolve(response);
})
.catch(error => {
reject(Error(error));
});
});
return fetchPromise;
},
@@ -23,13 +23,14 @@ export default {
toggleStatus(id) {
const urlData = endPoints('resolveConversation')(id);
const fetchPromise = new Promise((resolve, reject) => {
axios.post(urlData.url)
.then((response) => {
resolve(response);
})
.catch((error) => {
reject(Error(error));
});
axios
.post(urlData.url)
.then(response => {
resolve(response);
})
.catch(error => {
reject(Error(error));
});
});
return fetchPromise;
},
@@ -37,13 +38,14 @@ export default {
assignAgent([id, agentId]) {
const urlData = endPoints('assignAgent')(id, agentId);
const fetchPromise = new Promise((resolve, reject) => {
axios.post(urlData.url)
.then((response) => {
resolve(response);
})
.catch((error) => {
reject(Error(error));
});
axios
.post(urlData.url)
.then(response => {
resolve(response);
})
.catch(error => {
reject(Error(error));
});
});
return fetchPromise;
},
@@ -51,16 +53,17 @@ export default {
markSeen({ inboxId, senderId }) {
const urlData = endPoints('fbMarkSeen');
const fetchPromise = new Promise((resolve, reject) => {
axios.post(urlData.url, {
inbox_id: inboxId,
sender_id: senderId,
})
.then((response) => {
resolve(response);
})
.catch((error) => {
reject(Error(error));
});
axios
.post(urlData.url, {
inbox_id: inboxId,
sender_id: senderId,
})
.then(response => {
resolve(response);
})
.catch(error => {
reject(Error(error));
});
});
return fetchPromise;
},
@@ -68,16 +71,17 @@ export default {
fbTyping({ flag, inboxId, senderId }) {
const urlData = endPoints('fbTyping')(flag);
const fetchPromise = new Promise((resolve, reject) => {
axios.post(urlData.url, {
inbox_id: inboxId,
sender_id: senderId,
})
.then((response) => {
resolve(response);
})
.catch((error) => {
reject(Error(error));
});
axios
.post(urlData.url, {
inbox_id: inboxId,
sender_id: senderId,
})
.then(response => {
resolve(response);
})
.catch(error => {
reject(Error(error));
});
});
return fetchPromise;
},
@@ -86,13 +90,14 @@ export default {
const urlData = endPoints('markMessageRead')(id);
urlData.params.agent_last_seen_at = lastSeen;
const fetchPromise = new Promise((resolve, reject) => {
axios.post(urlData.url, urlData.params)
.then((response) => {
resolve(response);
})
.catch((error) => {
reject(Error(error));
});
axios
.post(urlData.url, urlData.params)
.then(response => {
resolve(response);
})
.catch(error => {
reject(Error(error));
});
});
return fetchPromise;
},

View File

@@ -5,7 +5,6 @@
import endPoints from '../endPoints';
export default {
fetchAllConversations(params, callback) {
const urlData = endPoints('getInbox');
@@ -19,15 +18,15 @@ export default {
conversation_status_id: params.convStatus,
assignee_type_id: params.assigneeStatus,
};
axios.get(urlData.url, {
params: urlData.params,
})
.then((response) => {
callback(response);
})
.catch((error) => {
console.log(error);
});
axios
.get(urlData.url, {
params: urlData.params,
})
.then(response => {
callback(response);
})
.catch(error => {
console.log(error);
});
},
};

View File

@@ -5,17 +5,17 @@
import endPoints from '../endPoints';
export default {
sendMessage([conversationId, message]) {
const urlData = endPoints('sendMessage')(conversationId, message);
const fetchPromise = new Promise((resolve, reject) => {
axios.post(urlData.url, urlData.params)
.then((response) => {
resolve(response);
})
.catch((error) => {
reject(Error(error));
});
axios
.post(urlData.url, urlData.params)
.then(response => {
resolve(response);
})
.catch(error => {
reject(Error(error));
});
});
return fetchPromise;
},
@@ -23,13 +23,14 @@ export default {
addPrivateNote([conversationId, message]) {
const urlData = endPoints('addPrivateNote')(conversationId, message);
const fetchPromise = new Promise((resolve, reject) => {
axios.post(urlData.url, urlData.params)
.then((response) => {
resolve(response);
})
.catch((error) => {
reject(Error(error));
});
axios
.post(urlData.url, urlData.params)
.then(response => {
resolve(response);
})
.catch(error => {
reject(Error(error));
});
});
return fetchPromise;
},
@@ -38,17 +39,17 @@ export default {
const urlData = endPoints('conversations')(id);
urlData.params.before = before;
const fetchPromise = new Promise((resolve, reject) => {
axios.get(urlData.url, {
params: urlData.params,
})
.then((response) => {
resolve(response);
})
.catch((error) => {
reject(Error(error));
});
axios
.get(urlData.url, {
params: urlData.params,
})
.then(response => {
resolve(response);
})
.catch(error => {
reject(Error(error));
});
});
return fetchPromise;
},
};

View File

@@ -6,26 +6,28 @@ export default {
getAccountReports(metric, from, to) {
const urlData = endPoints('reports').account(metric, from, to);
const fetchPromise = new Promise((resolve, reject) => {
axios.get(urlData.url)
.then((response) => {
resolve(response);
})
.catch((error) => {
reject(Error(error));
});
axios
.get(urlData.url)
.then(response => {
resolve(response);
})
.catch(error => {
reject(Error(error));
});
});
return fetchPromise;
},
getAccountSummary(accountId, from, to) {
const urlData = endPoints('reports').accountSummary(accountId, from, to);
const fetchPromise = new Promise((resolve, reject) => {
axios.get(urlData.url)
.then((response) => {
resolve(response);
})
.catch((error) => {
reject(Error(error));
});
axios
.get(urlData.url)
.then(response => {
resolve(response);
})
.catch(error => {
reject(Error(error));
});
});
return fetchPromise;
},