96ef6309ecde00b0700b8999c80265e584049456
[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 _0x2dd5=['to-csv','ejs','fs-extra','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','json','undefined','count','offset','limit','set','Content-Range','apply','reject','save','update','then','destroy','error','name','send','index','map','ServicenowConfiguration','type','key','model','query','keys','filters','attributes','intersection','fields','length','hasOwnProperty','sort','where','pick','filter','merge','options','include','findAll','rows','catch','show','params','rawAttributes','find','create','body','getFields','findOne','ServicenowField','nolimit','getSubjects','order','getDescriptions','zip-dir','fast-json-patch','request-promise','bluebird','mustache','sox'];(function(_0x313dde,_0x32616f){var _0xd0013f=function(_0x5bf3c5){while(--_0x5bf3c5){_0x313dde['push'](_0x313dde['shift']());}};_0xd0013f(++_0x32616f);}(_0x2dd5,0x199));var _0x52dd=function(_0x363f3b,_0x5bed58){_0x363f3b=_0x363f3b-0x0;var _0x6bcf33=_0x2dd5[_0x363f3b];return _0x6bcf33;};'use strict';var emlformat=require('eml-format');var rimraf=require('rimraf');var zipdir=require(_0x52dd('0x0'));var jsonpatch=require(_0x52dd('0x1'));var rp=require(_0x52dd('0x2'));var moment=require('moment');var BPromise=require(_0x52dd('0x3'));var Mustache=require(_0x52dd('0x4'));var util=require('util');var path=require('path');var sox=require(_0x52dd('0x5'));var csv=require(_0x52dd('0x6'));var ejs=require(_0x52dd('0x7'));var fs=require('fs');var fs_extra=require(_0x52dd('0x8'));var _=require(_0x52dd('0x9'));var squel=require(_0x52dd('0xa'));var crypto=require(_0x52dd('0xb'));var jsforce=require(_0x52dd('0xc'));var deskjs=require(_0x52dd('0xd'));var toCsv=require(_0x52dd('0x6'));var querystring=require(_0x52dd('0xe'));var Papa=require(_0x52dd('0xf'));var Redis=require(_0x52dd('0x10'));var authService=require(_0x52dd('0x11'));var qs=require(_0x52dd('0x12'));var as=require(_0x52dd('0x13'));var hardwareService=require(_0x52dd('0x14'));var logger=require(_0x52dd('0x15'))(_0x52dd('0x16'));var utils=require(_0x52dd('0x17'));var config=require(_0x52dd('0x18'));var licenseUtil=require(_0x52dd('0x19'));var db=require(_0x52dd('0x1a'))['db'];function respondWithStatusCode(_0x16f29c,_0x4ed9bf){_0x4ed9bf=_0x4ed9bf||0xcc;return function(_0x128be5){if(_0x128be5){return _0x16f29c[_0x52dd('0x1b')](_0x4ed9bf);}return _0x16f29c[_0x52dd('0x1c')](_0x4ed9bf)[_0x52dd('0x1d')]();};}function respondWithResult(_0x29501a,_0x5916b1){_0x5916b1=_0x5916b1||0xc8;return function(_0x355fc6){if(_0x355fc6){return _0x29501a[_0x52dd('0x1c')](_0x5916b1)[_0x52dd('0x1e')](_0x355fc6);}};}function respondWithFilteredResult(_0x275049,_0xa91ca){return function(_0x37b138){if(_0x37b138){var _0x710288=typeof _0xa91ca['offset']===_0x52dd('0x1f')&&typeof _0xa91ca['limit']===_0x52dd('0x1f');var _0x395842=_0x37b138[_0x52dd('0x20')];var _0xb41fef=_0x710288?0x0:_0xa91ca[_0x52dd('0x21')];var _0x36ceec=_0x710288?_0x37b138[_0x52dd('0x20')]:_0xa91ca['offset']+_0xa91ca[_0x52dd('0x22')];var _0xb2f7fc;if(_0x36ceec>=_0x395842){_0x36ceec=_0x395842;_0xb2f7fc=0xc8;}else{_0xb2f7fc=0xce;}_0x275049['status'](_0xb2f7fc);return _0x275049[_0x52dd('0x23')](_0x52dd('0x24'),_0xb41fef+'-'+_0x36ceec+'/'+_0x395842)[_0x52dd('0x1e')](_0x37b138);}return null;};}function patchUpdates(_0x27ace2){return function(_0xc1c53){try{jsonpatch[_0x52dd('0x25')](_0xc1c53,_0x27ace2,!![]);}catch(_0x3d516e){return BPromise[_0x52dd('0x26')](_0x3d516e);}return _0xc1c53[_0x52dd('0x27')]();};}function saveUpdates(_0x241eb7,_0x5d7f76){return function(_0x87754c){if(_0x87754c){return _0x87754c[_0x52dd('0x28')](_0x241eb7)[_0x52dd('0x29')](function(_0x7048a){return _0x7048a;});}return null;};}function removeEntity(_0x118b76,_0xadef88){return function(_0x32a916){if(_0x32a916){return _0x32a916[_0x52dd('0x2a')]()[_0x52dd('0x29')](function(){_0x118b76['status'](0xcc)[_0x52dd('0x1d')]();});}};}function handleEntityNotFound(_0x4835f4,_0x3ae75c){return function(_0x37020e){if(!_0x37020e){_0x4835f4['sendStatus'](0x194);}return _0x37020e;};}function handleError(_0x381c55,_0x166414){_0x166414=_0x166414||0x1f4;return function(_0x2d0aac){logger[_0x52dd('0x2b')](_0x2d0aac['stack']);if(_0x2d0aac[_0x52dd('0x2c')]){delete _0x2d0aac['name'];}_0x381c55[_0x52dd('0x1c')](_0x166414)[_0x52dd('0x2d')](_0x2d0aac);};}exports[_0x52dd('0x2e')]=function(_0x7acd95,_0x50cbcc){var _0x2f6ecd={},_0x32270a={},_0xd077ab={'count':0x0,'rows':[]};var _0x2061c7=_[_0x52dd('0x2f')](db[_0x52dd('0x30')]['rawAttributes'],function(_0x148609){return{'name':_0x148609['fieldName'],'type':_0x148609[_0x52dd('0x31')][_0x52dd('0x32')]};});_0x32270a[_0x52dd('0x33')]=_[_0x52dd('0x2f')](_0x2061c7,_0x52dd('0x2c'));_0x32270a[_0x52dd('0x34')]=_[_0x52dd('0x35')](_0x7acd95['query']);_0x32270a[_0x52dd('0x36')]=_['intersection'](_0x32270a['model'],_0x32270a['query']);_0x2f6ecd[_0x52dd('0x37')]=_[_0x52dd('0x38')](_0x32270a[_0x52dd('0x33')],qs[_0x52dd('0x39')](_0x7acd95[_0x52dd('0x34')][_0x52dd('0x39')]));_0x2f6ecd['attributes']=_0x2f6ecd[_0x52dd('0x37')][_0x52dd('0x3a')]?_0x2f6ecd[_0x52dd('0x37')]:_0x32270a[_0x52dd('0x33')];if(!_0x7acd95[_0x52dd('0x34')][_0x52dd('0x3b')]('nolimit')){_0x2f6ecd[_0x52dd('0x22')]=qs[_0x52dd('0x22')](_0x7acd95[_0x52dd('0x34')][_0x52dd('0x22')]);_0x2f6ecd[_0x52dd('0x21')]=qs['offset'](_0x7acd95[_0x52dd('0x34')][_0x52dd('0x21')]);}_0x2f6ecd['order']=qs[_0x52dd('0x3c')](_0x7acd95[_0x52dd('0x34')][_0x52dd('0x3c')]);_0x2f6ecd[_0x52dd('0x3d')]=qs[_0x52dd('0x36')](_[_0x52dd('0x3e')](_0x7acd95[_0x52dd('0x34')],_0x32270a[_0x52dd('0x36')]),_0x2061c7);if(_0x7acd95[_0x52dd('0x34')][_0x52dd('0x3f')]){_0x2f6ecd['where']=_[_0x52dd('0x40')](_0x2f6ecd[_0x52dd('0x3d')],{'$or':_[_0x52dd('0x2f')](_0x2061c7,function(_0x55055b){if(_0x55055b['type']!=='VIRTUAL'){var _0x34a882={};_0x34a882[_0x55055b['name']]={'$like':'%'+_0x7acd95[_0x52dd('0x34')]['filter']+'%'};return _0x34a882;}})});}_0x2f6ecd=_[_0x52dd('0x40')]({},_0x2f6ecd,_0x7acd95[_0x52dd('0x41')]);var _0x494f0e={'where':_0x2f6ecd['where']};return db[_0x52dd('0x30')][_0x52dd('0x20')](_0x494f0e)['then'](function(_0xd97b38){_0xd077ab[_0x52dd('0x20')]=_0xd97b38;if(_0x7acd95['query']['includeAll']){_0x2f6ecd[_0x52dd('0x42')]=[{'all':!![]}];}return db[_0x52dd('0x30')][_0x52dd('0x43')](_0x2f6ecd);})[_0x52dd('0x29')](function(_0x4b34a9){_0xd077ab[_0x52dd('0x44')]=_0x4b34a9;return _0xd077ab;})[_0x52dd('0x29')](respondWithFilteredResult(_0x50cbcc,_0x2f6ecd))[_0x52dd('0x45')](handleError(_0x50cbcc,null));};exports[_0x52dd('0x46')]=function(_0x270c63,_0x5e16b4){var _0x2bd723={'raw':![],'where':{'id':_0x270c63[_0x52dd('0x47')]['id']}},_0xa5b572={};_0xa5b572['model']=_['keys'](db[_0x52dd('0x30')][_0x52dd('0x48')]);_0xa5b572[_0x52dd('0x34')]=_['keys'](_0x270c63['query']);_0xa5b572[_0x52dd('0x36')]=_[_0x52dd('0x38')](_0xa5b572[_0x52dd('0x33')],_0xa5b572[_0x52dd('0x34')]);_0x2bd723[_0x52dd('0x37')]=_['intersection'](_0xa5b572[_0x52dd('0x33')],qs[_0x52dd('0x39')](_0x270c63[_0x52dd('0x34')]['fields']));_0x2bd723[_0x52dd('0x37')]=_0x2bd723[_0x52dd('0x37')]['length']?_0x2bd723[_0x52dd('0x37')]:_0xa5b572[_0x52dd('0x33')];if(_0x270c63['query']['includeAll']){_0x2bd723['include']=[{'all':!![]}];}_0x2bd723=_['merge']({},_0x2bd723,_0x270c63[_0x52dd('0x41')]);return db[_0x52dd('0x30')][_0x52dd('0x49')](_0x2bd723)[_0x52dd('0x29')](handleEntityNotFound(_0x5e16b4,null))[_0x52dd('0x29')](respondWithResult(_0x5e16b4,null))['catch'](handleError(_0x5e16b4,null));};exports[_0x52dd('0x4a')]=function(_0xa8171f,_0x569e02){return db[_0x52dd('0x30')][_0x52dd('0x4a')](_0xa8171f[_0x52dd('0x4b')],{})[_0x52dd('0x29')](respondWithResult(_0x569e02,0xc9))[_0x52dd('0x45')](handleError(_0x569e02,null));};exports[_0x52dd('0x28')]=function(_0x915f6,_0x15423f){if(_0x915f6[_0x52dd('0x4b')]['id']){delete _0x915f6['body']['id'];}return db[_0x52dd('0x30')][_0x52dd('0x49')]({'where':{'id':_0x915f6[_0x52dd('0x47')]['id']}})['then'](handleEntityNotFound(_0x15423f,null))[_0x52dd('0x29')](saveUpdates(_0x915f6[_0x52dd('0x4b')],null))[_0x52dd('0x29')](respondWithResult(_0x15423f,null))[_0x52dd('0x45')](handleError(_0x15423f,null));};exports[_0x52dd('0x2a')]=function(_0xefac9b,_0x2030f8){return db[_0x52dd('0x30')][_0x52dd('0x49')]({'where':{'id':_0xefac9b[_0x52dd('0x47')]['id']}})['then'](handleEntityNotFound(_0x2030f8,null))[_0x52dd('0x29')](removeEntity(_0x2030f8,null))[_0x52dd('0x45')](handleError(_0x2030f8,null));};exports[_0x52dd('0x4c')]=function(_0x5a8d22,_0x146dd4,_0x24cd94){var _0x1ddd96={};var _0x1f1339={};var _0x3a8c15;var _0x2a5968;return db['ServicenowConfiguration'][_0x52dd('0x4d')]({'where':{'id':_0x5a8d22[_0x52dd('0x47')]['id']}})[_0x52dd('0x29')](handleEntityNotFound(_0x146dd4,null))[_0x52dd('0x29')](function(_0x5b98af){if(_0x5b98af){_0x3a8c15=_0x5b98af;_0x1f1339[_0x52dd('0x33')]=_['keys'](db[_0x52dd('0x4e')]['rawAttributes']);_0x1f1339[_0x52dd('0x34')]=_[_0x52dd('0x35')](_0x5a8d22[_0x52dd('0x34')]);_0x1f1339['filters']=_[_0x52dd('0x38')](_0x1f1339[_0x52dd('0x33')],_0x1f1339[_0x52dd('0x34')]);_0x1ddd96['attributes']=_[_0x52dd('0x38')](_0x1f1339[_0x52dd('0x33')],qs['fields'](_0x5a8d22['query']['fields']));_0x1ddd96[_0x52dd('0x37')]=_0x1ddd96['attributes']['length']?_0x1ddd96[_0x52dd('0x37')]:_0x1f1339['model'];_0x1ddd96['order']=qs[_0x52dd('0x3c')](_0x5a8d22[_0x52dd('0x34')][_0x52dd('0x3c')]);_0x1ddd96[_0x52dd('0x3d')]=qs[_0x52dd('0x36')](_[_0x52dd('0x3e')](_0x5a8d22[_0x52dd('0x34')],_0x1f1339[_0x52dd('0x36')]));if(_0x5a8d22[_0x52dd('0x34')]['filter']){_0x1ddd96[_0x52dd('0x3d')]=_[_0x52dd('0x40')](_0x1ddd96[_0x52dd('0x3d')],{'$or':_[_0x52dd('0x2f')](_0x1ddd96['attributes'],function(_0x16d178){var _0x506ec4={};_0x506ec4[_0x16d178]={'$like':'%'+_0x5a8d22[_0x52dd('0x34')][_0x52dd('0x3f')]+'%'};return _0x506ec4;})});}_0x1ddd96=_['merge']({},_0x1ddd96,_0x5a8d22[_0x52dd('0x41')]);return _0x3a8c15[_0x52dd('0x4c')](_0x1ddd96);}})[_0x52dd('0x29')](function(_0x11666e){if(_0x11666e){_0x2a5968=_0x11666e[_0x52dd('0x3a')];if(!_0x5a8d22[_0x52dd('0x34')][_0x52dd('0x3b')](_0x52dd('0x4f'))){_0x1ddd96['limit']=qs['limit'](_0x5a8d22[_0x52dd('0x34')][_0x52dd('0x22')]);_0x1ddd96['offset']=qs[_0x52dd('0x21')](_0x5a8d22['query']['offset']);}return _0x3a8c15[_0x52dd('0x4c')](_0x1ddd96);}})[_0x52dd('0x29')](function(_0x5c671b){if(_0x5c671b){return _0x5c671b?{'count':_0x2a5968,'rows':_0x5c671b}:null;}})[_0x52dd('0x29')](respondWithResult(_0x146dd4,null))['catch'](handleError(_0x146dd4,null));};exports[_0x52dd('0x50')]=function(_0x291c3d,_0x5648a6,_0xf1c04c){var _0x32a0cd={};var _0x5af80b={};var _0x8b3bc1;var _0x411fec;return db[_0x52dd('0x30')][_0x52dd('0x4d')]({'where':{'id':_0x291c3d[_0x52dd('0x47')]['id']}})['then'](handleEntityNotFound(_0x5648a6,null))[_0x52dd('0x29')](function(_0x42407d){if(_0x42407d){_0x8b3bc1=_0x42407d;_0x5af80b[_0x52dd('0x33')]=_['keys'](db[_0x52dd('0x4e')][_0x52dd('0x48')]);_0x5af80b[_0x52dd('0x34')]=_[_0x52dd('0x35')](_0x291c3d['query']);_0x5af80b[_0x52dd('0x36')]=_['intersection'](_0x5af80b[_0x52dd('0x33')],_0x5af80b[_0x52dd('0x34')]);_0x32a0cd[_0x52dd('0x37')]=_[_0x52dd('0x38')](_0x5af80b[_0x52dd('0x33')],qs[_0x52dd('0x39')](_0x291c3d[_0x52dd('0x34')][_0x52dd('0x39')]));_0x32a0cd[_0x52dd('0x37')]=_0x32a0cd[_0x52dd('0x37')][_0x52dd('0x3a')]?_0x32a0cd[_0x52dd('0x37')]:_0x5af80b[_0x52dd('0x33')];_0x32a0cd[_0x52dd('0x51')]=qs['sort'](_0x291c3d[_0x52dd('0x34')][_0x52dd('0x3c')]);_0x32a0cd[_0x52dd('0x3d')]=qs['filters'](_[_0x52dd('0x3e')](_0x291c3d[_0x52dd('0x34')],_0x5af80b[_0x52dd('0x36')]));if(_0x291c3d[_0x52dd('0x34')][_0x52dd('0x3f')]){_0x32a0cd['where']=_['merge'](_0x32a0cd['where'],{'$or':_[_0x52dd('0x2f')](_0x32a0cd[_0x52dd('0x37')],function(_0x344ebd){var _0x3a0756={};_0x3a0756[_0x344ebd]={'$like':'%'+_0x291c3d[_0x52dd('0x34')][_0x52dd('0x3f')]+'%'};return _0x3a0756;})});}_0x32a0cd=_[_0x52dd('0x40')]({},_0x32a0cd,_0x291c3d[_0x52dd('0x41')]);return _0x8b3bc1['getSubjects'](_0x32a0cd);}})[_0x52dd('0x29')](function(_0x2de7c1){if(_0x2de7c1){_0x411fec=_0x2de7c1[_0x52dd('0x3a')];if(!_0x291c3d['query'][_0x52dd('0x3b')](_0x52dd('0x4f'))){_0x32a0cd[_0x52dd('0x22')]=qs[_0x52dd('0x22')](_0x291c3d[_0x52dd('0x34')][_0x52dd('0x22')]);_0x32a0cd[_0x52dd('0x21')]=qs[_0x52dd('0x21')](_0x291c3d[_0x52dd('0x34')][_0x52dd('0x21')]);}return _0x8b3bc1[_0x52dd('0x50')](_0x32a0cd);}})[_0x52dd('0x29')](function(_0x31a56b){if(_0x31a56b){return _0x31a56b?{'count':_0x411fec,'rows':_0x31a56b}:null;}})[_0x52dd('0x29')](respondWithResult(_0x5648a6,null))[_0x52dd('0x45')](handleError(_0x5648a6,null));};exports['getDescriptions']=function(_0x1fdb53,_0x50fd2f,_0x526ab3){var _0x3b3c13={};var _0x28e3f2={};var _0x4205a6;var _0x38a285;return db[_0x52dd('0x30')][_0x52dd('0x4d')]({'where':{'id':_0x1fdb53[_0x52dd('0x47')]['id']}})[_0x52dd('0x29')](handleEntityNotFound(_0x50fd2f,null))[_0x52dd('0x29')](function(_0x2461a6){if(_0x2461a6){_0x4205a6=_0x2461a6;_0x28e3f2[_0x52dd('0x33')]=_['keys'](db[_0x52dd('0x4e')][_0x52dd('0x48')]);_0x28e3f2[_0x52dd('0x34')]=_[_0x52dd('0x35')](_0x1fdb53['query']);_0x28e3f2[_0x52dd('0x36')]=_[_0x52dd('0x38')](_0x28e3f2[_0x52dd('0x33')],_0x28e3f2[_0x52dd('0x34')]);_0x3b3c13[_0x52dd('0x37')]=_['intersection'](_0x28e3f2['model'],qs[_0x52dd('0x39')](_0x1fdb53[_0x52dd('0x34')][_0x52dd('0x39')]));_0x3b3c13[_0x52dd('0x37')]=_0x3b3c13[_0x52dd('0x37')][_0x52dd('0x3a')]?_0x3b3c13[_0x52dd('0x37')]:_0x28e3f2['model'];_0x3b3c13['order']=qs[_0x52dd('0x3c')](_0x1fdb53[_0x52dd('0x34')][_0x52dd('0x3c')]);_0x3b3c13[_0x52dd('0x3d')]=qs[_0x52dd('0x36')](_[_0x52dd('0x3e')](_0x1fdb53[_0x52dd('0x34')],_0x28e3f2[_0x52dd('0x36')]));if(_0x1fdb53[_0x52dd('0x34')][_0x52dd('0x3f')]){_0x3b3c13[_0x52dd('0x3d')]=_[_0x52dd('0x40')](_0x3b3c13[_0x52dd('0x3d')],{'$or':_['map'](_0x3b3c13[_0x52dd('0x37')],function(_0x31db99){var _0x5a4c94={};_0x5a4c94[_0x31db99]={'$like':'%'+_0x1fdb53[_0x52dd('0x34')][_0x52dd('0x3f')]+'%'};return _0x5a4c94;})});}_0x3b3c13=_[_0x52dd('0x40')]({},_0x3b3c13,_0x1fdb53['options']);return _0x4205a6[_0x52dd('0x52')](_0x3b3c13);}})[_0x52dd('0x29')](function(_0x5ac76b){if(_0x5ac76b){_0x38a285=_0x5ac76b[_0x52dd('0x3a')];if(!_0x1fdb53['query'][_0x52dd('0x3b')](_0x52dd('0x4f'))){_0x3b3c13[_0x52dd('0x22')]=qs['limit'](_0x1fdb53[_0x52dd('0x34')]['limit']);_0x3b3c13[_0x52dd('0x21')]=qs['offset'](_0x1fdb53[_0x52dd('0x34')][_0x52dd('0x21')]);}return _0x4205a6[_0x52dd('0x52')](_0x3b3c13);}})[_0x52dd('0x29')](function(_0x428984){if(_0x428984){return _0x428984?{'count':_0x38a285,'rows':_0x428984}:null;}})['then'](respondWithResult(_0x50fd2f,null))[_0x52dd('0x45')](handleError(_0x50fd2f,null));};