Built motion from commit d6d69adf.|2.6.33
[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 _0xc70f=['stack','send','index','map','ServicenowConfiguration','rawAttributes','fieldName','type','key','model','name','keys','filters','intersection','query','attributes','fields','length','hasOwnProperty','nolimit','limit','pick','merge','where','VIRTUAL','filter','includeAll','include','rows','catch','show','params','options','body','find','destroy','getFields','findOne','ServicenowField','order','sort','getSubjects','getDescriptions','eml-format','rimraf','zip-dir','fast-json-patch','moment','mustache','util','path','lodash','crypto','desk.js','to-csv','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','json','offset','undefined','count','set','reject','then','error'];(function(_0x4bf96c,_0x4d24fd){var _0x281d09=function(_0x56538e){while(--_0x56538e){_0x4bf96c['push'](_0x4bf96c['shift']());}};_0x281d09(++_0x4d24fd);}(_0xc70f,0x112));var _0xfc70=function(_0x51d30a,_0x157328){_0x51d30a=_0x51d30a-0x0;var _0x43b92f=_0xc70f[_0x51d30a];return _0x43b92f;};'use strict';var emlformat=require(_0xfc70('0x0'));var rimraf=require(_0xfc70('0x1'));var zipdir=require(_0xfc70('0x2'));var jsonpatch=require(_0xfc70('0x3'));var rp=require('request-promise');var moment=require(_0xfc70('0x4'));var BPromise=require('bluebird');var Mustache=require(_0xfc70('0x5'));var util=require(_0xfc70('0x6'));var path=require(_0xfc70('0x7'));var sox=require('sox');var csv=require('to-csv');var ejs=require('ejs');var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0xfc70('0x8'));var squel=require('squel');var crypto=require(_0xfc70('0x9'));var jsforce=require('jsforce');var deskjs=require(_0xfc70('0xa'));var toCsv=require(_0xfc70('0xb'));var querystring=require('querystring');var Papa=require(_0xfc70('0xc'));var Redis=require(_0xfc70('0xd'));var authService=require(_0xfc70('0xe'));var qs=require(_0xfc70('0xf'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0xfc70('0x10'));var logger=require(_0xfc70('0x11'))(_0xfc70('0x12'));var utils=require(_0xfc70('0x13'));var config=require(_0xfc70('0x14'));var licenseUtil=require(_0xfc70('0x15'));var db=require(_0xfc70('0x16'))['db'];function respondWithStatusCode(_0x51cc27,_0x3cb11c){_0x3cb11c=_0x3cb11c||0xcc;return function(_0x5bac34){if(_0x5bac34){return _0x51cc27[_0xfc70('0x17')](_0x3cb11c);}return _0x51cc27[_0xfc70('0x18')](_0x3cb11c)[_0xfc70('0x19')]();};}function respondWithResult(_0x246766,_0x81149b){_0x81149b=_0x81149b||0xc8;return function(_0x501be5){if(_0x501be5){return _0x246766[_0xfc70('0x18')](_0x81149b)[_0xfc70('0x1a')](_0x501be5);}};}function respondWithFilteredResult(_0x19a79e,_0x12c646){return function(_0x409868){if(_0x409868){var _0x120be0=typeof _0x12c646[_0xfc70('0x1b')]===_0xfc70('0x1c')&&typeof _0x12c646['limit']===_0xfc70('0x1c');var _0x375ef4=_0x409868[_0xfc70('0x1d')];var _0x1a191f=_0x120be0?0x0:_0x12c646['offset'];var _0x5259f0=_0x120be0?_0x409868[_0xfc70('0x1d')]:_0x12c646['offset']+_0x12c646['limit'];var _0x58d108;if(_0x5259f0>=_0x375ef4){_0x5259f0=_0x375ef4;_0x58d108=0xc8;}else{_0x58d108=0xce;}_0x19a79e[_0xfc70('0x18')](_0x58d108);return _0x19a79e[_0xfc70('0x1e')]('Content-Range',_0x1a191f+'-'+_0x5259f0+'/'+_0x375ef4)[_0xfc70('0x1a')](_0x409868);}return null;};}function patchUpdates(_0x3e04ba){return function(_0x5037d3){try{jsonpatch['apply'](_0x5037d3,_0x3e04ba,!![]);}catch(_0x527588){return BPromise[_0xfc70('0x1f')](_0x527588);}return _0x5037d3['save']();};}function saveUpdates(_0x348f0b,_0x3ff0ef){return function(_0x5aa4a9){if(_0x5aa4a9){return _0x5aa4a9['update'](_0x348f0b)[_0xfc70('0x20')](function(_0x40ef26){return _0x40ef26;});}return null;};}function removeEntity(_0x394f4b,_0x19acfd){return function(_0x301abd){if(_0x301abd){return _0x301abd['destroy']()[_0xfc70('0x20')](function(){_0x394f4b[_0xfc70('0x18')](0xcc)[_0xfc70('0x19')]();});}};}function handleEntityNotFound(_0x3895ac,_0x856b5b){return function(_0x4dbfa9){if(!_0x4dbfa9){_0x3895ac['sendStatus'](0x194);}return _0x4dbfa9;};}function handleError(_0x10d13e,_0xff9665){_0xff9665=_0xff9665||0x1f4;return function(_0x9e7199){logger[_0xfc70('0x21')](_0x9e7199[_0xfc70('0x22')]);if(_0x9e7199['name']){delete _0x9e7199['name'];}_0x10d13e['status'](_0xff9665)[_0xfc70('0x23')](_0x9e7199);};}exports[_0xfc70('0x24')]=function(_0x59b651,_0x8036ad){var _0x15e13c={},_0x3ffe50={},_0x9eb82c={'count':0x0,'rows':[]};var _0xe48afc=_[_0xfc70('0x25')](db[_0xfc70('0x26')][_0xfc70('0x27')],function(_0x34627b){return{'name':_0x34627b[_0xfc70('0x28')],'type':_0x34627b[_0xfc70('0x29')][_0xfc70('0x2a')]};});_0x3ffe50[_0xfc70('0x2b')]=_[_0xfc70('0x25')](_0xe48afc,_0xfc70('0x2c'));_0x3ffe50['query']=_[_0xfc70('0x2d')](_0x59b651['query']);_0x3ffe50[_0xfc70('0x2e')]=_[_0xfc70('0x2f')](_0x3ffe50[_0xfc70('0x2b')],_0x3ffe50[_0xfc70('0x30')]);_0x15e13c[_0xfc70('0x31')]=_[_0xfc70('0x2f')](_0x3ffe50[_0xfc70('0x2b')],qs[_0xfc70('0x32')](_0x59b651[_0xfc70('0x30')][_0xfc70('0x32')]));_0x15e13c[_0xfc70('0x31')]=_0x15e13c[_0xfc70('0x31')][_0xfc70('0x33')]?_0x15e13c[_0xfc70('0x31')]:_0x3ffe50[_0xfc70('0x2b')];if(!_0x59b651[_0xfc70('0x30')][_0xfc70('0x34')](_0xfc70('0x35'))){_0x15e13c[_0xfc70('0x36')]=qs['limit'](_0x59b651[_0xfc70('0x30')][_0xfc70('0x36')]);_0x15e13c[_0xfc70('0x1b')]=qs[_0xfc70('0x1b')](_0x59b651['query'][_0xfc70('0x1b')]);}_0x15e13c['order']=qs['sort'](_0x59b651[_0xfc70('0x30')]['sort']);_0x15e13c['where']=qs[_0xfc70('0x2e')](_[_0xfc70('0x37')](_0x59b651[_0xfc70('0x30')],_0x3ffe50[_0xfc70('0x2e')]),_0xe48afc);if(_0x59b651[_0xfc70('0x30')]['filter']){_0x15e13c['where']=_[_0xfc70('0x38')](_0x15e13c[_0xfc70('0x39')],{'$or':_[_0xfc70('0x25')](_0xe48afc,function(_0x388544){if(_0x388544[_0xfc70('0x29')]!==_0xfc70('0x3a')){var _0xbfa17e={};_0xbfa17e[_0x388544[_0xfc70('0x2c')]]={'$like':'%'+_0x59b651['query'][_0xfc70('0x3b')]+'%'};return _0xbfa17e;}})});}_0x15e13c=_[_0xfc70('0x38')]({},_0x15e13c,_0x59b651['options']);var _0x50c9d2={'where':_0x15e13c[_0xfc70('0x39')]};return db[_0xfc70('0x26')][_0xfc70('0x1d')](_0x50c9d2)[_0xfc70('0x20')](function(_0x4101c3){_0x9eb82c['count']=_0x4101c3;if(_0x59b651[_0xfc70('0x30')][_0xfc70('0x3c')]){_0x15e13c[_0xfc70('0x3d')]=[{'all':!![]}];}return db[_0xfc70('0x26')]['findAll'](_0x15e13c);})[_0xfc70('0x20')](function(_0x42a4d5){_0x9eb82c[_0xfc70('0x3e')]=_0x42a4d5;return _0x9eb82c;})['then'](respondWithFilteredResult(_0x8036ad,_0x15e13c))[_0xfc70('0x3f')](handleError(_0x8036ad,null));};exports[_0xfc70('0x40')]=function(_0x3089cc,_0x419439){var _0x4505df={'raw':![],'where':{'id':_0x3089cc[_0xfc70('0x41')]['id']}},_0x5e84fd={};_0x5e84fd[_0xfc70('0x2b')]=_['keys'](db[_0xfc70('0x26')][_0xfc70('0x27')]);_0x5e84fd[_0xfc70('0x30')]=_[_0xfc70('0x2d')](_0x3089cc['query']);_0x5e84fd[_0xfc70('0x2e')]=_[_0xfc70('0x2f')](_0x5e84fd['model'],_0x5e84fd[_0xfc70('0x30')]);_0x4505df[_0xfc70('0x31')]=_['intersection'](_0x5e84fd[_0xfc70('0x2b')],qs['fields'](_0x3089cc['query']['fields']));_0x4505df[_0xfc70('0x31')]=_0x4505df[_0xfc70('0x31')][_0xfc70('0x33')]?_0x4505df[_0xfc70('0x31')]:_0x5e84fd['model'];if(_0x3089cc[_0xfc70('0x30')][_0xfc70('0x3c')]){_0x4505df[_0xfc70('0x3d')]=[{'all':!![]}];}_0x4505df=_['merge']({},_0x4505df,_0x3089cc[_0xfc70('0x42')]);return db[_0xfc70('0x26')]['find'](_0x4505df)[_0xfc70('0x20')](handleEntityNotFound(_0x419439,null))[_0xfc70('0x20')](respondWithResult(_0x419439,null))[_0xfc70('0x3f')](handleError(_0x419439,null));};exports['create']=function(_0x1e0688,_0x4318b9){return db[_0xfc70('0x26')]['create'](_0x1e0688[_0xfc70('0x43')],{})['then'](respondWithResult(_0x4318b9,0xc9))['catch'](handleError(_0x4318b9,null));};exports['update']=function(_0x47c8ba,_0x42d78c){if(_0x47c8ba[_0xfc70('0x43')]['id']){delete _0x47c8ba[_0xfc70('0x43')]['id'];}return db[_0xfc70('0x26')][_0xfc70('0x44')]({'where':{'id':_0x47c8ba[_0xfc70('0x41')]['id']}})[_0xfc70('0x20')](handleEntityNotFound(_0x42d78c,null))['then'](saveUpdates(_0x47c8ba['body'],null))[_0xfc70('0x20')](respondWithResult(_0x42d78c,null))[_0xfc70('0x3f')](handleError(_0x42d78c,null));};exports[_0xfc70('0x45')]=function(_0x376cae,_0x3fd682){return db['ServicenowConfiguration']['find']({'where':{'id':_0x376cae['params']['id']}})[_0xfc70('0x20')](handleEntityNotFound(_0x3fd682,null))[_0xfc70('0x20')](removeEntity(_0x3fd682,null))[_0xfc70('0x3f')](handleError(_0x3fd682,null));};exports[_0xfc70('0x46')]=function(_0xda6b,_0x455da0,_0xca2ef){var _0x1e9ec7={};var _0x244734={};var _0x8c517a;var _0x2a018f;return db[_0xfc70('0x26')][_0xfc70('0x47')]({'where':{'id':_0xda6b[_0xfc70('0x41')]['id']}})[_0xfc70('0x20')](handleEntityNotFound(_0x455da0,null))[_0xfc70('0x20')](function(_0x4c5eea){if(_0x4c5eea){_0x8c517a=_0x4c5eea;_0x244734['model']=_[_0xfc70('0x2d')](db[_0xfc70('0x48')][_0xfc70('0x27')]);_0x244734[_0xfc70('0x30')]=_[_0xfc70('0x2d')](_0xda6b['query']);_0x244734['filters']=_[_0xfc70('0x2f')](_0x244734[_0xfc70('0x2b')],_0x244734[_0xfc70('0x30')]);_0x1e9ec7['attributes']=_[_0xfc70('0x2f')](_0x244734[_0xfc70('0x2b')],qs[_0xfc70('0x32')](_0xda6b[_0xfc70('0x30')][_0xfc70('0x32')]));_0x1e9ec7[_0xfc70('0x31')]=_0x1e9ec7[_0xfc70('0x31')][_0xfc70('0x33')]?_0x1e9ec7[_0xfc70('0x31')]:_0x244734['model'];_0x1e9ec7[_0xfc70('0x49')]=qs['sort'](_0xda6b[_0xfc70('0x30')][_0xfc70('0x4a')]);_0x1e9ec7['where']=qs[_0xfc70('0x2e')](_[_0xfc70('0x37')](_0xda6b[_0xfc70('0x30')],_0x244734[_0xfc70('0x2e')]));if(_0xda6b[_0xfc70('0x30')][_0xfc70('0x3b')]){_0x1e9ec7[_0xfc70('0x39')]=_[_0xfc70('0x38')](_0x1e9ec7[_0xfc70('0x39')],{'$or':_[_0xfc70('0x25')](_0x1e9ec7[_0xfc70('0x31')],function(_0x598cec){var _0xafcee8={};_0xafcee8[_0x598cec]={'$like':'%'+_0xda6b['query'][_0xfc70('0x3b')]+'%'};return _0xafcee8;})});}_0x1e9ec7=_[_0xfc70('0x38')]({},_0x1e9ec7,_0xda6b['options']);return _0x8c517a[_0xfc70('0x46')](_0x1e9ec7);}})[_0xfc70('0x20')](function(_0x639bdd){if(_0x639bdd){_0x2a018f=_0x639bdd[_0xfc70('0x33')];if(!_0xda6b[_0xfc70('0x30')][_0xfc70('0x34')](_0xfc70('0x35'))){_0x1e9ec7[_0xfc70('0x36')]=qs[_0xfc70('0x36')](_0xda6b[_0xfc70('0x30')][_0xfc70('0x36')]);_0x1e9ec7['offset']=qs[_0xfc70('0x1b')](_0xda6b[_0xfc70('0x30')][_0xfc70('0x1b')]);}return _0x8c517a['getFields'](_0x1e9ec7);}})['then'](function(_0x3bd9de){if(_0x3bd9de){return _0x3bd9de?{'count':_0x2a018f,'rows':_0x3bd9de}:null;}})[_0xfc70('0x20')](respondWithResult(_0x455da0,null))[_0xfc70('0x3f')](handleError(_0x455da0,null));};exports['getSubjects']=function(_0x787af9,_0xd78160,_0x337ede){var _0x131ee3={};var _0x367d53={};var _0x468a45;var _0x3649f2;return db[_0xfc70('0x26')][_0xfc70('0x47')]({'where':{'id':_0x787af9[_0xfc70('0x41')]['id']}})[_0xfc70('0x20')](handleEntityNotFound(_0xd78160,null))[_0xfc70('0x20')](function(_0x511e79){if(_0x511e79){_0x468a45=_0x511e79;_0x367d53['model']=_[_0xfc70('0x2d')](db[_0xfc70('0x48')][_0xfc70('0x27')]);_0x367d53[_0xfc70('0x30')]=_[_0xfc70('0x2d')](_0x787af9[_0xfc70('0x30')]);_0x367d53['filters']=_[_0xfc70('0x2f')](_0x367d53['model'],_0x367d53[_0xfc70('0x30')]);_0x131ee3[_0xfc70('0x31')]=_['intersection'](_0x367d53[_0xfc70('0x2b')],qs['fields'](_0x787af9[_0xfc70('0x30')][_0xfc70('0x32')]));_0x131ee3[_0xfc70('0x31')]=_0x131ee3[_0xfc70('0x31')][_0xfc70('0x33')]?_0x131ee3[_0xfc70('0x31')]:_0x367d53[_0xfc70('0x2b')];_0x131ee3['order']=qs[_0xfc70('0x4a')](_0x787af9[_0xfc70('0x30')][_0xfc70('0x4a')]);_0x131ee3[_0xfc70('0x39')]=qs['filters'](_[_0xfc70('0x37')](_0x787af9[_0xfc70('0x30')],_0x367d53['filters']));if(_0x787af9[_0xfc70('0x30')][_0xfc70('0x3b')]){_0x131ee3[_0xfc70('0x39')]=_[_0xfc70('0x38')](_0x131ee3[_0xfc70('0x39')],{'$or':_[_0xfc70('0x25')](_0x131ee3[_0xfc70('0x31')],function(_0x4ce6c0){var _0x87f3a5={};_0x87f3a5[_0x4ce6c0]={'$like':'%'+_0x787af9[_0xfc70('0x30')][_0xfc70('0x3b')]+'%'};return _0x87f3a5;})});}_0x131ee3=_['merge']({},_0x131ee3,_0x787af9[_0xfc70('0x42')]);return _0x468a45[_0xfc70('0x4b')](_0x131ee3);}})[_0xfc70('0x20')](function(_0x4054b3){if(_0x4054b3){_0x3649f2=_0x4054b3[_0xfc70('0x33')];if(!_0x787af9[_0xfc70('0x30')][_0xfc70('0x34')](_0xfc70('0x35'))){_0x131ee3[_0xfc70('0x36')]=qs[_0xfc70('0x36')](_0x787af9[_0xfc70('0x30')]['limit']);_0x131ee3[_0xfc70('0x1b')]=qs['offset'](_0x787af9[_0xfc70('0x30')][_0xfc70('0x1b')]);}return _0x468a45[_0xfc70('0x4b')](_0x131ee3);}})[_0xfc70('0x20')](function(_0x6a9f36){if(_0x6a9f36){return _0x6a9f36?{'count':_0x3649f2,'rows':_0x6a9f36}:null;}})[_0xfc70('0x20')](respondWithResult(_0xd78160,null))[_0xfc70('0x3f')](handleError(_0xd78160,null));};exports['getDescriptions']=function(_0x5938db,_0x1d5515,_0x2592fb){var _0x26251e={};var _0x461b37={};var _0x14326f;var _0x5ba4d;return db[_0xfc70('0x26')][_0xfc70('0x47')]({'where':{'id':_0x5938db[_0xfc70('0x41')]['id']}})[_0xfc70('0x20')](handleEntityNotFound(_0x1d5515,null))[_0xfc70('0x20')](function(_0x186bac){if(_0x186bac){_0x14326f=_0x186bac;_0x461b37[_0xfc70('0x2b')]=_[_0xfc70('0x2d')](db['ServicenowField'][_0xfc70('0x27')]);_0x461b37['query']=_[_0xfc70('0x2d')](_0x5938db['query']);_0x461b37[_0xfc70('0x2e')]=_['intersection'](_0x461b37[_0xfc70('0x2b')],_0x461b37[_0xfc70('0x30')]);_0x26251e[_0xfc70('0x31')]=_[_0xfc70('0x2f')](_0x461b37['model'],qs[_0xfc70('0x32')](_0x5938db[_0xfc70('0x30')][_0xfc70('0x32')]));_0x26251e[_0xfc70('0x31')]=_0x26251e[_0xfc70('0x31')]['length']?_0x26251e[_0xfc70('0x31')]:_0x461b37['model'];_0x26251e[_0xfc70('0x49')]=qs[_0xfc70('0x4a')](_0x5938db[_0xfc70('0x30')][_0xfc70('0x4a')]);_0x26251e[_0xfc70('0x39')]=qs[_0xfc70('0x2e')](_[_0xfc70('0x37')](_0x5938db[_0xfc70('0x30')],_0x461b37['filters']));if(_0x5938db[_0xfc70('0x30')][_0xfc70('0x3b')]){_0x26251e[_0xfc70('0x39')]=_[_0xfc70('0x38')](_0x26251e[_0xfc70('0x39')],{'$or':_[_0xfc70('0x25')](_0x26251e[_0xfc70('0x31')],function(_0x195dc5){var _0x3307be={};_0x3307be[_0x195dc5]={'$like':'%'+_0x5938db[_0xfc70('0x30')][_0xfc70('0x3b')]+'%'};return _0x3307be;})});}_0x26251e=_[_0xfc70('0x38')]({},_0x26251e,_0x5938db[_0xfc70('0x42')]);return _0x14326f['getDescriptions'](_0x26251e);}})[_0xfc70('0x20')](function(_0x300e3b){if(_0x300e3b){_0x5ba4d=_0x300e3b[_0xfc70('0x33')];if(!_0x5938db[_0xfc70('0x30')][_0xfc70('0x34')](_0xfc70('0x35'))){_0x26251e['limit']=qs[_0xfc70('0x36')](_0x5938db[_0xfc70('0x30')]['limit']);_0x26251e['offset']=qs[_0xfc70('0x1b')](_0x5938db['query'][_0xfc70('0x1b')]);}return _0x14326f[_0xfc70('0x4c')](_0x26251e);}})['then'](function(_0x154202){if(_0x154202){return _0x154202?{'count':_0x5ba4d,'rows':_0x154202}:null;}})[_0xfc70('0x20')](respondWithResult(_0x1d5515,null))[_0xfc70('0x3f')](handleError(_0x1d5515,null));};