Built motion from commit 775e2a94.|2.6.3
[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 _0x8577=['../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/license/util','../../mysqldb','sendStatus','status','json','limit','undefined','count','offset','apply','reject','save','destroy','end','error','name','send','map','ServicenowConfiguration','fieldName','type','key','model','keys','filters','intersection','query','attributes','fields','length','nolimit','order','pick','where','VIRTUAL','filter','merge','options','then','include','rows','catch','show','rawAttributes','create','body','find','params','getFields','findOne','sort','getSubjects','ServicenowField','hasOwnProperty','getDescriptions','eml-format','rimraf','zip-dir','request-promise','bluebird','mustache','util','path','sox','to-csv','ejs','desk.js','querystring','papaparse','ioredis','../../components/auth/service'];(function(_0x15833e,_0x58a046){var _0x5c4745=function(_0x2d1a2c){while(--_0x2d1a2c){_0x15833e['push'](_0x15833e['shift']());}};_0x5c4745(++_0x58a046);}(_0x8577,0x1be));var _0x7857=function(_0x4f4cea,_0x78d06c){_0x4f4cea=_0x4f4cea-0x0;var _0x1d00bb=_0x8577[_0x4f4cea];return _0x1d00bb;};'use strict';var emlformat=require(_0x7857('0x0'));var rimraf=require(_0x7857('0x1'));var zipdir=require(_0x7857('0x2'));var jsonpatch=require('fast-json-patch');var rp=require(_0x7857('0x3'));var moment=require('moment');var BPromise=require(_0x7857('0x4'));var Mustache=require(_0x7857('0x5'));var util=require(_0x7857('0x6'));var path=require(_0x7857('0x7'));var sox=require(_0x7857('0x8'));var csv=require(_0x7857('0x9'));var ejs=require(_0x7857('0xa'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require('lodash');var squel=require('squel');var crypto=require('crypto');var jsforce=require('jsforce');var deskjs=require(_0x7857('0xb'));var toCsv=require(_0x7857('0x9'));var querystring=require(_0x7857('0xc'));var Papa=require(_0x7857('0xd'));var Redis=require(_0x7857('0xe'));var authService=require(_0x7857('0xf'));var qs=require(_0x7857('0x10'));var as=require(_0x7857('0x11'));var hardwareService=require(_0x7857('0x12'));var logger=require(_0x7857('0x13'))(_0x7857('0x14'));var utils=require(_0x7857('0x15'));var config=require('../../config/environment');var licenseUtil=require(_0x7857('0x16'));var db=require(_0x7857('0x17'))['db'];function respondWithStatusCode(_0x4dec6b,_0x104357){_0x104357=_0x104357||0xcc;return function(_0x15adf1){if(_0x15adf1){return _0x4dec6b[_0x7857('0x18')](_0x104357);}return _0x4dec6b['status'](_0x104357)['end']();};}function respondWithResult(_0x2fbe39,_0x31a91a){_0x31a91a=_0x31a91a||0xc8;return function(_0xb14378){if(_0xb14378){return _0x2fbe39[_0x7857('0x19')](_0x31a91a)[_0x7857('0x1a')](_0xb14378);}};}function respondWithFilteredResult(_0x6a08de,_0x394a3c){return function(_0x3ba266){if(_0x3ba266){var _0x4320c3=typeof _0x394a3c['offset']==='undefined'&&typeof _0x394a3c[_0x7857('0x1b')]===_0x7857('0x1c');var _0x1317f0=_0x3ba266[_0x7857('0x1d')];var _0x369447=_0x4320c3?0x0:_0x394a3c[_0x7857('0x1e')];var _0x717e44=_0x4320c3?_0x3ba266[_0x7857('0x1d')]:_0x394a3c[_0x7857('0x1e')]+_0x394a3c['limit'];var _0x436685;if(_0x717e44>=_0x1317f0){_0x717e44=_0x1317f0;_0x436685=0xc8;}else{_0x436685=0xce;}_0x6a08de[_0x7857('0x19')](_0x436685);return _0x6a08de['set']('Content-Range',_0x369447+'-'+_0x717e44+'/'+_0x1317f0)[_0x7857('0x1a')](_0x3ba266);}return null;};}function patchUpdates(_0x492fc7){return function(_0x57e15d){try{jsonpatch[_0x7857('0x1f')](_0x57e15d,_0x492fc7,!![]);}catch(_0x54304c){return BPromise[_0x7857('0x20')](_0x54304c);}return _0x57e15d[_0x7857('0x21')]();};}function saveUpdates(_0x5f07a2,_0x122cae){return function(_0x5fd68f){if(_0x5fd68f){return _0x5fd68f['update'](_0x5f07a2)['then'](function(_0x5646bb){return _0x5646bb;});}return null;};}function removeEntity(_0x5a6647,_0x559a67){return function(_0x131ee3){if(_0x131ee3){return _0x131ee3[_0x7857('0x22')]()['then'](function(){_0x5a6647[_0x7857('0x19')](0xcc)[_0x7857('0x23')]();});}};}function handleEntityNotFound(_0x580acb,_0x34de8d){return function(_0x73980c){if(!_0x73980c){_0x580acb[_0x7857('0x18')](0x194);}return _0x73980c;};}function handleError(_0x2235fd,_0x57548a){_0x57548a=_0x57548a||0x1f4;return function(_0x55b788){logger[_0x7857('0x24')](_0x55b788['stack']);if(_0x55b788[_0x7857('0x25')]){delete _0x55b788['name'];}_0x2235fd[_0x7857('0x19')](_0x57548a)[_0x7857('0x26')](_0x55b788);};}exports['index']=function(_0x1beb6f,_0x4fa2ca){var _0x1f6ad4={},_0x5453cc={},_0x3a5cfb={'count':0x0,'rows':[]};var _0x51a721=_[_0x7857('0x27')](db[_0x7857('0x28')]['rawAttributes'],function(_0x275cab){return{'name':_0x275cab[_0x7857('0x29')],'type':_0x275cab[_0x7857('0x2a')][_0x7857('0x2b')]};});_0x5453cc[_0x7857('0x2c')]=_['map'](_0x51a721,'name');_0x5453cc['query']=_[_0x7857('0x2d')](_0x1beb6f['query']);_0x5453cc[_0x7857('0x2e')]=_[_0x7857('0x2f')](_0x5453cc[_0x7857('0x2c')],_0x5453cc[_0x7857('0x30')]);_0x1f6ad4[_0x7857('0x31')]=_['intersection'](_0x5453cc[_0x7857('0x2c')],qs[_0x7857('0x32')](_0x1beb6f[_0x7857('0x30')][_0x7857('0x32')]));_0x1f6ad4[_0x7857('0x31')]=_0x1f6ad4[_0x7857('0x31')][_0x7857('0x33')]?_0x1f6ad4['attributes']:_0x5453cc[_0x7857('0x2c')];if(!_0x1beb6f['query']['hasOwnProperty'](_0x7857('0x34'))){_0x1f6ad4[_0x7857('0x1b')]=qs['limit'](_0x1beb6f[_0x7857('0x30')][_0x7857('0x1b')]);_0x1f6ad4[_0x7857('0x1e')]=qs['offset'](_0x1beb6f[_0x7857('0x30')][_0x7857('0x1e')]);}_0x1f6ad4[_0x7857('0x35')]=qs['sort'](_0x1beb6f['query']['sort']);_0x1f6ad4['where']=qs[_0x7857('0x2e')](_[_0x7857('0x36')](_0x1beb6f[_0x7857('0x30')],_0x5453cc[_0x7857('0x2e')]),_0x51a721);if(_0x1beb6f[_0x7857('0x30')]['filter']){_0x1f6ad4[_0x7857('0x37')]=_['merge'](_0x1f6ad4['where'],{'$or':_['map'](_0x51a721,function(_0x36d763){if(_0x36d763['type']!==_0x7857('0x38')){var _0x19887c={};_0x19887c[_0x36d763[_0x7857('0x25')]]={'$like':'%'+_0x1beb6f[_0x7857('0x30')][_0x7857('0x39')]+'%'};return _0x19887c;}})});}_0x1f6ad4=_[_0x7857('0x3a')]({},_0x1f6ad4,_0x1beb6f[_0x7857('0x3b')]);var _0x41a031={'where':_0x1f6ad4[_0x7857('0x37')]};return db['ServicenowConfiguration'][_0x7857('0x1d')](_0x41a031)[_0x7857('0x3c')](function(_0x23860d){_0x3a5cfb[_0x7857('0x1d')]=_0x23860d;if(_0x1beb6f[_0x7857('0x30')]['includeAll']){_0x1f6ad4[_0x7857('0x3d')]=[{'all':!![]}];}return db[_0x7857('0x28')]['findAll'](_0x1f6ad4);})[_0x7857('0x3c')](function(_0x44c158){_0x3a5cfb[_0x7857('0x3e')]=_0x44c158;return _0x3a5cfb;})[_0x7857('0x3c')](respondWithFilteredResult(_0x4fa2ca,_0x1f6ad4))[_0x7857('0x3f')](handleError(_0x4fa2ca,null));};exports[_0x7857('0x40')]=function(_0x454790,_0x3dc809){var _0x1f06c0={'raw':![],'where':{'id':_0x454790['params']['id']}},_0x52a24c={};_0x52a24c[_0x7857('0x2c')]=_['keys'](db[_0x7857('0x28')][_0x7857('0x41')]);_0x52a24c[_0x7857('0x30')]=_['keys'](_0x454790['query']);_0x52a24c['filters']=_[_0x7857('0x2f')](_0x52a24c[_0x7857('0x2c')],_0x52a24c['query']);_0x1f06c0[_0x7857('0x31')]=_[_0x7857('0x2f')](_0x52a24c['model'],qs[_0x7857('0x32')](_0x454790[_0x7857('0x30')]['fields']));_0x1f06c0[_0x7857('0x31')]=_0x1f06c0['attributes']['length']?_0x1f06c0[_0x7857('0x31')]:_0x52a24c[_0x7857('0x2c')];if(_0x454790[_0x7857('0x30')]['includeAll']){_0x1f06c0['include']=[{'all':!![]}];}_0x1f06c0=_[_0x7857('0x3a')]({},_0x1f06c0,_0x454790[_0x7857('0x3b')]);return db[_0x7857('0x28')]['find'](_0x1f06c0)[_0x7857('0x3c')](handleEntityNotFound(_0x3dc809,null))[_0x7857('0x3c')](respondWithResult(_0x3dc809,null))['catch'](handleError(_0x3dc809,null));};exports['create']=function(_0x1b8bd3,_0x5b7365){return db[_0x7857('0x28')][_0x7857('0x42')](_0x1b8bd3['body'],{})[_0x7857('0x3c')](respondWithResult(_0x5b7365,0xc9))[_0x7857('0x3f')](handleError(_0x5b7365,null));};exports['update']=function(_0x3522d1,_0x26a759){if(_0x3522d1[_0x7857('0x43')]['id']){delete _0x3522d1[_0x7857('0x43')]['id'];}return db[_0x7857('0x28')][_0x7857('0x44')]({'where':{'id':_0x3522d1[_0x7857('0x45')]['id']}})[_0x7857('0x3c')](handleEntityNotFound(_0x26a759,null))[_0x7857('0x3c')](saveUpdates(_0x3522d1[_0x7857('0x43')],null))['then'](respondWithResult(_0x26a759,null))[_0x7857('0x3f')](handleError(_0x26a759,null));};exports[_0x7857('0x22')]=function(_0x36ca9f,_0x531348){return db[_0x7857('0x28')][_0x7857('0x44')]({'where':{'id':_0x36ca9f[_0x7857('0x45')]['id']}})['then'](handleEntityNotFound(_0x531348,null))['then'](removeEntity(_0x531348,null))['catch'](handleError(_0x531348,null));};exports[_0x7857('0x46')]=function(_0x478a87,_0x64edbf,_0x4a8c29){var _0xeae788={};var _0x53b04a={};var _0x58360a;var _0x3c3b26;return db[_0x7857('0x28')][_0x7857('0x47')]({'where':{'id':_0x478a87[_0x7857('0x45')]['id']}})[_0x7857('0x3c')](handleEntityNotFound(_0x64edbf,null))[_0x7857('0x3c')](function(_0x305a5d){if(_0x305a5d){_0x58360a=_0x305a5d;_0x53b04a[_0x7857('0x2c')]=_['keys'](db['ServicenowField'][_0x7857('0x41')]);_0x53b04a[_0x7857('0x30')]=_[_0x7857('0x2d')](_0x478a87[_0x7857('0x30')]);_0x53b04a[_0x7857('0x2e')]=_['intersection'](_0x53b04a[_0x7857('0x2c')],_0x53b04a[_0x7857('0x30')]);_0xeae788['attributes']=_['intersection'](_0x53b04a[_0x7857('0x2c')],qs[_0x7857('0x32')](_0x478a87['query'][_0x7857('0x32')]));_0xeae788[_0x7857('0x31')]=_0xeae788[_0x7857('0x31')][_0x7857('0x33')]?_0xeae788['attributes']:_0x53b04a[_0x7857('0x2c')];_0xeae788[_0x7857('0x35')]=qs[_0x7857('0x48')](_0x478a87['query'][_0x7857('0x48')]);_0xeae788[_0x7857('0x37')]=qs[_0x7857('0x2e')](_['pick'](_0x478a87[_0x7857('0x30')],_0x53b04a[_0x7857('0x2e')]));if(_0x478a87[_0x7857('0x30')]['filter']){_0xeae788[_0x7857('0x37')]=_['merge'](_0xeae788[_0x7857('0x37')],{'$or':_[_0x7857('0x27')](_0xeae788[_0x7857('0x31')],function(_0x115e1e){var _0x1d0693={};_0x1d0693[_0x115e1e]={'$like':'%'+_0x478a87[_0x7857('0x30')][_0x7857('0x39')]+'%'};return _0x1d0693;})});}_0xeae788=_['merge']({},_0xeae788,_0x478a87[_0x7857('0x3b')]);return _0x58360a[_0x7857('0x46')](_0xeae788);}})[_0x7857('0x3c')](function(_0x3ce570){if(_0x3ce570){_0x3c3b26=_0x3ce570[_0x7857('0x33')];if(!_0x478a87[_0x7857('0x30')]['hasOwnProperty']('nolimit')){_0xeae788[_0x7857('0x1b')]=qs['limit'](_0x478a87[_0x7857('0x30')][_0x7857('0x1b')]);_0xeae788['offset']=qs[_0x7857('0x1e')](_0x478a87['query'][_0x7857('0x1e')]);}return _0x58360a[_0x7857('0x46')](_0xeae788);}})[_0x7857('0x3c')](function(_0x49303d){if(_0x49303d){return _0x49303d?{'count':_0x3c3b26,'rows':_0x49303d}:null;}})[_0x7857('0x3c')](respondWithResult(_0x64edbf,null))[_0x7857('0x3f')](handleError(_0x64edbf,null));};exports[_0x7857('0x49')]=function(_0x131631,_0x5ac9d5,_0x44ba4f){var _0x583846={};var _0x347783={};var _0x46f8d6;var _0x127dc3;return db[_0x7857('0x28')][_0x7857('0x47')]({'where':{'id':_0x131631[_0x7857('0x45')]['id']}})['then'](handleEntityNotFound(_0x5ac9d5,null))[_0x7857('0x3c')](function(_0x99384){if(_0x99384){_0x46f8d6=_0x99384;_0x347783[_0x7857('0x2c')]=_[_0x7857('0x2d')](db[_0x7857('0x4a')][_0x7857('0x41')]);_0x347783['query']=_['keys'](_0x131631[_0x7857('0x30')]);_0x347783[_0x7857('0x2e')]=_['intersection'](_0x347783[_0x7857('0x2c')],_0x347783[_0x7857('0x30')]);_0x583846[_0x7857('0x31')]=_['intersection'](_0x347783[_0x7857('0x2c')],qs['fields'](_0x131631[_0x7857('0x30')][_0x7857('0x32')]));_0x583846[_0x7857('0x31')]=_0x583846['attributes'][_0x7857('0x33')]?_0x583846[_0x7857('0x31')]:_0x347783['model'];_0x583846['order']=qs[_0x7857('0x48')](_0x131631['query'][_0x7857('0x48')]);_0x583846[_0x7857('0x37')]=qs[_0x7857('0x2e')](_[_0x7857('0x36')](_0x131631['query'],_0x347783[_0x7857('0x2e')]));if(_0x131631['query'][_0x7857('0x39')]){_0x583846['where']=_['merge'](_0x583846[_0x7857('0x37')],{'$or':_['map'](_0x583846['attributes'],function(_0x5266a0){var _0x280389={};_0x280389[_0x5266a0]={'$like':'%'+_0x131631[_0x7857('0x30')][_0x7857('0x39')]+'%'};return _0x280389;})});}_0x583846=_['merge']({},_0x583846,_0x131631['options']);return _0x46f8d6[_0x7857('0x49')](_0x583846);}})[_0x7857('0x3c')](function(_0x1d80a3){if(_0x1d80a3){_0x127dc3=_0x1d80a3[_0x7857('0x33')];if(!_0x131631['query'][_0x7857('0x4b')](_0x7857('0x34'))){_0x583846[_0x7857('0x1b')]=qs[_0x7857('0x1b')](_0x131631[_0x7857('0x30')]['limit']);_0x583846[_0x7857('0x1e')]=qs['offset'](_0x131631['query'][_0x7857('0x1e')]);}return _0x46f8d6[_0x7857('0x49')](_0x583846);}})[_0x7857('0x3c')](function(_0x4d6cab){if(_0x4d6cab){return _0x4d6cab?{'count':_0x127dc3,'rows':_0x4d6cab}:null;}})['then'](respondWithResult(_0x5ac9d5,null))[_0x7857('0x3f')](handleError(_0x5ac9d5,null));};exports[_0x7857('0x4c')]=function(_0xf4a2ed,_0x5b0490,_0x111264){var _0x412b49={};var _0x29b090={};var _0x1bc4c7;var _0x232211;return db[_0x7857('0x28')][_0x7857('0x47')]({'where':{'id':_0xf4a2ed['params']['id']}})[_0x7857('0x3c')](handleEntityNotFound(_0x5b0490,null))[_0x7857('0x3c')](function(_0x3a9969){if(_0x3a9969){_0x1bc4c7=_0x3a9969;_0x29b090[_0x7857('0x2c')]=_[_0x7857('0x2d')](db[_0x7857('0x4a')][_0x7857('0x41')]);_0x29b090[_0x7857('0x30')]=_[_0x7857('0x2d')](_0xf4a2ed[_0x7857('0x30')]);_0x29b090[_0x7857('0x2e')]=_[_0x7857('0x2f')](_0x29b090[_0x7857('0x2c')],_0x29b090[_0x7857('0x30')]);_0x412b49['attributes']=_[_0x7857('0x2f')](_0x29b090[_0x7857('0x2c')],qs[_0x7857('0x32')](_0xf4a2ed['query'][_0x7857('0x32')]));_0x412b49[_0x7857('0x31')]=_0x412b49[_0x7857('0x31')][_0x7857('0x33')]?_0x412b49[_0x7857('0x31')]:_0x29b090[_0x7857('0x2c')];_0x412b49['order']=qs['sort'](_0xf4a2ed['query'][_0x7857('0x48')]);_0x412b49[_0x7857('0x37')]=qs[_0x7857('0x2e')](_[_0x7857('0x36')](_0xf4a2ed['query'],_0x29b090[_0x7857('0x2e')]));if(_0xf4a2ed[_0x7857('0x30')]['filter']){_0x412b49['where']=_[_0x7857('0x3a')](_0x412b49[_0x7857('0x37')],{'$or':_[_0x7857('0x27')](_0x412b49['attributes'],function(_0x236083){var _0x20d2d6={};_0x20d2d6[_0x236083]={'$like':'%'+_0xf4a2ed[_0x7857('0x30')][_0x7857('0x39')]+'%'};return _0x20d2d6;})});}_0x412b49=_['merge']({},_0x412b49,_0xf4a2ed[_0x7857('0x3b')]);return _0x1bc4c7[_0x7857('0x4c')](_0x412b49);}})[_0x7857('0x3c')](function(_0x2c9c0d){if(_0x2c9c0d){_0x232211=_0x2c9c0d[_0x7857('0x33')];if(!_0xf4a2ed['query'][_0x7857('0x4b')](_0x7857('0x34'))){_0x412b49[_0x7857('0x1b')]=qs[_0x7857('0x1b')](_0xf4a2ed[_0x7857('0x30')][_0x7857('0x1b')]);_0x412b49['offset']=qs[_0x7857('0x1e')](_0xf4a2ed[_0x7857('0x30')]['offset']);}return _0x1bc4c7[_0x7857('0x4c')](_0x412b49);}})[_0x7857('0x3c')](function(_0x4c8877){if(_0x4c8877){return _0x4c8877?{'count':_0x232211,'rows':_0x4c8877}:null;}})[_0x7857('0x3c')](respondWithResult(_0x5b0490,null))[_0x7857('0x3f')](handleError(_0x5b0490,null));};