Built motion from commit 7158bc59.|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 _0x9897=['mustache','util','path','fs-extra','lodash','squel','crypto','desk.js','to-csv','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','end','json','offset','undefined','limit','count','status','set','Content-Range','apply','then','destroy','error','name','send','index','ServicenowConfiguration','rawAttributes','fieldName','key','model','map','query','keys','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','sort','where','pick','merge','VIRTUAL','filter','options','findAll','catch','show','includeAll','include','create','body','update','find','params','getFields','order','findOne','getSubjects','getDescriptions','ServicenowField','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird'];(function(_0xfac3e6,_0x21b254){var _0x3768d0=function(_0x3a85ee){while(--_0x3a85ee){_0xfac3e6['push'](_0xfac3e6['shift']());}};_0x3768d0(++_0x21b254);}(_0x9897,0x9f));var _0x7989=function(_0x16d10f,_0x2ba2d5){_0x16d10f=_0x16d10f-0x0;var _0x50c823=_0x9897[_0x16d10f];return _0x50c823;};'use strict';var emlformat=require(_0x7989('0x0'));var rimraf=require(_0x7989('0x1'));var zipdir=require(_0x7989('0x2'));var jsonpatch=require(_0x7989('0x3'));var rp=require(_0x7989('0x4'));var moment=require(_0x7989('0x5'));var BPromise=require(_0x7989('0x6'));var Mustache=require(_0x7989('0x7'));var util=require(_0x7989('0x8'));var path=require(_0x7989('0x9'));var sox=require('sox');var csv=require('to-csv');var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0x7989('0xa'));var _=require(_0x7989('0xb'));var squel=require(_0x7989('0xc'));var crypto=require(_0x7989('0xd'));var jsforce=require('jsforce');var deskjs=require(_0x7989('0xe'));var toCsv=require(_0x7989('0xf'));var querystring=require(_0x7989('0x10'));var Papa=require(_0x7989('0x11'));var Redis=require(_0x7989('0x12'));var authService=require(_0x7989('0x13'));var qs=require(_0x7989('0x14'));var as=require(_0x7989('0x15'));var hardwareService=require(_0x7989('0x16'));var logger=require('../../config/logger')(_0x7989('0x17'));var utils=require(_0x7989('0x18'));var config=require(_0x7989('0x19'));var licenseUtil=require(_0x7989('0x1a'));var db=require(_0x7989('0x1b'))['db'];function respondWithStatusCode(_0x1521cc,_0x1626e3){_0x1626e3=_0x1626e3||0xcc;return function(_0x4e0e25){if(_0x4e0e25){return _0x1521cc[_0x7989('0x1c')](_0x1626e3);}return _0x1521cc['status'](_0x1626e3)[_0x7989('0x1d')]();};}function respondWithResult(_0x11c329,_0x3d2fc7){_0x3d2fc7=_0x3d2fc7||0xc8;return function(_0x1b5940){if(_0x1b5940){return _0x11c329['status'](_0x3d2fc7)[_0x7989('0x1e')](_0x1b5940);}};}function respondWithFilteredResult(_0x5da315,_0x36c6fd){return function(_0x104673){if(_0x104673){var _0x15bdef=typeof _0x36c6fd[_0x7989('0x1f')]===_0x7989('0x20')&&typeof _0x36c6fd[_0x7989('0x21')]==='undefined';var _0x432fe2=_0x104673['count'];var _0x491c30=_0x15bdef?0x0:_0x36c6fd[_0x7989('0x1f')];var _0x53273c=_0x15bdef?_0x104673[_0x7989('0x22')]:_0x36c6fd['offset']+_0x36c6fd[_0x7989('0x21')];var _0x357453;if(_0x53273c>=_0x432fe2){_0x53273c=_0x432fe2;_0x357453=0xc8;}else{_0x357453=0xce;}_0x5da315[_0x7989('0x23')](_0x357453);return _0x5da315[_0x7989('0x24')](_0x7989('0x25'),_0x491c30+'-'+_0x53273c+'/'+_0x432fe2)['json'](_0x104673);}return null;};}function patchUpdates(_0x530cda){return function(_0x264873){try{jsonpatch[_0x7989('0x26')](_0x264873,_0x530cda,!![]);}catch(_0x208561){return BPromise['reject'](_0x208561);}return _0x264873['save']();};}function saveUpdates(_0x3e23f1,_0x261378){return function(_0x3eef6a){if(_0x3eef6a){return _0x3eef6a['update'](_0x3e23f1)[_0x7989('0x27')](function(_0x5e2e04){return _0x5e2e04;});}return null;};}function removeEntity(_0x4c036a,_0xcc196b){return function(_0x3228ba){if(_0x3228ba){return _0x3228ba[_0x7989('0x28')]()[_0x7989('0x27')](function(){_0x4c036a[_0x7989('0x23')](0xcc)[_0x7989('0x1d')]();});}};}function handleEntityNotFound(_0x1b92e6,_0x242725){return function(_0x407a9e){if(!_0x407a9e){_0x1b92e6[_0x7989('0x1c')](0x194);}return _0x407a9e;};}function handleError(_0x2923e7,_0x2c1c2c){_0x2c1c2c=_0x2c1c2c||0x1f4;return function(_0x4362a3){logger[_0x7989('0x29')](_0x4362a3['stack']);if(_0x4362a3[_0x7989('0x2a')]){delete _0x4362a3[_0x7989('0x2a')];}_0x2923e7['status'](_0x2c1c2c)[_0x7989('0x2b')](_0x4362a3);};}exports[_0x7989('0x2c')]=function(_0x2aea6b,_0x3520c3){var _0x2f6fc9={},_0x459280={},_0x28b07e={'count':0x0,'rows':[]};var _0x502914=_['map'](db[_0x7989('0x2d')][_0x7989('0x2e')],function(_0x43dfea){return{'name':_0x43dfea[_0x7989('0x2f')],'type':_0x43dfea['type'][_0x7989('0x30')]};});_0x459280[_0x7989('0x31')]=_[_0x7989('0x32')](_0x502914,'name');_0x459280[_0x7989('0x33')]=_[_0x7989('0x34')](_0x2aea6b['query']);_0x459280[_0x7989('0x35')]=_[_0x7989('0x36')](_0x459280[_0x7989('0x31')],_0x459280['query']);_0x2f6fc9[_0x7989('0x37')]=_[_0x7989('0x36')](_0x459280[_0x7989('0x31')],qs[_0x7989('0x38')](_0x2aea6b[_0x7989('0x33')][_0x7989('0x38')]));_0x2f6fc9[_0x7989('0x37')]=_0x2f6fc9[_0x7989('0x37')][_0x7989('0x39')]?_0x2f6fc9[_0x7989('0x37')]:_0x459280[_0x7989('0x31')];if(!_0x2aea6b[_0x7989('0x33')][_0x7989('0x3a')](_0x7989('0x3b'))){_0x2f6fc9['limit']=qs[_0x7989('0x21')](_0x2aea6b[_0x7989('0x33')][_0x7989('0x21')]);_0x2f6fc9[_0x7989('0x1f')]=qs[_0x7989('0x1f')](_0x2aea6b[_0x7989('0x33')][_0x7989('0x1f')]);}_0x2f6fc9['order']=qs[_0x7989('0x3c')](_0x2aea6b[_0x7989('0x33')][_0x7989('0x3c')]);_0x2f6fc9[_0x7989('0x3d')]=qs[_0x7989('0x35')](_[_0x7989('0x3e')](_0x2aea6b[_0x7989('0x33')],_0x459280[_0x7989('0x35')]),_0x502914);if(_0x2aea6b['query']['filter']){_0x2f6fc9[_0x7989('0x3d')]=_[_0x7989('0x3f')](_0x2f6fc9[_0x7989('0x3d')],{'$or':_[_0x7989('0x32')](_0x502914,function(_0x501cc7){if(_0x501cc7['type']!==_0x7989('0x40')){var _0x4b4fe0={};_0x4b4fe0[_0x501cc7[_0x7989('0x2a')]]={'$like':'%'+_0x2aea6b[_0x7989('0x33')][_0x7989('0x41')]+'%'};return _0x4b4fe0;}})});}_0x2f6fc9=_[_0x7989('0x3f')]({},_0x2f6fc9,_0x2aea6b[_0x7989('0x42')]);var _0x41e2d8={'where':_0x2f6fc9[_0x7989('0x3d')]};return db['ServicenowConfiguration'][_0x7989('0x22')](_0x41e2d8)['then'](function(_0x270c3b){_0x28b07e['count']=_0x270c3b;if(_0x2aea6b[_0x7989('0x33')]['includeAll']){_0x2f6fc9['include']=[{'all':!![]}];}return db[_0x7989('0x2d')][_0x7989('0x43')](_0x2f6fc9);})[_0x7989('0x27')](function(_0x21d1a3){_0x28b07e['rows']=_0x21d1a3;return _0x28b07e;})['then'](respondWithFilteredResult(_0x3520c3,_0x2f6fc9))[_0x7989('0x44')](handleError(_0x3520c3,null));};exports[_0x7989('0x45')]=function(_0x3c00e3,_0x3b418d){var _0xa792d1={'raw':![],'where':{'id':_0x3c00e3['params']['id']}},_0x41987f={};_0x41987f['model']=_[_0x7989('0x34')](db[_0x7989('0x2d')][_0x7989('0x2e')]);_0x41987f[_0x7989('0x33')]=_[_0x7989('0x34')](_0x3c00e3[_0x7989('0x33')]);_0x41987f['filters']=_[_0x7989('0x36')](_0x41987f[_0x7989('0x31')],_0x41987f[_0x7989('0x33')]);_0xa792d1[_0x7989('0x37')]=_['intersection'](_0x41987f['model'],qs[_0x7989('0x38')](_0x3c00e3[_0x7989('0x33')]['fields']));_0xa792d1[_0x7989('0x37')]=_0xa792d1['attributes'][_0x7989('0x39')]?_0xa792d1[_0x7989('0x37')]:_0x41987f[_0x7989('0x31')];if(_0x3c00e3['query'][_0x7989('0x46')]){_0xa792d1[_0x7989('0x47')]=[{'all':!![]}];}_0xa792d1=_[_0x7989('0x3f')]({},_0xa792d1,_0x3c00e3[_0x7989('0x42')]);return db[_0x7989('0x2d')]['find'](_0xa792d1)[_0x7989('0x27')](handleEntityNotFound(_0x3b418d,null))[_0x7989('0x27')](respondWithResult(_0x3b418d,null))['catch'](handleError(_0x3b418d,null));};exports[_0x7989('0x48')]=function(_0x202662,_0x4bff61){return db[_0x7989('0x2d')]['create'](_0x202662[_0x7989('0x49')],{})[_0x7989('0x27')](respondWithResult(_0x4bff61,0xc9))['catch'](handleError(_0x4bff61,null));};exports[_0x7989('0x4a')]=function(_0x502471,_0x5806b8){if(_0x502471[_0x7989('0x49')]['id']){delete _0x502471[_0x7989('0x49')]['id'];}return db[_0x7989('0x2d')][_0x7989('0x4b')]({'where':{'id':_0x502471[_0x7989('0x4c')]['id']}})['then'](handleEntityNotFound(_0x5806b8,null))[_0x7989('0x27')](saveUpdates(_0x502471['body'],null))['then'](respondWithResult(_0x5806b8,null))[_0x7989('0x44')](handleError(_0x5806b8,null));};exports[_0x7989('0x28')]=function(_0x3998ad,_0x2bfc22){return db[_0x7989('0x2d')][_0x7989('0x4b')]({'where':{'id':_0x3998ad[_0x7989('0x4c')]['id']}})[_0x7989('0x27')](handleEntityNotFound(_0x2bfc22,null))['then'](removeEntity(_0x2bfc22,null))['catch'](handleError(_0x2bfc22,null));};exports[_0x7989('0x4d')]=function(_0x1b991b,_0x20a639,_0x521af9){var _0x3aa314={};var _0x290d8a={};var _0xc40c68;var _0x2a701c;return db['ServicenowConfiguration']['findOne']({'where':{'id':_0x1b991b[_0x7989('0x4c')]['id']}})[_0x7989('0x27')](handleEntityNotFound(_0x20a639,null))[_0x7989('0x27')](function(_0x354ed4){if(_0x354ed4){_0xc40c68=_0x354ed4;_0x290d8a['model']=_[_0x7989('0x34')](db['ServicenowField']['rawAttributes']);_0x290d8a['query']=_[_0x7989('0x34')](_0x1b991b['query']);_0x290d8a['filters']=_[_0x7989('0x36')](_0x290d8a[_0x7989('0x31')],_0x290d8a[_0x7989('0x33')]);_0x3aa314[_0x7989('0x37')]=_['intersection'](_0x290d8a['model'],qs[_0x7989('0x38')](_0x1b991b['query'][_0x7989('0x38')]));_0x3aa314['attributes']=_0x3aa314['attributes'][_0x7989('0x39')]?_0x3aa314['attributes']:_0x290d8a[_0x7989('0x31')];_0x3aa314[_0x7989('0x4e')]=qs['sort'](_0x1b991b['query'][_0x7989('0x3c')]);_0x3aa314[_0x7989('0x3d')]=qs[_0x7989('0x35')](_[_0x7989('0x3e')](_0x1b991b['query'],_0x290d8a[_0x7989('0x35')]));if(_0x1b991b[_0x7989('0x33')][_0x7989('0x41')]){_0x3aa314['where']=_[_0x7989('0x3f')](_0x3aa314['where'],{'$or':_['map'](_0x3aa314[_0x7989('0x37')],function(_0x24edf8){var _0xc20279={};_0xc20279[_0x24edf8]={'$like':'%'+_0x1b991b[_0x7989('0x33')][_0x7989('0x41')]+'%'};return _0xc20279;})});}_0x3aa314=_[_0x7989('0x3f')]({},_0x3aa314,_0x1b991b[_0x7989('0x42')]);return _0xc40c68[_0x7989('0x4d')](_0x3aa314);}})['then'](function(_0x12f7a4){if(_0x12f7a4){_0x2a701c=_0x12f7a4[_0x7989('0x39')];if(!_0x1b991b[_0x7989('0x33')][_0x7989('0x3a')](_0x7989('0x3b'))){_0x3aa314['limit']=qs[_0x7989('0x21')](_0x1b991b['query'][_0x7989('0x21')]);_0x3aa314['offset']=qs[_0x7989('0x1f')](_0x1b991b[_0x7989('0x33')][_0x7989('0x1f')]);}return _0xc40c68[_0x7989('0x4d')](_0x3aa314);}})['then'](function(_0x6714c5){if(_0x6714c5){return _0x6714c5?{'count':_0x2a701c,'rows':_0x6714c5}:null;}})['then'](respondWithResult(_0x20a639,null))[_0x7989('0x44')](handleError(_0x20a639,null));};exports['getSubjects']=function(_0x29239d,_0xf5edba,_0x39c3b9){var _0x10ba61={};var _0x149b93={};var _0x206daa;var _0x30bf7c;return db[_0x7989('0x2d')][_0x7989('0x4f')]({'where':{'id':_0x29239d[_0x7989('0x4c')]['id']}})[_0x7989('0x27')](handleEntityNotFound(_0xf5edba,null))[_0x7989('0x27')](function(_0x324f5e){if(_0x324f5e){_0x206daa=_0x324f5e;_0x149b93[_0x7989('0x31')]=_[_0x7989('0x34')](db['ServicenowField'][_0x7989('0x2e')]);_0x149b93['query']=_['keys'](_0x29239d[_0x7989('0x33')]);_0x149b93[_0x7989('0x35')]=_[_0x7989('0x36')](_0x149b93[_0x7989('0x31')],_0x149b93[_0x7989('0x33')]);_0x10ba61['attributes']=_[_0x7989('0x36')](_0x149b93[_0x7989('0x31')],qs[_0x7989('0x38')](_0x29239d['query'][_0x7989('0x38')]));_0x10ba61[_0x7989('0x37')]=_0x10ba61['attributes'][_0x7989('0x39')]?_0x10ba61[_0x7989('0x37')]:_0x149b93[_0x7989('0x31')];_0x10ba61['order']=qs['sort'](_0x29239d[_0x7989('0x33')]['sort']);_0x10ba61[_0x7989('0x3d')]=qs[_0x7989('0x35')](_[_0x7989('0x3e')](_0x29239d[_0x7989('0x33')],_0x149b93[_0x7989('0x35')]));if(_0x29239d[_0x7989('0x33')]['filter']){_0x10ba61[_0x7989('0x3d')]=_['merge'](_0x10ba61[_0x7989('0x3d')],{'$or':_[_0x7989('0x32')](_0x10ba61['attributes'],function(_0x483b34){var _0x3bbfc8={};_0x3bbfc8[_0x483b34]={'$like':'%'+_0x29239d[_0x7989('0x33')][_0x7989('0x41')]+'%'};return _0x3bbfc8;})});}_0x10ba61=_['merge']({},_0x10ba61,_0x29239d['options']);return _0x206daa['getSubjects'](_0x10ba61);}})['then'](function(_0xb720b7){if(_0xb720b7){_0x30bf7c=_0xb720b7[_0x7989('0x39')];if(!_0x29239d[_0x7989('0x33')][_0x7989('0x3a')](_0x7989('0x3b'))){_0x10ba61[_0x7989('0x21')]=qs[_0x7989('0x21')](_0x29239d['query'][_0x7989('0x21')]);_0x10ba61[_0x7989('0x1f')]=qs[_0x7989('0x1f')](_0x29239d['query'][_0x7989('0x1f')]);}return _0x206daa[_0x7989('0x50')](_0x10ba61);}})[_0x7989('0x27')](function(_0x20e73b){if(_0x20e73b){return _0x20e73b?{'count':_0x30bf7c,'rows':_0x20e73b}:null;}})[_0x7989('0x27')](respondWithResult(_0xf5edba,null))[_0x7989('0x44')](handleError(_0xf5edba,null));};exports[_0x7989('0x51')]=function(_0x1e1fb0,_0x149c3c,_0x1a4563){var _0x2676ee={};var _0x8a16bf={};var _0x348b4c;var _0x2abd12;return db[_0x7989('0x2d')][_0x7989('0x4f')]({'where':{'id':_0x1e1fb0[_0x7989('0x4c')]['id']}})[_0x7989('0x27')](handleEntityNotFound(_0x149c3c,null))[_0x7989('0x27')](function(_0x57f2e4){if(_0x57f2e4){_0x348b4c=_0x57f2e4;_0x8a16bf[_0x7989('0x31')]=_['keys'](db[_0x7989('0x52')]['rawAttributes']);_0x8a16bf[_0x7989('0x33')]=_[_0x7989('0x34')](_0x1e1fb0[_0x7989('0x33')]);_0x8a16bf[_0x7989('0x35')]=_[_0x7989('0x36')](_0x8a16bf[_0x7989('0x31')],_0x8a16bf[_0x7989('0x33')]);_0x2676ee[_0x7989('0x37')]=_[_0x7989('0x36')](_0x8a16bf[_0x7989('0x31')],qs[_0x7989('0x38')](_0x1e1fb0['query'][_0x7989('0x38')]));_0x2676ee[_0x7989('0x37')]=_0x2676ee['attributes']['length']?_0x2676ee[_0x7989('0x37')]:_0x8a16bf['model'];_0x2676ee[_0x7989('0x4e')]=qs[_0x7989('0x3c')](_0x1e1fb0[_0x7989('0x33')][_0x7989('0x3c')]);_0x2676ee[_0x7989('0x3d')]=qs['filters'](_[_0x7989('0x3e')](_0x1e1fb0['query'],_0x8a16bf['filters']));if(_0x1e1fb0[_0x7989('0x33')][_0x7989('0x41')]){_0x2676ee[_0x7989('0x3d')]=_[_0x7989('0x3f')](_0x2676ee[_0x7989('0x3d')],{'$or':_[_0x7989('0x32')](_0x2676ee['attributes'],function(_0x234dc8){var _0x265484={};_0x265484[_0x234dc8]={'$like':'%'+_0x1e1fb0[_0x7989('0x33')]['filter']+'%'};return _0x265484;})});}_0x2676ee=_[_0x7989('0x3f')]({},_0x2676ee,_0x1e1fb0['options']);return _0x348b4c[_0x7989('0x51')](_0x2676ee);}})['then'](function(_0x19aafb){if(_0x19aafb){_0x2abd12=_0x19aafb['length'];if(!_0x1e1fb0[_0x7989('0x33')][_0x7989('0x3a')](_0x7989('0x3b'))){_0x2676ee['limit']=qs[_0x7989('0x21')](_0x1e1fb0[_0x7989('0x33')][_0x7989('0x21')]);_0x2676ee[_0x7989('0x1f')]=qs[_0x7989('0x1f')](_0x1e1fb0[_0x7989('0x33')][_0x7989('0x1f')]);}return _0x348b4c[_0x7989('0x51')](_0x2676ee);}})[_0x7989('0x27')](function(_0x394c89){if(_0x394c89){return _0x394c89?{'count':_0x2abd12,'rows':_0x394c89}:null;}})[_0x7989('0x27')](respondWithResult(_0x149c3c,null))[_0x7989('0x44')](handleError(_0x149c3c,null));};