Built motion from commit 753c950e.|2.5.42
[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 _0x5fb0=['papaparse','ioredis','../../components/parsers/qs','../../config/license/hardware','../../config/logger','../../mysqldb','status','json','offset','undefined','limit','count','set','Content-Range','apply','reject','update','then','destroy','end','sendStatus','error','stack','name','send','map','fieldName','type','model','query','filters','intersection','attributes','hasOwnProperty','order','sort','where','pick','filter','merge','VIRTUAL','ServicenowConfiguration','includeAll','include','findAll','rows','catch','params','keys','rawAttributes','fields','length','create','body','find','getFields','findOne','ServicenowField','getSubjects','options','nolimit','getDescriptions','eml-format','zip-dir','request-promise','bluebird','mustache','util','path','sox','to-csv','fs-extra','lodash','crypto','jsforce','desk.js','querystring'];(function(_0x448e92,_0x4273c8){var _0x37c4c3=function(_0x417e58){while(--_0x417e58){_0x448e92['push'](_0x448e92['shift']());}};_0x37c4c3(++_0x4273c8);}(_0x5fb0,0x8b));var _0x05fb=function(_0x525f61,_0x352690){_0x525f61=_0x525f61-0x0;var _0x197ab2=_0x5fb0[_0x525f61];return _0x197ab2;};'use strict';var emlformat=require(_0x05fb('0x0'));var rimraf=require('rimraf');var zipdir=require(_0x05fb('0x1'));var jsonpatch=require('fast-json-patch');var rp=require(_0x05fb('0x2'));var moment=require('moment');var BPromise=require(_0x05fb('0x3'));var Mustache=require(_0x05fb('0x4'));var util=require(_0x05fb('0x5'));var path=require(_0x05fb('0x6'));var sox=require(_0x05fb('0x7'));var csv=require(_0x05fb('0x8'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0x05fb('0x9'));var _=require(_0x05fb('0xa'));var squel=require('squel');var crypto=require(_0x05fb('0xb'));var jsforce=require(_0x05fb('0xc'));var deskjs=require(_0x05fb('0xd'));var toCsv=require('to-csv');var querystring=require(_0x05fb('0xe'));var Papa=require(_0x05fb('0xf'));var Redis=require(_0x05fb('0x10'));var authService=require('../../components/auth/service');var qs=require(_0x05fb('0x11'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x05fb('0x12'));var logger=require(_0x05fb('0x13'))('api');var utils=require('../../config/utils');var config=require('../../config/environment');var licenseUtil=require('../../config/license/util');var db=require(_0x05fb('0x14'))['db'];function respondWithStatusCode(_0x2fc54b,_0x107474){_0x107474=_0x107474||0xcc;return function(_0x358af8){if(_0x358af8){return _0x2fc54b['sendStatus'](_0x107474);}return _0x2fc54b['status'](_0x107474)['end']();};}function respondWithResult(_0x5647b2,_0x5cf522){_0x5cf522=_0x5cf522||0xc8;return function(_0x58d814){if(_0x58d814){return _0x5647b2[_0x05fb('0x15')](_0x5cf522)[_0x05fb('0x16')](_0x58d814);}};}function respondWithFilteredResult(_0x334e89,_0x3f88c8){return function(_0x26cc68){if(_0x26cc68){var _0x669a68=typeof _0x3f88c8[_0x05fb('0x17')]===_0x05fb('0x18')&&typeof _0x3f88c8[_0x05fb('0x19')]===_0x05fb('0x18');var _0x157cf1=_0x26cc68[_0x05fb('0x1a')];var _0x43f908=_0x669a68?0x0:_0x3f88c8[_0x05fb('0x17')];var _0x4c5113=_0x669a68?_0x26cc68['count']:_0x3f88c8[_0x05fb('0x17')]+_0x3f88c8[_0x05fb('0x19')];var _0x42aeb9;if(_0x4c5113>=_0x157cf1){_0x4c5113=_0x157cf1;_0x42aeb9=0xc8;}else{_0x42aeb9=0xce;}_0x334e89[_0x05fb('0x15')](_0x42aeb9);return _0x334e89[_0x05fb('0x1b')](_0x05fb('0x1c'),_0x43f908+'-'+_0x4c5113+'/'+_0x157cf1)[_0x05fb('0x16')](_0x26cc68);}return null;};}function patchUpdates(_0x1ff3da){return function(_0x30f429){try{jsonpatch[_0x05fb('0x1d')](_0x30f429,_0x1ff3da,!![]);}catch(_0xf65060){return BPromise[_0x05fb('0x1e')](_0xf65060);}return _0x30f429['save']();};}function saveUpdates(_0x181884,_0x460463){return function(_0x17150c){if(_0x17150c){return _0x17150c[_0x05fb('0x1f')](_0x181884)[_0x05fb('0x20')](function(_0xfb8707){return _0xfb8707;});}return null;};}function removeEntity(_0x27b04a,_0x10c1b9){return function(_0x29d43a){if(_0x29d43a){return _0x29d43a[_0x05fb('0x21')]()[_0x05fb('0x20')](function(){_0x27b04a[_0x05fb('0x15')](0xcc)[_0x05fb('0x22')]();});}};}function handleEntityNotFound(_0x3ae20a,_0x178912){return function(_0x2f27d6){if(!_0x2f27d6){_0x3ae20a[_0x05fb('0x23')](0x194);}return _0x2f27d6;};}function handleError(_0x958cc7,_0x24de96){_0x24de96=_0x24de96||0x1f4;return function(_0x97666a){logger[_0x05fb('0x24')](_0x97666a[_0x05fb('0x25')]);if(_0x97666a[_0x05fb('0x26')]){delete _0x97666a[_0x05fb('0x26')];}_0x958cc7[_0x05fb('0x15')](_0x24de96)[_0x05fb('0x27')](_0x97666a);};}exports['index']=function(_0x462cb5,_0x4aed87){var _0xbce976={},_0x5e1381={},_0xfcb7bb={'count':0x0,'rows':[]};var _0x43514a=_[_0x05fb('0x28')](db['ServicenowConfiguration']['rawAttributes'],function(_0x15dd67){return{'name':_0x15dd67[_0x05fb('0x29')],'type':_0x15dd67[_0x05fb('0x2a')]['key']};});_0x5e1381[_0x05fb('0x2b')]=_[_0x05fb('0x28')](_0x43514a,'name');_0x5e1381[_0x05fb('0x2c')]=_['keys'](_0x462cb5[_0x05fb('0x2c')]);_0x5e1381[_0x05fb('0x2d')]=_[_0x05fb('0x2e')](_0x5e1381[_0x05fb('0x2b')],_0x5e1381['query']);_0xbce976[_0x05fb('0x2f')]=_[_0x05fb('0x2e')](_0x5e1381['model'],qs['fields'](_0x462cb5[_0x05fb('0x2c')]['fields']));_0xbce976[_0x05fb('0x2f')]=_0xbce976['attributes']['length']?_0xbce976['attributes']:_0x5e1381[_0x05fb('0x2b')];if(!_0x462cb5[_0x05fb('0x2c')][_0x05fb('0x30')]('nolimit')){_0xbce976[_0x05fb('0x19')]=qs[_0x05fb('0x19')](_0x462cb5[_0x05fb('0x2c')][_0x05fb('0x19')]);_0xbce976[_0x05fb('0x17')]=qs[_0x05fb('0x17')](_0x462cb5[_0x05fb('0x2c')][_0x05fb('0x17')]);}_0xbce976[_0x05fb('0x31')]=qs[_0x05fb('0x32')](_0x462cb5[_0x05fb('0x2c')][_0x05fb('0x32')]);_0xbce976[_0x05fb('0x33')]=qs[_0x05fb('0x2d')](_[_0x05fb('0x34')](_0x462cb5[_0x05fb('0x2c')],_0x5e1381['filters']),_0x43514a);if(_0x462cb5['query'][_0x05fb('0x35')]){_0xbce976[_0x05fb('0x33')]=_[_0x05fb('0x36')](_0xbce976['where'],{'$or':_[_0x05fb('0x28')](_0x43514a,function(_0x222679){if(_0x222679[_0x05fb('0x2a')]!==_0x05fb('0x37')){var _0x9c1a15={};_0x9c1a15[_0x222679[_0x05fb('0x26')]]={'$like':'%'+_0x462cb5[_0x05fb('0x2c')][_0x05fb('0x35')]+'%'};return _0x9c1a15;}})});}_0xbce976=_['merge']({},_0xbce976,_0x462cb5['options']);var _0x18bbff={'where':_0xbce976['where']};return db[_0x05fb('0x38')][_0x05fb('0x1a')](_0x18bbff)[_0x05fb('0x20')](function(_0x5bc68e){_0xfcb7bb[_0x05fb('0x1a')]=_0x5bc68e;if(_0x462cb5['query'][_0x05fb('0x39')]){_0xbce976[_0x05fb('0x3a')]=[{'all':!![]}];}return db[_0x05fb('0x38')][_0x05fb('0x3b')](_0xbce976);})[_0x05fb('0x20')](function(_0x6c48b5){_0xfcb7bb[_0x05fb('0x3c')]=_0x6c48b5;return _0xfcb7bb;})[_0x05fb('0x20')](respondWithFilteredResult(_0x4aed87,_0xbce976))[_0x05fb('0x3d')](handleError(_0x4aed87,null));};exports['show']=function(_0x33595d,_0x12cb05){var _0x709a90={'raw':![],'where':{'id':_0x33595d[_0x05fb('0x3e')]['id']}},_0x3294a9={};_0x3294a9[_0x05fb('0x2b')]=_[_0x05fb('0x3f')](db['ServicenowConfiguration'][_0x05fb('0x40')]);_0x3294a9[_0x05fb('0x2c')]=_[_0x05fb('0x3f')](_0x33595d[_0x05fb('0x2c')]);_0x3294a9[_0x05fb('0x2d')]=_[_0x05fb('0x2e')](_0x3294a9[_0x05fb('0x2b')],_0x3294a9[_0x05fb('0x2c')]);_0x709a90[_0x05fb('0x2f')]=_[_0x05fb('0x2e')](_0x3294a9[_0x05fb('0x2b')],qs['fields'](_0x33595d[_0x05fb('0x2c')][_0x05fb('0x41')]));_0x709a90[_0x05fb('0x2f')]=_0x709a90[_0x05fb('0x2f')][_0x05fb('0x42')]?_0x709a90[_0x05fb('0x2f')]:_0x3294a9[_0x05fb('0x2b')];if(_0x33595d['query'][_0x05fb('0x39')]){_0x709a90[_0x05fb('0x3a')]=[{'all':!![]}];}_0x709a90=_['merge']({},_0x709a90,_0x33595d['options']);return db[_0x05fb('0x38')]['find'](_0x709a90)[_0x05fb('0x20')](handleEntityNotFound(_0x12cb05,null))['then'](respondWithResult(_0x12cb05,null))[_0x05fb('0x3d')](handleError(_0x12cb05,null));};exports[_0x05fb('0x43')]=function(_0x592c6f,_0x5537c2){return db[_0x05fb('0x38')][_0x05fb('0x43')](_0x592c6f[_0x05fb('0x44')],{})['then'](respondWithResult(_0x5537c2,0xc9))['catch'](handleError(_0x5537c2,null));};exports[_0x05fb('0x1f')]=function(_0x228b16,_0x1519b2){if(_0x228b16[_0x05fb('0x44')]['id']){delete _0x228b16[_0x05fb('0x44')]['id'];}return db[_0x05fb('0x38')][_0x05fb('0x45')]({'where':{'id':_0x228b16[_0x05fb('0x3e')]['id']}})['then'](handleEntityNotFound(_0x1519b2,null))['then'](saveUpdates(_0x228b16['body'],null))[_0x05fb('0x20')](respondWithResult(_0x1519b2,null))[_0x05fb('0x3d')](handleError(_0x1519b2,null));};exports[_0x05fb('0x21')]=function(_0x1d5144,_0x253f20){return db[_0x05fb('0x38')]['find']({'where':{'id':_0x1d5144[_0x05fb('0x3e')]['id']}})[_0x05fb('0x20')](handleEntityNotFound(_0x253f20,null))['then'](removeEntity(_0x253f20,null))[_0x05fb('0x3d')](handleError(_0x253f20,null));};exports[_0x05fb('0x46')]=function(_0x3648f3,_0x4e69b5,_0x567f1d){var _0x520318={};var _0x28b338={};var _0xfc5da6;var _0x475a7a;return db[_0x05fb('0x38')][_0x05fb('0x47')]({'where':{'id':_0x3648f3[_0x05fb('0x3e')]['id']}})[_0x05fb('0x20')](handleEntityNotFound(_0x4e69b5,null))[_0x05fb('0x20')](function(_0x45961b){if(_0x45961b){_0xfc5da6=_0x45961b;_0x28b338['model']=_[_0x05fb('0x3f')](db[_0x05fb('0x48')]['rawAttributes']);_0x28b338[_0x05fb('0x2c')]=_[_0x05fb('0x3f')](_0x3648f3[_0x05fb('0x2c')]);_0x28b338['filters']=_[_0x05fb('0x2e')](_0x28b338[_0x05fb('0x2b')],_0x28b338[_0x05fb('0x2c')]);_0x520318[_0x05fb('0x2f')]=_[_0x05fb('0x2e')](_0x28b338[_0x05fb('0x2b')],qs[_0x05fb('0x41')](_0x3648f3['query'][_0x05fb('0x41')]));_0x520318['attributes']=_0x520318[_0x05fb('0x2f')][_0x05fb('0x42')]?_0x520318['attributes']:_0x28b338[_0x05fb('0x2b')];_0x520318['order']=qs['sort'](_0x3648f3['query'][_0x05fb('0x32')]);_0x520318[_0x05fb('0x33')]=qs[_0x05fb('0x2d')](_[_0x05fb('0x34')](_0x3648f3[_0x05fb('0x2c')],_0x28b338[_0x05fb('0x2d')]));if(_0x3648f3[_0x05fb('0x2c')][_0x05fb('0x35')]){_0x520318[_0x05fb('0x33')]=_['merge'](_0x520318[_0x05fb('0x33')],{'$or':_[_0x05fb('0x28')](_0x520318[_0x05fb('0x2f')],function(_0x49b819){var _0x224556={};_0x224556[_0x49b819]={'$like':'%'+_0x3648f3['query'][_0x05fb('0x35')]+'%'};return _0x224556;})});}_0x520318=_[_0x05fb('0x36')]({},_0x520318,_0x3648f3['options']);return _0xfc5da6['getFields'](_0x520318);}})[_0x05fb('0x20')](function(_0x2db5c5){if(_0x2db5c5){_0x475a7a=_0x2db5c5['length'];if(!_0x3648f3[_0x05fb('0x2c')]['hasOwnProperty']('nolimit')){_0x520318[_0x05fb('0x19')]=qs[_0x05fb('0x19')](_0x3648f3[_0x05fb('0x2c')][_0x05fb('0x19')]);_0x520318['offset']=qs[_0x05fb('0x17')](_0x3648f3[_0x05fb('0x2c')][_0x05fb('0x17')]);}return _0xfc5da6[_0x05fb('0x46')](_0x520318);}})[_0x05fb('0x20')](function(_0x4a3d03){if(_0x4a3d03){return _0x4a3d03?{'count':_0x475a7a,'rows':_0x4a3d03}:null;}})[_0x05fb('0x20')](respondWithResult(_0x4e69b5,null))[_0x05fb('0x3d')](handleError(_0x4e69b5,null));};exports[_0x05fb('0x49')]=function(_0x40bb9c,_0x55fe8a,_0x1cda4e){var _0x105cd1={};var _0x450ec2={};var _0x343f12;var _0xcb671b;return db[_0x05fb('0x38')][_0x05fb('0x47')]({'where':{'id':_0x40bb9c[_0x05fb('0x3e')]['id']}})[_0x05fb('0x20')](handleEntityNotFound(_0x55fe8a,null))[_0x05fb('0x20')](function(_0x4c9a12){if(_0x4c9a12){_0x343f12=_0x4c9a12;_0x450ec2['model']=_[_0x05fb('0x3f')](db[_0x05fb('0x48')][_0x05fb('0x40')]);_0x450ec2['query']=_[_0x05fb('0x3f')](_0x40bb9c[_0x05fb('0x2c')]);_0x450ec2[_0x05fb('0x2d')]=_['intersection'](_0x450ec2[_0x05fb('0x2b')],_0x450ec2[_0x05fb('0x2c')]);_0x105cd1['attributes']=_[_0x05fb('0x2e')](_0x450ec2[_0x05fb('0x2b')],qs[_0x05fb('0x41')](_0x40bb9c[_0x05fb('0x2c')]['fields']));_0x105cd1[_0x05fb('0x2f')]=_0x105cd1[_0x05fb('0x2f')][_0x05fb('0x42')]?_0x105cd1[_0x05fb('0x2f')]:_0x450ec2[_0x05fb('0x2b')];_0x105cd1[_0x05fb('0x31')]=qs[_0x05fb('0x32')](_0x40bb9c[_0x05fb('0x2c')][_0x05fb('0x32')]);_0x105cd1['where']=qs[_0x05fb('0x2d')](_[_0x05fb('0x34')](_0x40bb9c[_0x05fb('0x2c')],_0x450ec2['filters']));if(_0x40bb9c[_0x05fb('0x2c')][_0x05fb('0x35')]){_0x105cd1[_0x05fb('0x33')]=_['merge'](_0x105cd1['where'],{'$or':_[_0x05fb('0x28')](_0x105cd1['attributes'],function(_0x56c595){var _0x3c7769={};_0x3c7769[_0x56c595]={'$like':'%'+_0x40bb9c[_0x05fb('0x2c')][_0x05fb('0x35')]+'%'};return _0x3c7769;})});}_0x105cd1=_[_0x05fb('0x36')]({},_0x105cd1,_0x40bb9c[_0x05fb('0x4a')]);return _0x343f12[_0x05fb('0x49')](_0x105cd1);}})['then'](function(_0x5430b0){if(_0x5430b0){_0xcb671b=_0x5430b0[_0x05fb('0x42')];if(!_0x40bb9c['query']['hasOwnProperty'](_0x05fb('0x4b'))){_0x105cd1[_0x05fb('0x19')]=qs[_0x05fb('0x19')](_0x40bb9c[_0x05fb('0x2c')][_0x05fb('0x19')]);_0x105cd1[_0x05fb('0x17')]=qs[_0x05fb('0x17')](_0x40bb9c[_0x05fb('0x2c')][_0x05fb('0x17')]);}return _0x343f12[_0x05fb('0x49')](_0x105cd1);}})[_0x05fb('0x20')](function(_0x39317d){if(_0x39317d){return _0x39317d?{'count':_0xcb671b,'rows':_0x39317d}:null;}})[_0x05fb('0x20')](respondWithResult(_0x55fe8a,null))[_0x05fb('0x3d')](handleError(_0x55fe8a,null));};exports[_0x05fb('0x4c')]=function(_0x4f5400,_0x459b12,_0x571d46){var _0xc9ced9={};var _0x30f8a2={};var _0x305788;var _0x87a756;return db[_0x05fb('0x38')][_0x05fb('0x47')]({'where':{'id':_0x4f5400['params']['id']}})[_0x05fb('0x20')](handleEntityNotFound(_0x459b12,null))['then'](function(_0x3e97e4){if(_0x3e97e4){_0x305788=_0x3e97e4;_0x30f8a2[_0x05fb('0x2b')]=_['keys'](db[_0x05fb('0x48')]['rawAttributes']);_0x30f8a2[_0x05fb('0x2c')]=_[_0x05fb('0x3f')](_0x4f5400[_0x05fb('0x2c')]);_0x30f8a2['filters']=_['intersection'](_0x30f8a2[_0x05fb('0x2b')],_0x30f8a2[_0x05fb('0x2c')]);_0xc9ced9[_0x05fb('0x2f')]=_[_0x05fb('0x2e')](_0x30f8a2[_0x05fb('0x2b')],qs[_0x05fb('0x41')](_0x4f5400[_0x05fb('0x2c')]['fields']));_0xc9ced9[_0x05fb('0x2f')]=_0xc9ced9[_0x05fb('0x2f')][_0x05fb('0x42')]?_0xc9ced9[_0x05fb('0x2f')]:_0x30f8a2['model'];_0xc9ced9[_0x05fb('0x31')]=qs[_0x05fb('0x32')](_0x4f5400[_0x05fb('0x2c')]['sort']);_0xc9ced9[_0x05fb('0x33')]=qs['filters'](_[_0x05fb('0x34')](_0x4f5400[_0x05fb('0x2c')],_0x30f8a2[_0x05fb('0x2d')]));if(_0x4f5400[_0x05fb('0x2c')][_0x05fb('0x35')]){_0xc9ced9[_0x05fb('0x33')]=_['merge'](_0xc9ced9['where'],{'$or':_[_0x05fb('0x28')](_0xc9ced9[_0x05fb('0x2f')],function(_0x54f4c3){var _0x1dd093={};_0x1dd093[_0x54f4c3]={'$like':'%'+_0x4f5400[_0x05fb('0x2c')]['filter']+'%'};return _0x1dd093;})});}_0xc9ced9=_['merge']({},_0xc9ced9,_0x4f5400['options']);return _0x305788['getDescriptions'](_0xc9ced9);}})[_0x05fb('0x20')](function(_0x10378e){if(_0x10378e){_0x87a756=_0x10378e[_0x05fb('0x42')];if(!_0x4f5400[_0x05fb('0x2c')][_0x05fb('0x30')](_0x05fb('0x4b'))){_0xc9ced9['limit']=qs[_0x05fb('0x19')](_0x4f5400['query'][_0x05fb('0x19')]);_0xc9ced9[_0x05fb('0x17')]=qs[_0x05fb('0x17')](_0x4f5400[_0x05fb('0x2c')]['offset']);}return _0x305788[_0x05fb('0x4c')](_0xc9ced9);}})['then'](function(_0x13688d){if(_0x13688d){return _0x13688d?{'count':_0x87a756,'rows':_0x13688d}:null;}})[_0x05fb('0x20')](respondWithResult(_0x459b12,null))[_0x05fb('0x3d')](handleError(_0x459b12,null));};