Built motion from commit da24aabd.|2.6.20
[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 _0x7a88=['length','hasOwnProperty','nolimit','limit','order','sort','where','pick','type','VIRTUAL','name','merge','options','count','includeAll','include','findAll','rows','catch','show','params','find','create','body','getFields','findOne','ServicenowField','filter','getSubjects','getDescriptions','eml-format','fast-json-patch','request-promise','moment','mustache','util','path','sox','to-csv','ejs','squel','jsforce','desk.js','papaparse','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','end','status','json','undefined','offset','set','Content-Range','reject','save','update','then','destroy','sendStatus','error','stack','send','index','ServicenowConfiguration','rawAttributes','fieldName','key','model','map','query','keys','filters','intersection','attributes','fields'];(function(_0x41601d,_0x36ad17){var _0x1d5fb2=function(_0x27e1b6){while(--_0x27e1b6){_0x41601d['push'](_0x41601d['shift']());}};_0x1d5fb2(++_0x36ad17);}(_0x7a88,0xc4));var _0x87a8=function(_0x57fda8,_0x5e80a0){_0x57fda8=_0x57fda8-0x0;var _0x11c895=_0x7a88[_0x57fda8];return _0x11c895;};'use strict';var emlformat=require(_0x87a8('0x0'));var rimraf=require('rimraf');var zipdir=require('zip-dir');var jsonpatch=require(_0x87a8('0x1'));var rp=require(_0x87a8('0x2'));var moment=require(_0x87a8('0x3'));var BPromise=require('bluebird');var Mustache=require(_0x87a8('0x4'));var util=require(_0x87a8('0x5'));var path=require(_0x87a8('0x6'));var sox=require(_0x87a8('0x7'));var csv=require(_0x87a8('0x8'));var ejs=require(_0x87a8('0x9'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require('lodash');var squel=require(_0x87a8('0xa'));var crypto=require('crypto');var jsforce=require(_0x87a8('0xb'));var deskjs=require(_0x87a8('0xc'));var toCsv=require(_0x87a8('0x8'));var querystring=require('querystring');var Papa=require(_0x87a8('0xd'));var Redis=require(_0x87a8('0xe'));var authService=require('../../components/auth/service');var qs=require(_0x87a8('0xf'));var as=require(_0x87a8('0x10'));var hardwareService=require(_0x87a8('0x11'));var logger=require(_0x87a8('0x12'))(_0x87a8('0x13'));var utils=require(_0x87a8('0x14'));var config=require(_0x87a8('0x15'));var licenseUtil=require(_0x87a8('0x16'));var db=require(_0x87a8('0x17'))['db'];function respondWithStatusCode(_0xb75ef0,_0x1f6c97){_0x1f6c97=_0x1f6c97||0xcc;return function(_0xf2b6b1){if(_0xf2b6b1){return _0xb75ef0['sendStatus'](_0x1f6c97);}return _0xb75ef0['status'](_0x1f6c97)[_0x87a8('0x18')]();};}function respondWithResult(_0x59c81a,_0x33cc62){_0x33cc62=_0x33cc62||0xc8;return function(_0x132566){if(_0x132566){return _0x59c81a[_0x87a8('0x19')](_0x33cc62)[_0x87a8('0x1a')](_0x132566);}};}function respondWithFilteredResult(_0x4f71d2,_0x497746){return function(_0xa852bc){if(_0xa852bc){var _0x1285f2=typeof _0x497746['offset']===_0x87a8('0x1b')&&typeof _0x497746['limit']===_0x87a8('0x1b');var _0x4bcfdc=_0xa852bc['count'];var _0x27e25a=_0x1285f2?0x0:_0x497746[_0x87a8('0x1c')];var _0x8f29c3=_0x1285f2?_0xa852bc['count']:_0x497746[_0x87a8('0x1c')]+_0x497746['limit'];var _0x4a77b2;if(_0x8f29c3>=_0x4bcfdc){_0x8f29c3=_0x4bcfdc;_0x4a77b2=0xc8;}else{_0x4a77b2=0xce;}_0x4f71d2[_0x87a8('0x19')](_0x4a77b2);return _0x4f71d2[_0x87a8('0x1d')](_0x87a8('0x1e'),_0x27e25a+'-'+_0x8f29c3+'/'+_0x4bcfdc)[_0x87a8('0x1a')](_0xa852bc);}return null;};}function patchUpdates(_0x2580ac){return function(_0x1e95d6){try{jsonpatch['apply'](_0x1e95d6,_0x2580ac,!![]);}catch(_0x3a39c7){return BPromise[_0x87a8('0x1f')](_0x3a39c7);}return _0x1e95d6[_0x87a8('0x20')]();};}function saveUpdates(_0x28bab9,_0x5291d7){return function(_0x142a93){if(_0x142a93){return _0x142a93[_0x87a8('0x21')](_0x28bab9)[_0x87a8('0x22')](function(_0x5e04fa){return _0x5e04fa;});}return null;};}function removeEntity(_0x52d955,_0x1a6403){return function(_0x2b630e){if(_0x2b630e){return _0x2b630e[_0x87a8('0x23')]()['then'](function(){_0x52d955[_0x87a8('0x19')](0xcc)[_0x87a8('0x18')]();});}};}function handleEntityNotFound(_0x2ff512,_0x82b8cb){return function(_0x562ae6){if(!_0x562ae6){_0x2ff512[_0x87a8('0x24')](0x194);}return _0x562ae6;};}function handleError(_0x41d51a,_0x5e9e64){_0x5e9e64=_0x5e9e64||0x1f4;return function(_0x3948b3){logger[_0x87a8('0x25')](_0x3948b3[_0x87a8('0x26')]);if(_0x3948b3['name']){delete _0x3948b3['name'];}_0x41d51a[_0x87a8('0x19')](_0x5e9e64)[_0x87a8('0x27')](_0x3948b3);};}exports[_0x87a8('0x28')]=function(_0x16fc04,_0x4b0cec){var _0x361312={},_0x8418f1={},_0x561355={'count':0x0,'rows':[]};var _0x238986=_['map'](db[_0x87a8('0x29')][_0x87a8('0x2a')],function(_0x3daef1){return{'name':_0x3daef1[_0x87a8('0x2b')],'type':_0x3daef1['type'][_0x87a8('0x2c')]};});_0x8418f1[_0x87a8('0x2d')]=_[_0x87a8('0x2e')](_0x238986,'name');_0x8418f1[_0x87a8('0x2f')]=_[_0x87a8('0x30')](_0x16fc04[_0x87a8('0x2f')]);_0x8418f1[_0x87a8('0x31')]=_[_0x87a8('0x32')](_0x8418f1[_0x87a8('0x2d')],_0x8418f1['query']);_0x361312[_0x87a8('0x33')]=_[_0x87a8('0x32')](_0x8418f1[_0x87a8('0x2d')],qs[_0x87a8('0x34')](_0x16fc04[_0x87a8('0x2f')][_0x87a8('0x34')]));_0x361312[_0x87a8('0x33')]=_0x361312[_0x87a8('0x33')][_0x87a8('0x35')]?_0x361312[_0x87a8('0x33')]:_0x8418f1[_0x87a8('0x2d')];if(!_0x16fc04[_0x87a8('0x2f')][_0x87a8('0x36')](_0x87a8('0x37'))){_0x361312[_0x87a8('0x38')]=qs[_0x87a8('0x38')](_0x16fc04[_0x87a8('0x2f')][_0x87a8('0x38')]);_0x361312[_0x87a8('0x1c')]=qs[_0x87a8('0x1c')](_0x16fc04[_0x87a8('0x2f')][_0x87a8('0x1c')]);}_0x361312[_0x87a8('0x39')]=qs[_0x87a8('0x3a')](_0x16fc04[_0x87a8('0x2f')]['sort']);_0x361312[_0x87a8('0x3b')]=qs[_0x87a8('0x31')](_[_0x87a8('0x3c')](_0x16fc04[_0x87a8('0x2f')],_0x8418f1['filters']),_0x238986);if(_0x16fc04[_0x87a8('0x2f')]['filter']){_0x361312[_0x87a8('0x3b')]=_['merge'](_0x361312[_0x87a8('0x3b')],{'$or':_[_0x87a8('0x2e')](_0x238986,function(_0x398b5a){if(_0x398b5a[_0x87a8('0x3d')]!==_0x87a8('0x3e')){var _0x14cf97={};_0x14cf97[_0x398b5a[_0x87a8('0x3f')]]={'$like':'%'+_0x16fc04['query']['filter']+'%'};return _0x14cf97;}})});}_0x361312=_[_0x87a8('0x40')]({},_0x361312,_0x16fc04[_0x87a8('0x41')]);var _0x1d2ed5={'where':_0x361312[_0x87a8('0x3b')]};return db[_0x87a8('0x29')][_0x87a8('0x42')](_0x1d2ed5)[_0x87a8('0x22')](function(_0x39cdae){_0x561355[_0x87a8('0x42')]=_0x39cdae;if(_0x16fc04[_0x87a8('0x2f')][_0x87a8('0x43')]){_0x361312[_0x87a8('0x44')]=[{'all':!![]}];}return db[_0x87a8('0x29')][_0x87a8('0x45')](_0x361312);})[_0x87a8('0x22')](function(_0x3f41bf){_0x561355[_0x87a8('0x46')]=_0x3f41bf;return _0x561355;})[_0x87a8('0x22')](respondWithFilteredResult(_0x4b0cec,_0x361312))[_0x87a8('0x47')](handleError(_0x4b0cec,null));};exports[_0x87a8('0x48')]=function(_0x3e5a6a,_0x1291c4){var _0x54b302={'raw':![],'where':{'id':_0x3e5a6a[_0x87a8('0x49')]['id']}},_0x26405f={};_0x26405f['model']=_[_0x87a8('0x30')](db[_0x87a8('0x29')][_0x87a8('0x2a')]);_0x26405f[_0x87a8('0x2f')]=_[_0x87a8('0x30')](_0x3e5a6a['query']);_0x26405f['filters']=_[_0x87a8('0x32')](_0x26405f[_0x87a8('0x2d')],_0x26405f['query']);_0x54b302['attributes']=_[_0x87a8('0x32')](_0x26405f['model'],qs['fields'](_0x3e5a6a[_0x87a8('0x2f')][_0x87a8('0x34')]));_0x54b302[_0x87a8('0x33')]=_0x54b302[_0x87a8('0x33')][_0x87a8('0x35')]?_0x54b302[_0x87a8('0x33')]:_0x26405f[_0x87a8('0x2d')];if(_0x3e5a6a[_0x87a8('0x2f')][_0x87a8('0x43')]){_0x54b302[_0x87a8('0x44')]=[{'all':!![]}];}_0x54b302=_[_0x87a8('0x40')]({},_0x54b302,_0x3e5a6a[_0x87a8('0x41')]);return db[_0x87a8('0x29')][_0x87a8('0x4a')](_0x54b302)[_0x87a8('0x22')](handleEntityNotFound(_0x1291c4,null))[_0x87a8('0x22')](respondWithResult(_0x1291c4,null))[_0x87a8('0x47')](handleError(_0x1291c4,null));};exports['create']=function(_0x597798,_0xcaa360){return db[_0x87a8('0x29')][_0x87a8('0x4b')](_0x597798[_0x87a8('0x4c')],{})[_0x87a8('0x22')](respondWithResult(_0xcaa360,0xc9))[_0x87a8('0x47')](handleError(_0xcaa360,null));};exports[_0x87a8('0x21')]=function(_0x22aa5b,_0x50b6a5){if(_0x22aa5b[_0x87a8('0x4c')]['id']){delete _0x22aa5b[_0x87a8('0x4c')]['id'];}return db[_0x87a8('0x29')][_0x87a8('0x4a')]({'where':{'id':_0x22aa5b['params']['id']}})[_0x87a8('0x22')](handleEntityNotFound(_0x50b6a5,null))['then'](saveUpdates(_0x22aa5b[_0x87a8('0x4c')],null))[_0x87a8('0x22')](respondWithResult(_0x50b6a5,null))[_0x87a8('0x47')](handleError(_0x50b6a5,null));};exports[_0x87a8('0x23')]=function(_0x2837fd,_0x38b67b){return db['ServicenowConfiguration']['find']({'where':{'id':_0x2837fd[_0x87a8('0x49')]['id']}})[_0x87a8('0x22')](handleEntityNotFound(_0x38b67b,null))[_0x87a8('0x22')](removeEntity(_0x38b67b,null))[_0x87a8('0x47')](handleError(_0x38b67b,null));};exports[_0x87a8('0x4d')]=function(_0x274d73,_0x2930f3,_0x3a22b0){var _0x533af3={};var _0x2c0c9c={};var _0x3fa996;var _0x15c2c1;return db[_0x87a8('0x29')][_0x87a8('0x4e')]({'where':{'id':_0x274d73['params']['id']}})[_0x87a8('0x22')](handleEntityNotFound(_0x2930f3,null))[_0x87a8('0x22')](function(_0xac4582){if(_0xac4582){_0x3fa996=_0xac4582;_0x2c0c9c[_0x87a8('0x2d')]=_['keys'](db[_0x87a8('0x4f')]['rawAttributes']);_0x2c0c9c[_0x87a8('0x2f')]=_[_0x87a8('0x30')](_0x274d73['query']);_0x2c0c9c[_0x87a8('0x31')]=_[_0x87a8('0x32')](_0x2c0c9c['model'],_0x2c0c9c[_0x87a8('0x2f')]);_0x533af3[_0x87a8('0x33')]=_[_0x87a8('0x32')](_0x2c0c9c['model'],qs[_0x87a8('0x34')](_0x274d73[_0x87a8('0x2f')][_0x87a8('0x34')]));_0x533af3['attributes']=_0x533af3[_0x87a8('0x33')][_0x87a8('0x35')]?_0x533af3[_0x87a8('0x33')]:_0x2c0c9c[_0x87a8('0x2d')];_0x533af3['order']=qs[_0x87a8('0x3a')](_0x274d73[_0x87a8('0x2f')][_0x87a8('0x3a')]);_0x533af3[_0x87a8('0x3b')]=qs[_0x87a8('0x31')](_[_0x87a8('0x3c')](_0x274d73[_0x87a8('0x2f')],_0x2c0c9c[_0x87a8('0x31')]));if(_0x274d73[_0x87a8('0x2f')][_0x87a8('0x50')]){_0x533af3[_0x87a8('0x3b')]=_[_0x87a8('0x40')](_0x533af3['where'],{'$or':_['map'](_0x533af3['attributes'],function(_0x378701){var _0xbc4fa5={};_0xbc4fa5[_0x378701]={'$like':'%'+_0x274d73[_0x87a8('0x2f')]['filter']+'%'};return _0xbc4fa5;})});}_0x533af3=_[_0x87a8('0x40')]({},_0x533af3,_0x274d73[_0x87a8('0x41')]);return _0x3fa996[_0x87a8('0x4d')](_0x533af3);}})[_0x87a8('0x22')](function(_0x242a7d){if(_0x242a7d){_0x15c2c1=_0x242a7d[_0x87a8('0x35')];if(!_0x274d73[_0x87a8('0x2f')][_0x87a8('0x36')](_0x87a8('0x37'))){_0x533af3['limit']=qs[_0x87a8('0x38')](_0x274d73[_0x87a8('0x2f')][_0x87a8('0x38')]);_0x533af3[_0x87a8('0x1c')]=qs[_0x87a8('0x1c')](_0x274d73[_0x87a8('0x2f')]['offset']);}return _0x3fa996[_0x87a8('0x4d')](_0x533af3);}})[_0x87a8('0x22')](function(_0x28bb90){if(_0x28bb90){return _0x28bb90?{'count':_0x15c2c1,'rows':_0x28bb90}:null;}})[_0x87a8('0x22')](respondWithResult(_0x2930f3,null))[_0x87a8('0x47')](handleError(_0x2930f3,null));};exports[_0x87a8('0x51')]=function(_0x46a8aa,_0x1d14e0,_0x19120a){var _0x5db455={};var _0x1c9e24={};var _0x2f1092;var _0x1e132f;return db[_0x87a8('0x29')][_0x87a8('0x4e')]({'where':{'id':_0x46a8aa[_0x87a8('0x49')]['id']}})[_0x87a8('0x22')](handleEntityNotFound(_0x1d14e0,null))['then'](function(_0x5cd673){if(_0x5cd673){_0x2f1092=_0x5cd673;_0x1c9e24['model']=_[_0x87a8('0x30')](db[_0x87a8('0x4f')]['rawAttributes']);_0x1c9e24['query']=_['keys'](_0x46a8aa[_0x87a8('0x2f')]);_0x1c9e24[_0x87a8('0x31')]=_[_0x87a8('0x32')](_0x1c9e24[_0x87a8('0x2d')],_0x1c9e24['query']);_0x5db455[_0x87a8('0x33')]=_[_0x87a8('0x32')](_0x1c9e24['model'],qs[_0x87a8('0x34')](_0x46a8aa[_0x87a8('0x2f')]['fields']));_0x5db455[_0x87a8('0x33')]=_0x5db455[_0x87a8('0x33')]['length']?_0x5db455[_0x87a8('0x33')]:_0x1c9e24[_0x87a8('0x2d')];_0x5db455['order']=qs[_0x87a8('0x3a')](_0x46a8aa[_0x87a8('0x2f')][_0x87a8('0x3a')]);_0x5db455[_0x87a8('0x3b')]=qs[_0x87a8('0x31')](_[_0x87a8('0x3c')](_0x46a8aa[_0x87a8('0x2f')],_0x1c9e24[_0x87a8('0x31')]));if(_0x46a8aa[_0x87a8('0x2f')][_0x87a8('0x50')]){_0x5db455[_0x87a8('0x3b')]=_[_0x87a8('0x40')](_0x5db455[_0x87a8('0x3b')],{'$or':_[_0x87a8('0x2e')](_0x5db455['attributes'],function(_0x395552){var _0x297873={};_0x297873[_0x395552]={'$like':'%'+_0x46a8aa[_0x87a8('0x2f')][_0x87a8('0x50')]+'%'};return _0x297873;})});}_0x5db455=_[_0x87a8('0x40')]({},_0x5db455,_0x46a8aa[_0x87a8('0x41')]);return _0x2f1092[_0x87a8('0x51')](_0x5db455);}})[_0x87a8('0x22')](function(_0x1d32a){if(_0x1d32a){_0x1e132f=_0x1d32a[_0x87a8('0x35')];if(!_0x46a8aa[_0x87a8('0x2f')]['hasOwnProperty'](_0x87a8('0x37'))){_0x5db455[_0x87a8('0x38')]=qs['limit'](_0x46a8aa['query'][_0x87a8('0x38')]);_0x5db455[_0x87a8('0x1c')]=qs['offset'](_0x46a8aa[_0x87a8('0x2f')][_0x87a8('0x1c')]);}return _0x2f1092[_0x87a8('0x51')](_0x5db455);}})[_0x87a8('0x22')](function(_0x1eebb9){if(_0x1eebb9){return _0x1eebb9?{'count':_0x1e132f,'rows':_0x1eebb9}:null;}})[_0x87a8('0x22')](respondWithResult(_0x1d14e0,null))['catch'](handleError(_0x1d14e0,null));};exports[_0x87a8('0x52')]=function(_0x1b2bcb,_0x54c95b,_0x13c51){var _0x2c5c77={};var _0x535571={};var _0x271ad1;var _0x26efa8;return db['ServicenowConfiguration'][_0x87a8('0x4e')]({'where':{'id':_0x1b2bcb['params']['id']}})[_0x87a8('0x22')](handleEntityNotFound(_0x54c95b,null))['then'](function(_0x2a3262){if(_0x2a3262){_0x271ad1=_0x2a3262;_0x535571[_0x87a8('0x2d')]=_['keys'](db[_0x87a8('0x4f')][_0x87a8('0x2a')]);_0x535571[_0x87a8('0x2f')]=_['keys'](_0x1b2bcb[_0x87a8('0x2f')]);_0x535571['filters']=_[_0x87a8('0x32')](_0x535571[_0x87a8('0x2d')],_0x535571[_0x87a8('0x2f')]);_0x2c5c77[_0x87a8('0x33')]=_[_0x87a8('0x32')](_0x535571[_0x87a8('0x2d')],qs['fields'](_0x1b2bcb[_0x87a8('0x2f')]['fields']));_0x2c5c77[_0x87a8('0x33')]=_0x2c5c77['attributes'][_0x87a8('0x35')]?_0x2c5c77['attributes']:_0x535571['model'];_0x2c5c77[_0x87a8('0x39')]=qs[_0x87a8('0x3a')](_0x1b2bcb['query'][_0x87a8('0x3a')]);_0x2c5c77[_0x87a8('0x3b')]=qs['filters'](_['pick'](_0x1b2bcb[_0x87a8('0x2f')],_0x535571[_0x87a8('0x31')]));if(_0x1b2bcb[_0x87a8('0x2f')]['filter']){_0x2c5c77[_0x87a8('0x3b')]=_['merge'](_0x2c5c77[_0x87a8('0x3b')],{'$or':_[_0x87a8('0x2e')](_0x2c5c77[_0x87a8('0x33')],function(_0x5d1ea6){var _0x196a47={};_0x196a47[_0x5d1ea6]={'$like':'%'+_0x1b2bcb[_0x87a8('0x2f')][_0x87a8('0x50')]+'%'};return _0x196a47;})});}_0x2c5c77=_[_0x87a8('0x40')]({},_0x2c5c77,_0x1b2bcb['options']);return _0x271ad1[_0x87a8('0x52')](_0x2c5c77);}})[_0x87a8('0x22')](function(_0x11976e){if(_0x11976e){_0x26efa8=_0x11976e['length'];if(!_0x1b2bcb[_0x87a8('0x2f')][_0x87a8('0x36')](_0x87a8('0x37'))){_0x2c5c77[_0x87a8('0x38')]=qs['limit'](_0x1b2bcb[_0x87a8('0x2f')][_0x87a8('0x38')]);_0x2c5c77[_0x87a8('0x1c')]=qs[_0x87a8('0x1c')](_0x1b2bcb[_0x87a8('0x2f')]['offset']);}return _0x271ad1[_0x87a8('0x52')](_0x2c5c77);}})[_0x87a8('0x22')](function(_0x292bef){if(_0x292bef){return _0x292bef?{'count':_0x26efa8,'rows':_0x292bef}:null;}})[_0x87a8('0x22')](respondWithResult(_0x54c95b,null))['catch'](handleError(_0x54c95b,null));};