Built motion from commit ffdca78c.|2.6.24
[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 _0xecb3=['filter','hasOwnProperty','nolimit','getSubjects','getDescriptions','eml-format','rimraf','zip-dir','fast-json-patch','moment','bluebird','util','to-csv','ejs','fs-extra','lodash','jsforce','desk.js','querystring','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','../../config/logger','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','offset','limit','set','Content-Range','json','apply','reject','save','update','then','error','stack','name','send','index','map','ServicenowConfiguration','rawAttributes','fieldName','type','model','query','keys','filters','intersection','fields','attributes','length','order','sort','where','pick','merge','VIRTUAL','options','count','includeAll','include','rows','catch','params','find','create','body','destroy','getFields','findOne','ServicenowField'];(function(_0x5bd044,_0xafd5fa){var _0x582fd7=function(_0x1accb9){while(--_0x1accb9){_0x5bd044['push'](_0x5bd044['shift']());}};_0x582fd7(++_0xafd5fa);}(_0xecb3,0x190));var _0x3ecb=function(_0x1a9204,_0x1c9e00){_0x1a9204=_0x1a9204-0x0;var _0x17ca68=_0xecb3[_0x1a9204];return _0x17ca68;};'use strict';var emlformat=require(_0x3ecb('0x0'));var rimraf=require(_0x3ecb('0x1'));var zipdir=require(_0x3ecb('0x2'));var jsonpatch=require(_0x3ecb('0x3'));var rp=require('request-promise');var moment=require(_0x3ecb('0x4'));var BPromise=require(_0x3ecb('0x5'));var Mustache=require('mustache');var util=require(_0x3ecb('0x6'));var path=require('path');var sox=require('sox');var csv=require(_0x3ecb('0x7'));var ejs=require(_0x3ecb('0x8'));var fs=require('fs');var fs_extra=require(_0x3ecb('0x9'));var _=require(_0x3ecb('0xa'));var squel=require('squel');var crypto=require('crypto');var jsforce=require(_0x3ecb('0xb'));var deskjs=require(_0x3ecb('0xc'));var toCsv=require('to-csv');var querystring=require(_0x3ecb('0xd'));var Papa=require('papaparse');var Redis=require(_0x3ecb('0xe'));var authService=require(_0x3ecb('0xf'));var qs=require(_0x3ecb('0x10'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x3ecb('0x11'));var logger=require(_0x3ecb('0x12'))('api');var utils=require(_0x3ecb('0x13'));var config=require(_0x3ecb('0x14'));var licenseUtil=require(_0x3ecb('0x15'));var db=require(_0x3ecb('0x16'))['db'];function respondWithStatusCode(_0x2d5834,_0x28102c){_0x28102c=_0x28102c||0xcc;return function(_0x5148cb){if(_0x5148cb){return _0x2d5834[_0x3ecb('0x17')](_0x28102c);}return _0x2d5834[_0x3ecb('0x18')](_0x28102c)[_0x3ecb('0x19')]();};}function respondWithResult(_0x45ee56,_0x19d968){_0x19d968=_0x19d968||0xc8;return function(_0x24a687){if(_0x24a687){return _0x45ee56['status'](_0x19d968)['json'](_0x24a687);}};}function respondWithFilteredResult(_0x4705eb,_0x1f9664){return function(_0x3c3443){if(_0x3c3443){var _0x4229cf=typeof _0x1f9664[_0x3ecb('0x1a')]==='undefined'&&typeof _0x1f9664[_0x3ecb('0x1b')]==='undefined';var _0x5b1a5f=_0x3c3443['count'];var _0x3c3aec=_0x4229cf?0x0:_0x1f9664[_0x3ecb('0x1a')];var _0x40c254=_0x4229cf?_0x3c3443['count']:_0x1f9664[_0x3ecb('0x1a')]+_0x1f9664['limit'];var _0x357d67;if(_0x40c254>=_0x5b1a5f){_0x40c254=_0x5b1a5f;_0x357d67=0xc8;}else{_0x357d67=0xce;}_0x4705eb[_0x3ecb('0x18')](_0x357d67);return _0x4705eb[_0x3ecb('0x1c')](_0x3ecb('0x1d'),_0x3c3aec+'-'+_0x40c254+'/'+_0x5b1a5f)[_0x3ecb('0x1e')](_0x3c3443);}return null;};}function patchUpdates(_0x349f89){return function(_0x3ade1c){try{jsonpatch[_0x3ecb('0x1f')](_0x3ade1c,_0x349f89,!![]);}catch(_0x50ee76){return BPromise[_0x3ecb('0x20')](_0x50ee76);}return _0x3ade1c[_0x3ecb('0x21')]();};}function saveUpdates(_0x176d44,_0x2345e4){return function(_0xa90de1){if(_0xa90de1){return _0xa90de1[_0x3ecb('0x22')](_0x176d44)[_0x3ecb('0x23')](function(_0x3b3ac2){return _0x3b3ac2;});}return null;};}function removeEntity(_0x13535c,_0x4be1a1){return function(_0x4596eb){if(_0x4596eb){return _0x4596eb['destroy']()[_0x3ecb('0x23')](function(){_0x13535c[_0x3ecb('0x18')](0xcc)[_0x3ecb('0x19')]();});}};}function handleEntityNotFound(_0x18aa52,_0x51e5d5){return function(_0x20f6c6){if(!_0x20f6c6){_0x18aa52[_0x3ecb('0x17')](0x194);}return _0x20f6c6;};}function handleError(_0x53532e,_0x27c1b1){_0x27c1b1=_0x27c1b1||0x1f4;return function(_0x1dc3a6){logger[_0x3ecb('0x24')](_0x1dc3a6[_0x3ecb('0x25')]);if(_0x1dc3a6[_0x3ecb('0x26')]){delete _0x1dc3a6['name'];}_0x53532e['status'](_0x27c1b1)[_0x3ecb('0x27')](_0x1dc3a6);};}exports[_0x3ecb('0x28')]=function(_0x57de97,_0x10cff2){var _0x108aba={},_0x70d5f4={},_0x24cb84={'count':0x0,'rows':[]};var _0x35af88=_[_0x3ecb('0x29')](db[_0x3ecb('0x2a')][_0x3ecb('0x2b')],function(_0xd4ca11){return{'name':_0xd4ca11[_0x3ecb('0x2c')],'type':_0xd4ca11[_0x3ecb('0x2d')]['key']};});_0x70d5f4[_0x3ecb('0x2e')]=_[_0x3ecb('0x29')](_0x35af88,_0x3ecb('0x26'));_0x70d5f4[_0x3ecb('0x2f')]=_[_0x3ecb('0x30')](_0x57de97['query']);_0x70d5f4[_0x3ecb('0x31')]=_[_0x3ecb('0x32')](_0x70d5f4[_0x3ecb('0x2e')],_0x70d5f4[_0x3ecb('0x2f')]);_0x108aba['attributes']=_['intersection'](_0x70d5f4['model'],qs[_0x3ecb('0x33')](_0x57de97[_0x3ecb('0x2f')][_0x3ecb('0x33')]));_0x108aba['attributes']=_0x108aba[_0x3ecb('0x34')][_0x3ecb('0x35')]?_0x108aba[_0x3ecb('0x34')]:_0x70d5f4[_0x3ecb('0x2e')];if(!_0x57de97[_0x3ecb('0x2f')]['hasOwnProperty']('nolimit')){_0x108aba[_0x3ecb('0x1b')]=qs['limit'](_0x57de97[_0x3ecb('0x2f')][_0x3ecb('0x1b')]);_0x108aba[_0x3ecb('0x1a')]=qs[_0x3ecb('0x1a')](_0x57de97[_0x3ecb('0x2f')][_0x3ecb('0x1a')]);}_0x108aba[_0x3ecb('0x36')]=qs['sort'](_0x57de97[_0x3ecb('0x2f')][_0x3ecb('0x37')]);_0x108aba[_0x3ecb('0x38')]=qs['filters'](_[_0x3ecb('0x39')](_0x57de97['query'],_0x70d5f4['filters']),_0x35af88);if(_0x57de97['query']['filter']){_0x108aba['where']=_[_0x3ecb('0x3a')](_0x108aba[_0x3ecb('0x38')],{'$or':_[_0x3ecb('0x29')](_0x35af88,function(_0x3f6dca){if(_0x3f6dca[_0x3ecb('0x2d')]!==_0x3ecb('0x3b')){var _0x67ef46={};_0x67ef46[_0x3f6dca[_0x3ecb('0x26')]]={'$like':'%'+_0x57de97['query']['filter']+'%'};return _0x67ef46;}})});}_0x108aba=_['merge']({},_0x108aba,_0x57de97[_0x3ecb('0x3c')]);var _0x4075a1={'where':_0x108aba[_0x3ecb('0x38')]};return db[_0x3ecb('0x2a')][_0x3ecb('0x3d')](_0x4075a1)[_0x3ecb('0x23')](function(_0x3e0dde){_0x24cb84[_0x3ecb('0x3d')]=_0x3e0dde;if(_0x57de97['query'][_0x3ecb('0x3e')]){_0x108aba[_0x3ecb('0x3f')]=[{'all':!![]}];}return db['ServicenowConfiguration']['findAll'](_0x108aba);})[_0x3ecb('0x23')](function(_0x28eddc){_0x24cb84[_0x3ecb('0x40')]=_0x28eddc;return _0x24cb84;})[_0x3ecb('0x23')](respondWithFilteredResult(_0x10cff2,_0x108aba))[_0x3ecb('0x41')](handleError(_0x10cff2,null));};exports['show']=function(_0x589b9e,_0x240e11){var _0x1405c4={'raw':![],'where':{'id':_0x589b9e[_0x3ecb('0x42')]['id']}},_0x3bbc0b={};_0x3bbc0b[_0x3ecb('0x2e')]=_[_0x3ecb('0x30')](db[_0x3ecb('0x2a')][_0x3ecb('0x2b')]);_0x3bbc0b['query']=_[_0x3ecb('0x30')](_0x589b9e[_0x3ecb('0x2f')]);_0x3bbc0b['filters']=_['intersection'](_0x3bbc0b[_0x3ecb('0x2e')],_0x3bbc0b[_0x3ecb('0x2f')]);_0x1405c4[_0x3ecb('0x34')]=_[_0x3ecb('0x32')](_0x3bbc0b[_0x3ecb('0x2e')],qs['fields'](_0x589b9e[_0x3ecb('0x2f')][_0x3ecb('0x33')]));_0x1405c4[_0x3ecb('0x34')]=_0x1405c4[_0x3ecb('0x34')][_0x3ecb('0x35')]?_0x1405c4[_0x3ecb('0x34')]:_0x3bbc0b[_0x3ecb('0x2e')];if(_0x589b9e[_0x3ecb('0x2f')]['includeAll']){_0x1405c4[_0x3ecb('0x3f')]=[{'all':!![]}];}_0x1405c4=_[_0x3ecb('0x3a')]({},_0x1405c4,_0x589b9e[_0x3ecb('0x3c')]);return db[_0x3ecb('0x2a')][_0x3ecb('0x43')](_0x1405c4)[_0x3ecb('0x23')](handleEntityNotFound(_0x240e11,null))['then'](respondWithResult(_0x240e11,null))[_0x3ecb('0x41')](handleError(_0x240e11,null));};exports[_0x3ecb('0x44')]=function(_0x336f9a,_0x488b24){return db[_0x3ecb('0x2a')][_0x3ecb('0x44')](_0x336f9a[_0x3ecb('0x45')],{})[_0x3ecb('0x23')](respondWithResult(_0x488b24,0xc9))[_0x3ecb('0x41')](handleError(_0x488b24,null));};exports[_0x3ecb('0x22')]=function(_0x5d3672,_0x4a0b5c){if(_0x5d3672[_0x3ecb('0x45')]['id']){delete _0x5d3672[_0x3ecb('0x45')]['id'];}return db[_0x3ecb('0x2a')]['find']({'where':{'id':_0x5d3672[_0x3ecb('0x42')]['id']}})[_0x3ecb('0x23')](handleEntityNotFound(_0x4a0b5c,null))[_0x3ecb('0x23')](saveUpdates(_0x5d3672[_0x3ecb('0x45')],null))[_0x3ecb('0x23')](respondWithResult(_0x4a0b5c,null))[_0x3ecb('0x41')](handleError(_0x4a0b5c,null));};exports[_0x3ecb('0x46')]=function(_0x3b3e4c,_0x48f4ac){return db['ServicenowConfiguration'][_0x3ecb('0x43')]({'where':{'id':_0x3b3e4c[_0x3ecb('0x42')]['id']}})[_0x3ecb('0x23')](handleEntityNotFound(_0x48f4ac,null))['then'](removeEntity(_0x48f4ac,null))[_0x3ecb('0x41')](handleError(_0x48f4ac,null));};exports[_0x3ecb('0x47')]=function(_0x4f73fc,_0x28c79a,_0x22a8ce){var _0x4ad37b={};var _0x1fd23d={};var _0x2f02d0;var _0xe4b28f;return db[_0x3ecb('0x2a')][_0x3ecb('0x48')]({'where':{'id':_0x4f73fc[_0x3ecb('0x42')]['id']}})[_0x3ecb('0x23')](handleEntityNotFound(_0x28c79a,null))[_0x3ecb('0x23')](function(_0x28fd12){if(_0x28fd12){_0x2f02d0=_0x28fd12;_0x1fd23d['model']=_[_0x3ecb('0x30')](db[_0x3ecb('0x49')][_0x3ecb('0x2b')]);_0x1fd23d[_0x3ecb('0x2f')]=_[_0x3ecb('0x30')](_0x4f73fc[_0x3ecb('0x2f')]);_0x1fd23d[_0x3ecb('0x31')]=_[_0x3ecb('0x32')](_0x1fd23d[_0x3ecb('0x2e')],_0x1fd23d[_0x3ecb('0x2f')]);_0x4ad37b[_0x3ecb('0x34')]=_['intersection'](_0x1fd23d[_0x3ecb('0x2e')],qs[_0x3ecb('0x33')](_0x4f73fc['query'][_0x3ecb('0x33')]));_0x4ad37b[_0x3ecb('0x34')]=_0x4ad37b[_0x3ecb('0x34')][_0x3ecb('0x35')]?_0x4ad37b[_0x3ecb('0x34')]:_0x1fd23d[_0x3ecb('0x2e')];_0x4ad37b['order']=qs[_0x3ecb('0x37')](_0x4f73fc[_0x3ecb('0x2f')][_0x3ecb('0x37')]);_0x4ad37b[_0x3ecb('0x38')]=qs[_0x3ecb('0x31')](_[_0x3ecb('0x39')](_0x4f73fc[_0x3ecb('0x2f')],_0x1fd23d[_0x3ecb('0x31')]));if(_0x4f73fc[_0x3ecb('0x2f')][_0x3ecb('0x4a')]){_0x4ad37b[_0x3ecb('0x38')]=_[_0x3ecb('0x3a')](_0x4ad37b['where'],{'$or':_[_0x3ecb('0x29')](_0x4ad37b[_0x3ecb('0x34')],function(_0x216a21){var _0x5710de={};_0x5710de[_0x216a21]={'$like':'%'+_0x4f73fc[_0x3ecb('0x2f')][_0x3ecb('0x4a')]+'%'};return _0x5710de;})});}_0x4ad37b=_['merge']({},_0x4ad37b,_0x4f73fc[_0x3ecb('0x3c')]);return _0x2f02d0[_0x3ecb('0x47')](_0x4ad37b);}})['then'](function(_0x1ed930){if(_0x1ed930){_0xe4b28f=_0x1ed930[_0x3ecb('0x35')];if(!_0x4f73fc[_0x3ecb('0x2f')][_0x3ecb('0x4b')](_0x3ecb('0x4c'))){_0x4ad37b['limit']=qs[_0x3ecb('0x1b')](_0x4f73fc[_0x3ecb('0x2f')][_0x3ecb('0x1b')]);_0x4ad37b[_0x3ecb('0x1a')]=qs['offset'](_0x4f73fc[_0x3ecb('0x2f')][_0x3ecb('0x1a')]);}return _0x2f02d0[_0x3ecb('0x47')](_0x4ad37b);}})[_0x3ecb('0x23')](function(_0x4af566){if(_0x4af566){return _0x4af566?{'count':_0xe4b28f,'rows':_0x4af566}:null;}})[_0x3ecb('0x23')](respondWithResult(_0x28c79a,null))[_0x3ecb('0x41')](handleError(_0x28c79a,null));};exports[_0x3ecb('0x4d')]=function(_0x2256f8,_0x412aa5,_0x223681){var _0x55fd88={};var _0xc1be7a={};var _0x3d6b54;var _0xbf0a2b;return db['ServicenowConfiguration'][_0x3ecb('0x48')]({'where':{'id':_0x2256f8[_0x3ecb('0x42')]['id']}})['then'](handleEntityNotFound(_0x412aa5,null))[_0x3ecb('0x23')](function(_0x25be95){if(_0x25be95){_0x3d6b54=_0x25be95;_0xc1be7a[_0x3ecb('0x2e')]=_['keys'](db[_0x3ecb('0x49')][_0x3ecb('0x2b')]);_0xc1be7a[_0x3ecb('0x2f')]=_['keys'](_0x2256f8[_0x3ecb('0x2f')]);_0xc1be7a[_0x3ecb('0x31')]=_[_0x3ecb('0x32')](_0xc1be7a[_0x3ecb('0x2e')],_0xc1be7a['query']);_0x55fd88[_0x3ecb('0x34')]=_[_0x3ecb('0x32')](_0xc1be7a[_0x3ecb('0x2e')],qs[_0x3ecb('0x33')](_0x2256f8[_0x3ecb('0x2f')][_0x3ecb('0x33')]));_0x55fd88['attributes']=_0x55fd88[_0x3ecb('0x34')][_0x3ecb('0x35')]?_0x55fd88['attributes']:_0xc1be7a[_0x3ecb('0x2e')];_0x55fd88[_0x3ecb('0x36')]=qs[_0x3ecb('0x37')](_0x2256f8[_0x3ecb('0x2f')][_0x3ecb('0x37')]);_0x55fd88[_0x3ecb('0x38')]=qs[_0x3ecb('0x31')](_['pick'](_0x2256f8['query'],_0xc1be7a['filters']));if(_0x2256f8[_0x3ecb('0x2f')]['filter']){_0x55fd88[_0x3ecb('0x38')]=_[_0x3ecb('0x3a')](_0x55fd88['where'],{'$or':_[_0x3ecb('0x29')](_0x55fd88['attributes'],function(_0x3d2aa5){var _0x2453fd={};_0x2453fd[_0x3d2aa5]={'$like':'%'+_0x2256f8[_0x3ecb('0x2f')]['filter']+'%'};return _0x2453fd;})});}_0x55fd88=_[_0x3ecb('0x3a')]({},_0x55fd88,_0x2256f8[_0x3ecb('0x3c')]);return _0x3d6b54[_0x3ecb('0x4d')](_0x55fd88);}})[_0x3ecb('0x23')](function(_0x16e1f1){if(_0x16e1f1){_0xbf0a2b=_0x16e1f1[_0x3ecb('0x35')];if(!_0x2256f8[_0x3ecb('0x2f')]['hasOwnProperty']('nolimit')){_0x55fd88[_0x3ecb('0x1b')]=qs[_0x3ecb('0x1b')](_0x2256f8['query'][_0x3ecb('0x1b')]);_0x55fd88['offset']=qs['offset'](_0x2256f8[_0x3ecb('0x2f')][_0x3ecb('0x1a')]);}return _0x3d6b54[_0x3ecb('0x4d')](_0x55fd88);}})[_0x3ecb('0x23')](function(_0x2ff0b9){if(_0x2ff0b9){return _0x2ff0b9?{'count':_0xbf0a2b,'rows':_0x2ff0b9}:null;}})[_0x3ecb('0x23')](respondWithResult(_0x412aa5,null))[_0x3ecb('0x41')](handleError(_0x412aa5,null));};exports[_0x3ecb('0x4e')]=function(_0x55e471,_0x8b312f,_0x4eff2a){var _0x5f0337={};var _0xfa6450={};var _0x21f04f;var _0x517f21;return db['ServicenowConfiguration'][_0x3ecb('0x48')]({'where':{'id':_0x55e471[_0x3ecb('0x42')]['id']}})[_0x3ecb('0x23')](handleEntityNotFound(_0x8b312f,null))[_0x3ecb('0x23')](function(_0x1cae57){if(_0x1cae57){_0x21f04f=_0x1cae57;_0xfa6450[_0x3ecb('0x2e')]=_[_0x3ecb('0x30')](db[_0x3ecb('0x49')][_0x3ecb('0x2b')]);_0xfa6450[_0x3ecb('0x2f')]=_[_0x3ecb('0x30')](_0x55e471['query']);_0xfa6450[_0x3ecb('0x31')]=_[_0x3ecb('0x32')](_0xfa6450[_0x3ecb('0x2e')],_0xfa6450[_0x3ecb('0x2f')]);_0x5f0337[_0x3ecb('0x34')]=_[_0x3ecb('0x32')](_0xfa6450[_0x3ecb('0x2e')],qs[_0x3ecb('0x33')](_0x55e471['query'][_0x3ecb('0x33')]));_0x5f0337[_0x3ecb('0x34')]=_0x5f0337[_0x3ecb('0x34')][_0x3ecb('0x35')]?_0x5f0337[_0x3ecb('0x34')]:_0xfa6450[_0x3ecb('0x2e')];_0x5f0337[_0x3ecb('0x36')]=qs['sort'](_0x55e471[_0x3ecb('0x2f')][_0x3ecb('0x37')]);_0x5f0337[_0x3ecb('0x38')]=qs[_0x3ecb('0x31')](_[_0x3ecb('0x39')](_0x55e471['query'],_0xfa6450[_0x3ecb('0x31')]));if(_0x55e471[_0x3ecb('0x2f')][_0x3ecb('0x4a')]){_0x5f0337[_0x3ecb('0x38')]=_['merge'](_0x5f0337[_0x3ecb('0x38')],{'$or':_['map'](_0x5f0337[_0x3ecb('0x34')],function(_0x35c0de){var _0xa1a024={};_0xa1a024[_0x35c0de]={'$like':'%'+_0x55e471[_0x3ecb('0x2f')][_0x3ecb('0x4a')]+'%'};return _0xa1a024;})});}_0x5f0337=_[_0x3ecb('0x3a')]({},_0x5f0337,_0x55e471[_0x3ecb('0x3c')]);return _0x21f04f[_0x3ecb('0x4e')](_0x5f0337);}})[_0x3ecb('0x23')](function(_0xe2728e){if(_0xe2728e){_0x517f21=_0xe2728e[_0x3ecb('0x35')];if(!_0x55e471[_0x3ecb('0x2f')][_0x3ecb('0x4b')](_0x3ecb('0x4c'))){_0x5f0337[_0x3ecb('0x1b')]=qs[_0x3ecb('0x1b')](_0x55e471[_0x3ecb('0x2f')][_0x3ecb('0x1b')]);_0x5f0337[_0x3ecb('0x1a')]=qs[_0x3ecb('0x1a')](_0x55e471[_0x3ecb('0x2f')][_0x3ecb('0x1a')]);}return _0x21f04f[_0x3ecb('0x4e')](_0x5f0337);}})[_0x3ecb('0x23')](function(_0x390131){if(_0x390131){return _0x390131?{'count':_0x517f21,'rows':_0x390131}:null;}})[_0x3ecb('0x23')](respondWithResult(_0x8b312f,null))[_0x3ecb('0x41')](handleError(_0x8b312f,null));};