Built motion from commit 96f8de6d.|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 _0x3e95=['map','VIRTUAL','options','ServicenowConfiguration','includeAll','include','rows','catch','params','keys','create','body','find','getFields','findOne','ServicenowField','getSubjects','getDescriptions','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','to-csv','ejs','fs-extra','lodash','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','status','end','json','offset','undefined','limit','count','set','save','then','destroy','sendStatus','error','stack','send','index','rawAttributes','fieldName','type','key','model','name','query','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','order','sort','where','pick','filter','merge'];(function(_0x476ca4,_0x345bb4){var _0x772715=function(_0x111e56){while(--_0x111e56){_0x476ca4['push'](_0x476ca4['shift']());}};_0x772715(++_0x345bb4);}(_0x3e95,0xb8));var _0x53e9=function(_0xb19b20,_0x4b9019){_0xb19b20=_0xb19b20-0x0;var _0x2c1572=_0x3e95[_0xb19b20];return _0x2c1572;};'use strict';var emlformat=require(_0x53e9('0x0'));var rimraf=require(_0x53e9('0x1'));var zipdir=require(_0x53e9('0x2'));var jsonpatch=require(_0x53e9('0x3'));var rp=require(_0x53e9('0x4'));var moment=require(_0x53e9('0x5'));var BPromise=require(_0x53e9('0x6'));var Mustache=require(_0x53e9('0x7'));var util=require(_0x53e9('0x8'));var path=require(_0x53e9('0x9'));var sox=require('sox');var csv=require(_0x53e9('0xa'));var ejs=require(_0x53e9('0xb'));var fs=require('fs');var fs_extra=require(_0x53e9('0xc'));var _=require(_0x53e9('0xd'));var squel=require('squel');var crypto=require(_0x53e9('0xe'));var jsforce=require(_0x53e9('0xf'));var deskjs=require(_0x53e9('0x10'));var toCsv=require(_0x53e9('0xa'));var querystring=require(_0x53e9('0x11'));var Papa=require(_0x53e9('0x12'));var Redis=require(_0x53e9('0x13'));var authService=require(_0x53e9('0x14'));var qs=require(_0x53e9('0x15'));var as=require(_0x53e9('0x16'));var hardwareService=require('../../config/license/hardware');var logger=require(_0x53e9('0x17'))(_0x53e9('0x18'));var utils=require(_0x53e9('0x19'));var config=require(_0x53e9('0x1a'));var licenseUtil=require(_0x53e9('0x1b'));var db=require(_0x53e9('0x1c'))['db'];function respondWithStatusCode(_0x15fef6,_0x4c27f4){_0x4c27f4=_0x4c27f4||0xcc;return function(_0x1ce6d8){if(_0x1ce6d8){return _0x15fef6['sendStatus'](_0x4c27f4);}return _0x15fef6[_0x53e9('0x1d')](_0x4c27f4)[_0x53e9('0x1e')]();};}function respondWithResult(_0x351d6d,_0x117ea2){_0x117ea2=_0x117ea2||0xc8;return function(_0x3f1a2b){if(_0x3f1a2b){return _0x351d6d[_0x53e9('0x1d')](_0x117ea2)[_0x53e9('0x1f')](_0x3f1a2b);}};}function respondWithFilteredResult(_0xdf374e,_0x2a408b){return function(_0x5a4ab2){if(_0x5a4ab2){var _0x63a2be=typeof _0x2a408b[_0x53e9('0x20')]===_0x53e9('0x21')&&typeof _0x2a408b[_0x53e9('0x22')]==='undefined';var _0x587e75=_0x5a4ab2[_0x53e9('0x23')];var _0x8db6d0=_0x63a2be?0x0:_0x2a408b[_0x53e9('0x20')];var _0x4fe550=_0x63a2be?_0x5a4ab2[_0x53e9('0x23')]:_0x2a408b[_0x53e9('0x20')]+_0x2a408b[_0x53e9('0x22')];var _0x2f379b;if(_0x4fe550>=_0x587e75){_0x4fe550=_0x587e75;_0x2f379b=0xc8;}else{_0x2f379b=0xce;}_0xdf374e[_0x53e9('0x1d')](_0x2f379b);return _0xdf374e[_0x53e9('0x24')]('Content-Range',_0x8db6d0+'-'+_0x4fe550+'/'+_0x587e75)[_0x53e9('0x1f')](_0x5a4ab2);}return null;};}function patchUpdates(_0x2bd668){return function(_0x505955){try{jsonpatch['apply'](_0x505955,_0x2bd668,!![]);}catch(_0x21159b){return BPromise['reject'](_0x21159b);}return _0x505955[_0x53e9('0x25')]();};}function saveUpdates(_0x27e15c,_0x3f1376){return function(_0x48a686){if(_0x48a686){return _0x48a686['update'](_0x27e15c)[_0x53e9('0x26')](function(_0x38094b){return _0x38094b;});}return null;};}function removeEntity(_0x2abd1c,_0x2fa24d){return function(_0x2b500a){if(_0x2b500a){return _0x2b500a[_0x53e9('0x27')]()[_0x53e9('0x26')](function(){_0x2abd1c[_0x53e9('0x1d')](0xcc)[_0x53e9('0x1e')]();});}};}function handleEntityNotFound(_0x4e6764,_0x28500c){return function(_0x26310f){if(!_0x26310f){_0x4e6764[_0x53e9('0x28')](0x194);}return _0x26310f;};}function handleError(_0xe1a094,_0x193686){_0x193686=_0x193686||0x1f4;return function(_0x5071b9){logger[_0x53e9('0x29')](_0x5071b9[_0x53e9('0x2a')]);if(_0x5071b9['name']){delete _0x5071b9['name'];}_0xe1a094[_0x53e9('0x1d')](_0x193686)[_0x53e9('0x2b')](_0x5071b9);};}exports[_0x53e9('0x2c')]=function(_0x3b53e0,_0x1dacfb){var _0x2e53ca={},_0x530bbc={},_0x230388={'count':0x0,'rows':[]};var _0x2baa24=_['map'](db['ServicenowConfiguration'][_0x53e9('0x2d')],function(_0x360224){return{'name':_0x360224[_0x53e9('0x2e')],'type':_0x360224[_0x53e9('0x2f')][_0x53e9('0x30')]};});_0x530bbc[_0x53e9('0x31')]=_['map'](_0x2baa24,_0x53e9('0x32'));_0x530bbc[_0x53e9('0x33')]=_['keys'](_0x3b53e0['query']);_0x530bbc[_0x53e9('0x34')]=_[_0x53e9('0x35')](_0x530bbc[_0x53e9('0x31')],_0x530bbc[_0x53e9('0x33')]);_0x2e53ca[_0x53e9('0x36')]=_[_0x53e9('0x35')](_0x530bbc[_0x53e9('0x31')],qs[_0x53e9('0x37')](_0x3b53e0[_0x53e9('0x33')][_0x53e9('0x37')]));_0x2e53ca[_0x53e9('0x36')]=_0x2e53ca[_0x53e9('0x36')][_0x53e9('0x38')]?_0x2e53ca[_0x53e9('0x36')]:_0x530bbc['model'];if(!_0x3b53e0[_0x53e9('0x33')][_0x53e9('0x39')](_0x53e9('0x3a'))){_0x2e53ca[_0x53e9('0x22')]=qs['limit'](_0x3b53e0[_0x53e9('0x33')][_0x53e9('0x22')]);_0x2e53ca[_0x53e9('0x20')]=qs[_0x53e9('0x20')](_0x3b53e0[_0x53e9('0x33')][_0x53e9('0x20')]);}_0x2e53ca[_0x53e9('0x3b')]=qs[_0x53e9('0x3c')](_0x3b53e0['query']['sort']);_0x2e53ca[_0x53e9('0x3d')]=qs[_0x53e9('0x34')](_[_0x53e9('0x3e')](_0x3b53e0[_0x53e9('0x33')],_0x530bbc[_0x53e9('0x34')]),_0x2baa24);if(_0x3b53e0[_0x53e9('0x33')][_0x53e9('0x3f')]){_0x2e53ca[_0x53e9('0x3d')]=_[_0x53e9('0x40')](_0x2e53ca[_0x53e9('0x3d')],{'$or':_[_0x53e9('0x41')](_0x2baa24,function(_0x3e6f26){if(_0x3e6f26[_0x53e9('0x2f')]!==_0x53e9('0x42')){var _0x55eac4={};_0x55eac4[_0x3e6f26['name']]={'$like':'%'+_0x3b53e0[_0x53e9('0x33')][_0x53e9('0x3f')]+'%'};return _0x55eac4;}})});}_0x2e53ca=_[_0x53e9('0x40')]({},_0x2e53ca,_0x3b53e0[_0x53e9('0x43')]);var _0x4e2aea={'where':_0x2e53ca[_0x53e9('0x3d')]};return db[_0x53e9('0x44')]['count'](_0x4e2aea)[_0x53e9('0x26')](function(_0x288cc3){_0x230388[_0x53e9('0x23')]=_0x288cc3;if(_0x3b53e0[_0x53e9('0x33')][_0x53e9('0x45')]){_0x2e53ca[_0x53e9('0x46')]=[{'all':!![]}];}return db[_0x53e9('0x44')]['findAll'](_0x2e53ca);})[_0x53e9('0x26')](function(_0x233639){_0x230388[_0x53e9('0x47')]=_0x233639;return _0x230388;})['then'](respondWithFilteredResult(_0x1dacfb,_0x2e53ca))[_0x53e9('0x48')](handleError(_0x1dacfb,null));};exports['show']=function(_0x5f0a75,_0x23176f){var _0x408bf3={'raw':![],'where':{'id':_0x5f0a75[_0x53e9('0x49')]['id']}},_0x1b6961={};_0x1b6961[_0x53e9('0x31')]=_['keys'](db['ServicenowConfiguration'][_0x53e9('0x2d')]);_0x1b6961[_0x53e9('0x33')]=_[_0x53e9('0x4a')](_0x5f0a75[_0x53e9('0x33')]);_0x1b6961[_0x53e9('0x34')]=_[_0x53e9('0x35')](_0x1b6961[_0x53e9('0x31')],_0x1b6961[_0x53e9('0x33')]);_0x408bf3[_0x53e9('0x36')]=_[_0x53e9('0x35')](_0x1b6961[_0x53e9('0x31')],qs[_0x53e9('0x37')](_0x5f0a75[_0x53e9('0x33')]['fields']));_0x408bf3['attributes']=_0x408bf3[_0x53e9('0x36')][_0x53e9('0x38')]?_0x408bf3[_0x53e9('0x36')]:_0x1b6961[_0x53e9('0x31')];if(_0x5f0a75[_0x53e9('0x33')]['includeAll']){_0x408bf3[_0x53e9('0x46')]=[{'all':!![]}];}_0x408bf3=_[_0x53e9('0x40')]({},_0x408bf3,_0x5f0a75['options']);return db[_0x53e9('0x44')]['find'](_0x408bf3)[_0x53e9('0x26')](handleEntityNotFound(_0x23176f,null))[_0x53e9('0x26')](respondWithResult(_0x23176f,null))['catch'](handleError(_0x23176f,null));};exports[_0x53e9('0x4b')]=function(_0x42554f,_0x15fc6c){return db[_0x53e9('0x44')][_0x53e9('0x4b')](_0x42554f['body'],{})[_0x53e9('0x26')](respondWithResult(_0x15fc6c,0xc9))[_0x53e9('0x48')](handleError(_0x15fc6c,null));};exports['update']=function(_0x541ec7,_0x3d0745){if(_0x541ec7[_0x53e9('0x4c')]['id']){delete _0x541ec7[_0x53e9('0x4c')]['id'];}return db[_0x53e9('0x44')][_0x53e9('0x4d')]({'where':{'id':_0x541ec7[_0x53e9('0x49')]['id']}})['then'](handleEntityNotFound(_0x3d0745,null))[_0x53e9('0x26')](saveUpdates(_0x541ec7[_0x53e9('0x4c')],null))[_0x53e9('0x26')](respondWithResult(_0x3d0745,null))[_0x53e9('0x48')](handleError(_0x3d0745,null));};exports[_0x53e9('0x27')]=function(_0x9fb783,_0x421589){return db['ServicenowConfiguration'][_0x53e9('0x4d')]({'where':{'id':_0x9fb783[_0x53e9('0x49')]['id']}})['then'](handleEntityNotFound(_0x421589,null))[_0x53e9('0x26')](removeEntity(_0x421589,null))[_0x53e9('0x48')](handleError(_0x421589,null));};exports[_0x53e9('0x4e')]=function(_0x5a22ad,_0x4e1063,_0x13edd7){var _0x9edf29={};var _0x1652bd={};var _0x15427e;var _0xdc78c0;return db[_0x53e9('0x44')][_0x53e9('0x4f')]({'where':{'id':_0x5a22ad['params']['id']}})[_0x53e9('0x26')](handleEntityNotFound(_0x4e1063,null))[_0x53e9('0x26')](function(_0x21fa5d){if(_0x21fa5d){_0x15427e=_0x21fa5d;_0x1652bd[_0x53e9('0x31')]=_['keys'](db[_0x53e9('0x50')][_0x53e9('0x2d')]);_0x1652bd[_0x53e9('0x33')]=_['keys'](_0x5a22ad[_0x53e9('0x33')]);_0x1652bd['filters']=_[_0x53e9('0x35')](_0x1652bd[_0x53e9('0x31')],_0x1652bd[_0x53e9('0x33')]);_0x9edf29[_0x53e9('0x36')]=_[_0x53e9('0x35')](_0x1652bd[_0x53e9('0x31')],qs[_0x53e9('0x37')](_0x5a22ad[_0x53e9('0x33')][_0x53e9('0x37')]));_0x9edf29['attributes']=_0x9edf29['attributes'][_0x53e9('0x38')]?_0x9edf29[_0x53e9('0x36')]:_0x1652bd[_0x53e9('0x31')];_0x9edf29[_0x53e9('0x3b')]=qs[_0x53e9('0x3c')](_0x5a22ad[_0x53e9('0x33')][_0x53e9('0x3c')]);_0x9edf29[_0x53e9('0x3d')]=qs[_0x53e9('0x34')](_[_0x53e9('0x3e')](_0x5a22ad[_0x53e9('0x33')],_0x1652bd['filters']));if(_0x5a22ad[_0x53e9('0x33')]['filter']){_0x9edf29['where']=_[_0x53e9('0x40')](_0x9edf29[_0x53e9('0x3d')],{'$or':_[_0x53e9('0x41')](_0x9edf29[_0x53e9('0x36')],function(_0x298814){var _0x1aa92b={};_0x1aa92b[_0x298814]={'$like':'%'+_0x5a22ad[_0x53e9('0x33')][_0x53e9('0x3f')]+'%'};return _0x1aa92b;})});}_0x9edf29=_[_0x53e9('0x40')]({},_0x9edf29,_0x5a22ad[_0x53e9('0x43')]);return _0x15427e['getFields'](_0x9edf29);}})[_0x53e9('0x26')](function(_0xe8a4f4){if(_0xe8a4f4){_0xdc78c0=_0xe8a4f4['length'];if(!_0x5a22ad['query']['hasOwnProperty'](_0x53e9('0x3a'))){_0x9edf29['limit']=qs['limit'](_0x5a22ad[_0x53e9('0x33')][_0x53e9('0x22')]);_0x9edf29[_0x53e9('0x20')]=qs[_0x53e9('0x20')](_0x5a22ad['query'][_0x53e9('0x20')]);}return _0x15427e[_0x53e9('0x4e')](_0x9edf29);}})[_0x53e9('0x26')](function(_0x5955aa){if(_0x5955aa){return _0x5955aa?{'count':_0xdc78c0,'rows':_0x5955aa}:null;}})[_0x53e9('0x26')](respondWithResult(_0x4e1063,null))[_0x53e9('0x48')](handleError(_0x4e1063,null));};exports[_0x53e9('0x51')]=function(_0x808608,_0x3c903d,_0x34d026){var _0x2d02ad={};var _0x1b6d3c={};var _0x119cd0;var _0x4c9564;return db['ServicenowConfiguration'][_0x53e9('0x4f')]({'where':{'id':_0x808608['params']['id']}})[_0x53e9('0x26')](handleEntityNotFound(_0x3c903d,null))[_0x53e9('0x26')](function(_0x2a259e){if(_0x2a259e){_0x119cd0=_0x2a259e;_0x1b6d3c[_0x53e9('0x31')]=_['keys'](db[_0x53e9('0x50')]['rawAttributes']);_0x1b6d3c[_0x53e9('0x33')]=_[_0x53e9('0x4a')](_0x808608[_0x53e9('0x33')]);_0x1b6d3c[_0x53e9('0x34')]=_[_0x53e9('0x35')](_0x1b6d3c[_0x53e9('0x31')],_0x1b6d3c['query']);_0x2d02ad[_0x53e9('0x36')]=_[_0x53e9('0x35')](_0x1b6d3c['model'],qs[_0x53e9('0x37')](_0x808608['query'][_0x53e9('0x37')]));_0x2d02ad[_0x53e9('0x36')]=_0x2d02ad[_0x53e9('0x36')][_0x53e9('0x38')]?_0x2d02ad['attributes']:_0x1b6d3c[_0x53e9('0x31')];_0x2d02ad[_0x53e9('0x3b')]=qs[_0x53e9('0x3c')](_0x808608['query'][_0x53e9('0x3c')]);_0x2d02ad[_0x53e9('0x3d')]=qs[_0x53e9('0x34')](_[_0x53e9('0x3e')](_0x808608['query'],_0x1b6d3c[_0x53e9('0x34')]));if(_0x808608['query'][_0x53e9('0x3f')]){_0x2d02ad['where']=_[_0x53e9('0x40')](_0x2d02ad[_0x53e9('0x3d')],{'$or':_[_0x53e9('0x41')](_0x2d02ad['attributes'],function(_0x389d5e){var _0x7631fd={};_0x7631fd[_0x389d5e]={'$like':'%'+_0x808608[_0x53e9('0x33')]['filter']+'%'};return _0x7631fd;})});}_0x2d02ad=_['merge']({},_0x2d02ad,_0x808608[_0x53e9('0x43')]);return _0x119cd0[_0x53e9('0x51')](_0x2d02ad);}})[_0x53e9('0x26')](function(_0xb3985d){if(_0xb3985d){_0x4c9564=_0xb3985d[_0x53e9('0x38')];if(!_0x808608['query']['hasOwnProperty'](_0x53e9('0x3a'))){_0x2d02ad[_0x53e9('0x22')]=qs[_0x53e9('0x22')](_0x808608[_0x53e9('0x33')][_0x53e9('0x22')]);_0x2d02ad[_0x53e9('0x20')]=qs['offset'](_0x808608[_0x53e9('0x33')]['offset']);}return _0x119cd0[_0x53e9('0x51')](_0x2d02ad);}})[_0x53e9('0x26')](function(_0x37879c){if(_0x37879c){return _0x37879c?{'count':_0x4c9564,'rows':_0x37879c}:null;}})['then'](respondWithResult(_0x3c903d,null))[_0x53e9('0x48')](handleError(_0x3c903d,null));};exports[_0x53e9('0x52')]=function(_0x106a4d,_0x63a756,_0x3d9bbb){var _0x4da9b6={};var _0x3426f8={};var _0x1fa842;var _0x2d7e95;return db[_0x53e9('0x44')][_0x53e9('0x4f')]({'where':{'id':_0x106a4d['params']['id']}})['then'](handleEntityNotFound(_0x63a756,null))[_0x53e9('0x26')](function(_0x54a846){if(_0x54a846){_0x1fa842=_0x54a846;_0x3426f8[_0x53e9('0x31')]=_['keys'](db[_0x53e9('0x50')][_0x53e9('0x2d')]);_0x3426f8[_0x53e9('0x33')]=_[_0x53e9('0x4a')](_0x106a4d[_0x53e9('0x33')]);_0x3426f8['filters']=_[_0x53e9('0x35')](_0x3426f8[_0x53e9('0x31')],_0x3426f8[_0x53e9('0x33')]);_0x4da9b6[_0x53e9('0x36')]=_[_0x53e9('0x35')](_0x3426f8[_0x53e9('0x31')],qs[_0x53e9('0x37')](_0x106a4d[_0x53e9('0x33')]['fields']));_0x4da9b6[_0x53e9('0x36')]=_0x4da9b6[_0x53e9('0x36')][_0x53e9('0x38')]?_0x4da9b6[_0x53e9('0x36')]:_0x3426f8[_0x53e9('0x31')];_0x4da9b6[_0x53e9('0x3b')]=qs[_0x53e9('0x3c')](_0x106a4d[_0x53e9('0x33')][_0x53e9('0x3c')]);_0x4da9b6[_0x53e9('0x3d')]=qs['filters'](_[_0x53e9('0x3e')](_0x106a4d[_0x53e9('0x33')],_0x3426f8[_0x53e9('0x34')]));if(_0x106a4d[_0x53e9('0x33')][_0x53e9('0x3f')]){_0x4da9b6[_0x53e9('0x3d')]=_[_0x53e9('0x40')](_0x4da9b6[_0x53e9('0x3d')],{'$or':_[_0x53e9('0x41')](_0x4da9b6[_0x53e9('0x36')],function(_0x2ccf94){var _0x2287c5={};_0x2287c5[_0x2ccf94]={'$like':'%'+_0x106a4d['query']['filter']+'%'};return _0x2287c5;})});}_0x4da9b6=_['merge']({},_0x4da9b6,_0x106a4d['options']);return _0x1fa842['getDescriptions'](_0x4da9b6);}})['then'](function(_0x387635){if(_0x387635){_0x2d7e95=_0x387635[_0x53e9('0x38')];if(!_0x106a4d[_0x53e9('0x33')]['hasOwnProperty'](_0x53e9('0x3a'))){_0x4da9b6[_0x53e9('0x22')]=qs[_0x53e9('0x22')](_0x106a4d[_0x53e9('0x33')]['limit']);_0x4da9b6[_0x53e9('0x20')]=qs[_0x53e9('0x20')](_0x106a4d[_0x53e9('0x33')]['offset']);}return _0x1fa842[_0x53e9('0x52')](_0x4da9b6);}})['then'](function(_0x1a614f){if(_0x1a614f){return _0x1a614f?{'count':_0x2d7e95,'rows':_0x1a614f}:null;}})[_0x53e9('0x26')](respondWithResult(_0x63a756,null))['catch'](handleError(_0x63a756,null));};