ih-black-lion
Version:
State handler for Arus projects
39 lines (34 loc) • 1.65 kB
JavaScript
import Connector from './Connector';
const URLS = {
tryURL: __CHANGE_READ_STATUS_URL__,
catchURL: process.env.CHANGE_READ_STATUS_URL,
};
export default class ReadStatusConnector extends Connector {
constructor(requestMethod, requestParams, id, status, numDaysPast,
Model = undefined, extraParam = undefined) {
super(requestMethod, requestParams, Model, URLS, extraParam);
this.id = id;
this.status = status;
this.numDaysPast = numDaysPast;
this.modifySend();
}
checkTypes() {
if (typeof this.params !== 'object') {
return Promise.reject(new TypeError(`Type of params is ${typeof this.params}. Expected an object\n\tparams = ${this.params}`));
}
return true;
}
modifySend() {
if (!this.params.send) {
if (typeof this.id !== 'number') {
return Promise.reject(new TypeError(`Type of id is ${typeof this.id}. Expected an number\n\tid = ${this.id}`));
} else if (typeof this.status !== 'string') {
return Promise.reject(new TypeError(`Type of status is ${typeof this.status}. Expected an string\n\tstatus = ${this.status}`));
} else if (typeof this.numDaysPast !== 'number') {
return Promise.reject(new TypeError(`Type of numDaysPast is ${typeof this.numDaysPast}. Expected an number\n\tnumDaysPast = ${this.numDaysPast}`));
}
this.params.send = `<SCC_NTF_UPDATE_EVENTS_REQ><NUM_PAST_DAYS>${this.numDaysPast}</NUM_PAST_DAYS><EVENTS><SCC_NTF_EVENT><SCC_NTFEVT_REQ_ID>${this.id}</SCC_NTFEVT_REQ_ID><SCC_NTFEVT_STATUS>${this.status}</SCC_NTFEVT_STATUS></SCC_NTF_EVENT></EVENTS></SCC_NTF_UPDATE_EVENTS_REQ>`;
}
return true;
}
}