class ICMPProjectNodeModel extends EICModel { currentProject = null; constructor(privileges) { super('/icmp', privileges); } get(number, node, nodeId) { if(!this.hasPrivilege('read')) return( new Promise((resolve, reject) => reject())) let endpoint = this.getApiEndpoint('getProjectNode'); endpoint.uri = endpoint.uri.replace('{projectId}', number); endpoint.uri = endpoint.uri.replace('{node}', node); endpoint.uri = endpoint.uri.replace('{nodeId}', nodeId); return ( this.request(endpoint.uri, endpoint.method) .then( async serverData => { return serverData.payload; }) ) } process(action, number, node, nodeId, payload) { switch (action) { case 'saving': if(!this.hasPrivilege('update')) return( new Promise((resolve, reject) => reject())) break; case 'submitting': if(!this.hasPrivilege('submit')) return( new Promise((resolve, reject) => reject())) break; case 'validating': if(!this.hasPrivilege('validate')) return( new Promise((resolve, reject) => reject())) break; case 'aborting': if(!this.hasPrivilege('cancel')) return( new Promise((resolve, reject) => reject())) break; case 'reviewing': if(!this.hasPrivilege('sendforreview')) return( new Promise((resolve, reject) => reject())) break; } let endpoint = this.getApiEndpoint('saveProjectNode'); endpoint.uri = endpoint.uri.replace('{projectId}', number); endpoint.uri = endpoint.uri.replace('{node}', node); endpoint.uri = endpoint.uri.replace('{nodeId}', nodeId); payload.status = action; return ( this.request(endpoint.uri, endpoint.method, payload) .then( async serverData => { return serverData.payload; }) ) } comment(action, number, node, nodeId, payload) { switch (action) { case 'rejecting': if(!this.hasPrivilege('reject')) return( new Promise((resolve, reject) => reject())) break; case 'reviewing': if(!this.hasPrivilege('review')) return( new Promise((resolve, reject) => reject())) break; } let endpoint = this.getApiEndpoint('saveProjectNodeComments'); endpoint.uri = endpoint.uri.replace('{projectId}', number); endpoint.uri = endpoint.uri.replace('{node}', node); endpoint.uri = endpoint.uri.replace('{nodeId}', nodeId); payload.status = action; return ( this.request(endpoint.uri, endpoint.method, payload) .then( async serverData => { return serverData.payload; }) ) } } app.registerClass('ICMPProjectNodeModel', ICMPProjectNodeModel);