Built motion from commit 97153652.|2.6.26
[motion2.git] / server / api / intServicenowConfiguration / intServicenowConfiguration.controller.js
1 // *************************************************************************
2 // *                                                                       *
3 // * xCALLY Motion -  The Omnichannel Contact Center                       *
4 // * Copyright (c) Xenialab s.r.l. All Rights Reserved                     *
5 // *                                                                       *
6 // *************************************************************************
7 // *                                                                       *
8 // * Email: info@xcally.com                                                *
9 // * Website: https://www.xcally.com                                       *
10 // *                                                                       *
11 // *************************************************************************
12 // *                                                                       *
13 // * The SOFTWARE PRODUCT is protected by copyright laws and international *
14 // * copyright treaties, as well as other intellectual property laws and   *
15 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                         *
16 // *                                                                       *
17 // *************************************************************************
18 var _0x65ed=['filter','merge','VIRTUAL','options','ServicenowConfiguration','includeAll','include','findAll','rows','catch','show','params','rawAttributes','find','create','body','getFields','ServicenowField','order','findOne','getSubjects','getDescriptions','eml-format','zip-dir','fast-json-patch','mustache','util','path','to-csv','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','sendStatus','status','end','json','offset','undefined','limit','count','save','update','then','destroy','stack','name','send','map','fieldName','type','key','keys','query','filters','intersection','model','attributes','fields','length','hasOwnProperty','nolimit','sort','where','pick'];(function(_0x4a991d,_0x497a6a){var _0x2ae61f=function(_0x121729){while(--_0x121729){_0x4a991d['push'](_0x4a991d['shift']());}};_0x2ae61f(++_0x497a6a);}(_0x65ed,0xfd));var _0xd65e=function(_0x462f2b,_0x337220){_0x462f2b=_0x462f2b-0x0;var _0x1308e7=_0x65ed[_0x462f2b];return _0x1308e7;};'use strict';var emlformat=require(_0xd65e('0x0'));var rimraf=require('rimraf');var zipdir=require(_0xd65e('0x1'));var jsonpatch=require(_0xd65e('0x2'));var rp=require('request-promise');var moment=require('moment');var BPromise=require('bluebird');var Mustache=require(_0xd65e('0x3'));var util=require(_0xd65e('0x4'));var path=require(_0xd65e('0x5'));var sox=require('sox');var csv=require(_0xd65e('0x6'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0xd65e('0x7'));var squel=require(_0xd65e('0x8'));var crypto=require(_0xd65e('0x9'));var jsforce=require(_0xd65e('0xa'));var deskjs=require(_0xd65e('0xb'));var toCsv=require('to-csv');var querystring=require(_0xd65e('0xc'));var Papa=require(_0xd65e('0xd'));var Redis=require(_0xd65e('0xe'));var authService=require(_0xd65e('0xf'));var qs=require(_0xd65e('0x10'));var as=require(_0xd65e('0x11'));var hardwareService=require(_0xd65e('0x12'));var logger=require(_0xd65e('0x13'))(_0xd65e('0x14'));var utils=require(_0xd65e('0x15'));var config=require(_0xd65e('0x16'));var licenseUtil=require('../../config/license/util');var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x4edb66,_0x35062b){_0x35062b=_0x35062b||0xcc;return function(_0x46e489){if(_0x46e489){return _0x4edb66[_0xd65e('0x17')](_0x35062b);}return _0x4edb66[_0xd65e('0x18')](_0x35062b)[_0xd65e('0x19')]();};}function respondWithResult(_0x1973eb,_0xd794a7){_0xd794a7=_0xd794a7||0xc8;return function(_0x36f722){if(_0x36f722){return _0x1973eb[_0xd65e('0x18')](_0xd794a7)[_0xd65e('0x1a')](_0x36f722);}};}function respondWithFilteredResult(_0xbef9e3,_0x2a3942){return function(_0x32a95e){if(_0x32a95e){var _0x49c29c=typeof _0x2a3942[_0xd65e('0x1b')]===_0xd65e('0x1c')&&typeof _0x2a3942[_0xd65e('0x1d')]===_0xd65e('0x1c');var _0x5c23b7=_0x32a95e[_0xd65e('0x1e')];var _0x162851=_0x49c29c?0x0:_0x2a3942[_0xd65e('0x1b')];var _0x20b1d4=_0x49c29c?_0x32a95e[_0xd65e('0x1e')]:_0x2a3942[_0xd65e('0x1b')]+_0x2a3942['limit'];var _0x182946;if(_0x20b1d4>=_0x5c23b7){_0x20b1d4=_0x5c23b7;_0x182946=0xc8;}else{_0x182946=0xce;}_0xbef9e3[_0xd65e('0x18')](_0x182946);return _0xbef9e3['set']('Content-Range',_0x162851+'-'+_0x20b1d4+'/'+_0x5c23b7)[_0xd65e('0x1a')](_0x32a95e);}return null;};}function patchUpdates(_0x2b8a90){return function(_0x527d1b){try{jsonpatch['apply'](_0x527d1b,_0x2b8a90,!![]);}catch(_0x10c59c){return BPromise['reject'](_0x10c59c);}return _0x527d1b[_0xd65e('0x1f')]();};}function saveUpdates(_0xec2daf,_0x559335){return function(_0x75e501){if(_0x75e501){return _0x75e501[_0xd65e('0x20')](_0xec2daf)[_0xd65e('0x21')](function(_0x51a3e3){return _0x51a3e3;});}return null;};}function removeEntity(_0x42a501,_0x3df74e){return function(_0x12a31b){if(_0x12a31b){return _0x12a31b[_0xd65e('0x22')]()[_0xd65e('0x21')](function(){_0x42a501['status'](0xcc)['end']();});}};}function handleEntityNotFound(_0x2b6095,_0x54eec2){return function(_0x5c9870){if(!_0x5c9870){_0x2b6095[_0xd65e('0x17')](0x194);}return _0x5c9870;};}function handleError(_0x1afa4b,_0x3fbc91){_0x3fbc91=_0x3fbc91||0x1f4;return function(_0x2fb875){logger['error'](_0x2fb875[_0xd65e('0x23')]);if(_0x2fb875[_0xd65e('0x24')]){delete _0x2fb875[_0xd65e('0x24')];}_0x1afa4b[_0xd65e('0x18')](_0x3fbc91)[_0xd65e('0x25')](_0x2fb875);};}exports['index']=function(_0x108e05,_0x1b5646){var _0x61e561={},_0x2de7e7={},_0x3e4611={'count':0x0,'rows':[]};var _0x511019=_[_0xd65e('0x26')](db['ServicenowConfiguration']['rawAttributes'],function(_0x4d1c18){return{'name':_0x4d1c18[_0xd65e('0x27')],'type':_0x4d1c18[_0xd65e('0x28')][_0xd65e('0x29')]};});_0x2de7e7['model']=_[_0xd65e('0x26')](_0x511019,_0xd65e('0x24'));_0x2de7e7['query']=_[_0xd65e('0x2a')](_0x108e05[_0xd65e('0x2b')]);_0x2de7e7[_0xd65e('0x2c')]=_[_0xd65e('0x2d')](_0x2de7e7[_0xd65e('0x2e')],_0x2de7e7[_0xd65e('0x2b')]);_0x61e561[_0xd65e('0x2f')]=_[_0xd65e('0x2d')](_0x2de7e7[_0xd65e('0x2e')],qs[_0xd65e('0x30')](_0x108e05['query'][_0xd65e('0x30')]));_0x61e561[_0xd65e('0x2f')]=_0x61e561['attributes'][_0xd65e('0x31')]?_0x61e561[_0xd65e('0x2f')]:_0x2de7e7['model'];if(!_0x108e05[_0xd65e('0x2b')][_0xd65e('0x32')](_0xd65e('0x33'))){_0x61e561[_0xd65e('0x1d')]=qs[_0xd65e('0x1d')](_0x108e05[_0xd65e('0x2b')][_0xd65e('0x1d')]);_0x61e561['offset']=qs['offset'](_0x108e05['query'][_0xd65e('0x1b')]);}_0x61e561['order']=qs['sort'](_0x108e05[_0xd65e('0x2b')][_0xd65e('0x34')]);_0x61e561[_0xd65e('0x35')]=qs[_0xd65e('0x2c')](_[_0xd65e('0x36')](_0x108e05[_0xd65e('0x2b')],_0x2de7e7['filters']),_0x511019);if(_0x108e05[_0xd65e('0x2b')][_0xd65e('0x37')]){_0x61e561[_0xd65e('0x35')]=_[_0xd65e('0x38')](_0x61e561[_0xd65e('0x35')],{'$or':_[_0xd65e('0x26')](_0x511019,function(_0x41b94e){if(_0x41b94e[_0xd65e('0x28')]!==_0xd65e('0x39')){var _0x189e6b={};_0x189e6b[_0x41b94e['name']]={'$like':'%'+_0x108e05[_0xd65e('0x2b')][_0xd65e('0x37')]+'%'};return _0x189e6b;}})});}_0x61e561=_[_0xd65e('0x38')]({},_0x61e561,_0x108e05[_0xd65e('0x3a')]);var _0x54e28c={'where':_0x61e561['where']};return db[_0xd65e('0x3b')][_0xd65e('0x1e')](_0x54e28c)[_0xd65e('0x21')](function(_0x4e6349){_0x3e4611[_0xd65e('0x1e')]=_0x4e6349;if(_0x108e05['query'][_0xd65e('0x3c')]){_0x61e561[_0xd65e('0x3d')]=[{'all':!![]}];}return db[_0xd65e('0x3b')][_0xd65e('0x3e')](_0x61e561);})['then'](function(_0x4b7028){_0x3e4611[_0xd65e('0x3f')]=_0x4b7028;return _0x3e4611;})[_0xd65e('0x21')](respondWithFilteredResult(_0x1b5646,_0x61e561))[_0xd65e('0x40')](handleError(_0x1b5646,null));};exports[_0xd65e('0x41')]=function(_0xb976ea,_0x4eb28d){var _0x319e16={'raw':![],'where':{'id':_0xb976ea[_0xd65e('0x42')]['id']}},_0x5da293={};_0x5da293[_0xd65e('0x2e')]=_[_0xd65e('0x2a')](db[_0xd65e('0x3b')][_0xd65e('0x43')]);_0x5da293[_0xd65e('0x2b')]=_[_0xd65e('0x2a')](_0xb976ea['query']);_0x5da293[_0xd65e('0x2c')]=_[_0xd65e('0x2d')](_0x5da293['model'],_0x5da293['query']);_0x319e16[_0xd65e('0x2f')]=_[_0xd65e('0x2d')](_0x5da293['model'],qs[_0xd65e('0x30')](_0xb976ea[_0xd65e('0x2b')][_0xd65e('0x30')]));_0x319e16[_0xd65e('0x2f')]=_0x319e16[_0xd65e('0x2f')]['length']?_0x319e16[_0xd65e('0x2f')]:_0x5da293[_0xd65e('0x2e')];if(_0xb976ea[_0xd65e('0x2b')][_0xd65e('0x3c')]){_0x319e16[_0xd65e('0x3d')]=[{'all':!![]}];}_0x319e16=_[_0xd65e('0x38')]({},_0x319e16,_0xb976ea[_0xd65e('0x3a')]);return db[_0xd65e('0x3b')][_0xd65e('0x44')](_0x319e16)['then'](handleEntityNotFound(_0x4eb28d,null))[_0xd65e('0x21')](respondWithResult(_0x4eb28d,null))[_0xd65e('0x40')](handleError(_0x4eb28d,null));};exports[_0xd65e('0x45')]=function(_0x2bec6a,_0x4acab5){return db[_0xd65e('0x3b')][_0xd65e('0x45')](_0x2bec6a[_0xd65e('0x46')],{})[_0xd65e('0x21')](respondWithResult(_0x4acab5,0xc9))[_0xd65e('0x40')](handleError(_0x4acab5,null));};exports[_0xd65e('0x20')]=function(_0x5472de,_0x57ca8d){if(_0x5472de[_0xd65e('0x46')]['id']){delete _0x5472de['body']['id'];}return db['ServicenowConfiguration'][_0xd65e('0x44')]({'where':{'id':_0x5472de[_0xd65e('0x42')]['id']}})[_0xd65e('0x21')](handleEntityNotFound(_0x57ca8d,null))[_0xd65e('0x21')](saveUpdates(_0x5472de[_0xd65e('0x46')],null))[_0xd65e('0x21')](respondWithResult(_0x57ca8d,null))['catch'](handleError(_0x57ca8d,null));};exports[_0xd65e('0x22')]=function(_0x3dacf1,_0x221920){return db['ServicenowConfiguration'][_0xd65e('0x44')]({'where':{'id':_0x3dacf1['params']['id']}})['then'](handleEntityNotFound(_0x221920,null))[_0xd65e('0x21')](removeEntity(_0x221920,null))[_0xd65e('0x40')](handleError(_0x221920,null));};exports[_0xd65e('0x47')]=function(_0x343228,_0x5cf33b,_0x297693){var _0x4c3a58={};var _0x40e07c={};var _0x2d69e2;var _0x57e463;return db[_0xd65e('0x3b')]['findOne']({'where':{'id':_0x343228[_0xd65e('0x42')]['id']}})['then'](handleEntityNotFound(_0x5cf33b,null))[_0xd65e('0x21')](function(_0xc6712b){if(_0xc6712b){_0x2d69e2=_0xc6712b;_0x40e07c[_0xd65e('0x2e')]=_[_0xd65e('0x2a')](db[_0xd65e('0x48')]['rawAttributes']);_0x40e07c[_0xd65e('0x2b')]=_[_0xd65e('0x2a')](_0x343228[_0xd65e('0x2b')]);_0x40e07c[_0xd65e('0x2c')]=_[_0xd65e('0x2d')](_0x40e07c[_0xd65e('0x2e')],_0x40e07c['query']);_0x4c3a58['attributes']=_['intersection'](_0x40e07c[_0xd65e('0x2e')],qs[_0xd65e('0x30')](_0x343228['query'][_0xd65e('0x30')]));_0x4c3a58[_0xd65e('0x2f')]=_0x4c3a58['attributes'][_0xd65e('0x31')]?_0x4c3a58['attributes']:_0x40e07c[_0xd65e('0x2e')];_0x4c3a58[_0xd65e('0x49')]=qs[_0xd65e('0x34')](_0x343228[_0xd65e('0x2b')][_0xd65e('0x34')]);_0x4c3a58[_0xd65e('0x35')]=qs[_0xd65e('0x2c')](_['pick'](_0x343228[_0xd65e('0x2b')],_0x40e07c[_0xd65e('0x2c')]));if(_0x343228[_0xd65e('0x2b')][_0xd65e('0x37')]){_0x4c3a58[_0xd65e('0x35')]=_[_0xd65e('0x38')](_0x4c3a58[_0xd65e('0x35')],{'$or':_[_0xd65e('0x26')](_0x4c3a58[_0xd65e('0x2f')],function(_0x365e5d){var _0x1753ac={};_0x1753ac[_0x365e5d]={'$like':'%'+_0x343228[_0xd65e('0x2b')][_0xd65e('0x37')]+'%'};return _0x1753ac;})});}_0x4c3a58=_[_0xd65e('0x38')]({},_0x4c3a58,_0x343228[_0xd65e('0x3a')]);return _0x2d69e2['getFields'](_0x4c3a58);}})[_0xd65e('0x21')](function(_0x4451d7){if(_0x4451d7){_0x57e463=_0x4451d7[_0xd65e('0x31')];if(!_0x343228[_0xd65e('0x2b')]['hasOwnProperty'](_0xd65e('0x33'))){_0x4c3a58['limit']=qs['limit'](_0x343228[_0xd65e('0x2b')][_0xd65e('0x1d')]);_0x4c3a58[_0xd65e('0x1b')]=qs[_0xd65e('0x1b')](_0x343228[_0xd65e('0x2b')][_0xd65e('0x1b')]);}return _0x2d69e2['getFields'](_0x4c3a58);}})['then'](function(_0x598254){if(_0x598254){return _0x598254?{'count':_0x57e463,'rows':_0x598254}:null;}})[_0xd65e('0x21')](respondWithResult(_0x5cf33b,null))[_0xd65e('0x40')](handleError(_0x5cf33b,null));};exports['getSubjects']=function(_0x63d73c,_0x3679c7,_0x370b37){var _0x1c6d76={};var _0xca3f11={};var _0x1ca613;var _0x55b3f0;return db['ServicenowConfiguration'][_0xd65e('0x4a')]({'where':{'id':_0x63d73c['params']['id']}})[_0xd65e('0x21')](handleEntityNotFound(_0x3679c7,null))['then'](function(_0x1cfd97){if(_0x1cfd97){_0x1ca613=_0x1cfd97;_0xca3f11[_0xd65e('0x2e')]=_[_0xd65e('0x2a')](db[_0xd65e('0x48')]['rawAttributes']);_0xca3f11['query']=_[_0xd65e('0x2a')](_0x63d73c[_0xd65e('0x2b')]);_0xca3f11['filters']=_[_0xd65e('0x2d')](_0xca3f11[_0xd65e('0x2e')],_0xca3f11[_0xd65e('0x2b')]);_0x1c6d76['attributes']=_[_0xd65e('0x2d')](_0xca3f11[_0xd65e('0x2e')],qs[_0xd65e('0x30')](_0x63d73c[_0xd65e('0x2b')]['fields']));_0x1c6d76[_0xd65e('0x2f')]=_0x1c6d76[_0xd65e('0x2f')][_0xd65e('0x31')]?_0x1c6d76['attributes']:_0xca3f11[_0xd65e('0x2e')];_0x1c6d76['order']=qs[_0xd65e('0x34')](_0x63d73c[_0xd65e('0x2b')][_0xd65e('0x34')]);_0x1c6d76[_0xd65e('0x35')]=qs[_0xd65e('0x2c')](_['pick'](_0x63d73c[_0xd65e('0x2b')],_0xca3f11[_0xd65e('0x2c')]));if(_0x63d73c[_0xd65e('0x2b')]['filter']){_0x1c6d76[_0xd65e('0x35')]=_[_0xd65e('0x38')](_0x1c6d76['where'],{'$or':_[_0xd65e('0x26')](_0x1c6d76[_0xd65e('0x2f')],function(_0x35a1ee){var _0x359794={};_0x359794[_0x35a1ee]={'$like':'%'+_0x63d73c[_0xd65e('0x2b')][_0xd65e('0x37')]+'%'};return _0x359794;})});}_0x1c6d76=_[_0xd65e('0x38')]({},_0x1c6d76,_0x63d73c[_0xd65e('0x3a')]);return _0x1ca613[_0xd65e('0x4b')](_0x1c6d76);}})[_0xd65e('0x21')](function(_0x13d98c){if(_0x13d98c){_0x55b3f0=_0x13d98c['length'];if(!_0x63d73c['query']['hasOwnProperty']('nolimit')){_0x1c6d76[_0xd65e('0x1d')]=qs['limit'](_0x63d73c['query']['limit']);_0x1c6d76[_0xd65e('0x1b')]=qs[_0xd65e('0x1b')](_0x63d73c[_0xd65e('0x2b')][_0xd65e('0x1b')]);}return _0x1ca613[_0xd65e('0x4b')](_0x1c6d76);}})[_0xd65e('0x21')](function(_0x995bec){if(_0x995bec){return _0x995bec?{'count':_0x55b3f0,'rows':_0x995bec}:null;}})[_0xd65e('0x21')](respondWithResult(_0x3679c7,null))['catch'](handleError(_0x3679c7,null));};exports[_0xd65e('0x4c')]=function(_0x1472d2,_0x547877,_0x41780c){var _0x5b4a5c={};var _0x411987={};var _0x28c99f;var _0x833870;return db[_0xd65e('0x3b')]['findOne']({'where':{'id':_0x1472d2[_0xd65e('0x42')]['id']}})[_0xd65e('0x21')](handleEntityNotFound(_0x547877,null))['then'](function(_0x3f4dc6){if(_0x3f4dc6){_0x28c99f=_0x3f4dc6;_0x411987[_0xd65e('0x2e')]=_[_0xd65e('0x2a')](db['ServicenowField']['rawAttributes']);_0x411987[_0xd65e('0x2b')]=_[_0xd65e('0x2a')](_0x1472d2['query']);_0x411987[_0xd65e('0x2c')]=_['intersection'](_0x411987[_0xd65e('0x2e')],_0x411987['query']);_0x5b4a5c[_0xd65e('0x2f')]=_[_0xd65e('0x2d')](_0x411987['model'],qs['fields'](_0x1472d2['query'][_0xd65e('0x30')]));_0x5b4a5c[_0xd65e('0x2f')]=_0x5b4a5c['attributes'][_0xd65e('0x31')]?_0x5b4a5c[_0xd65e('0x2f')]:_0x411987['model'];_0x5b4a5c[_0xd65e('0x49')]=qs[_0xd65e('0x34')](_0x1472d2[_0xd65e('0x2b')]['sort']);_0x5b4a5c[_0xd65e('0x35')]=qs['filters'](_[_0xd65e('0x36')](_0x1472d2[_0xd65e('0x2b')],_0x411987[_0xd65e('0x2c')]));if(_0x1472d2['query']['filter']){_0x5b4a5c[_0xd65e('0x35')]=_[_0xd65e('0x38')](_0x5b4a5c[_0xd65e('0x35')],{'$or':_[_0xd65e('0x26')](_0x5b4a5c['attributes'],function(_0x522894){var _0x1dab6b={};_0x1dab6b[_0x522894]={'$like':'%'+_0x1472d2[_0xd65e('0x2b')][_0xd65e('0x37')]+'%'};return _0x1dab6b;})});}_0x5b4a5c=_[_0xd65e('0x38')]({},_0x5b4a5c,_0x1472d2['options']);return _0x28c99f['getDescriptions'](_0x5b4a5c);}})[_0xd65e('0x21')](function(_0x364055){if(_0x364055){_0x833870=_0x364055[_0xd65e('0x31')];if(!_0x1472d2['query'][_0xd65e('0x32')](_0xd65e('0x33'))){_0x5b4a5c[_0xd65e('0x1d')]=qs[_0xd65e('0x1d')](_0x1472d2[_0xd65e('0x2b')][_0xd65e('0x1d')]);_0x5b4a5c[_0xd65e('0x1b')]=qs[_0xd65e('0x1b')](_0x1472d2['query'][_0xd65e('0x1b')]);}return _0x28c99f[_0xd65e('0x4c')](_0x5b4a5c);}})['then'](function(_0x193bed){if(_0x193bed){return _0x193bed?{'count':_0x833870,'rows':_0x193bed}:null;}})[_0xd65e('0x21')](respondWithResult(_0x547877,null))[_0xd65e('0x40')](handleError(_0x547877,null));};