f32ed1af95d09fc0d843d866f683df482f3bd2bd
[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 _0x1be4=['getDescriptions','findOne','eml-format','zip-dir','fast-json-patch','request-promise','bluebird','mustache','util','path','ejs','fs-extra','lodash','squel','jsforce','desk.js','to-csv','querystring','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','sendStatus','status','end','offset','limit','undefined','count','set','Content-Range','json','save','then','destroy','error','stack','name','index','map','ServicenowConfiguration','rawAttributes','type','key','model','query','intersection','attributes','fields','length','hasOwnProperty','order','sort','where','filters','filter','merge','options','includeAll','include','findAll','rows','catch','show','keys','find','create','body','update','params','getFields','ServicenowField','pick','nolimit','getSubjects'];(function(_0x5411cb,_0x1cd69d){var _0x32727a=function(_0x22a762){while(--_0x22a762){_0x5411cb['push'](_0x5411cb['shift']());}};_0x32727a(++_0x1cd69d);}(_0x1be4,0x1dc));var _0x41be=function(_0x29a5f4,_0x19fa25){_0x29a5f4=_0x29a5f4-0x0;var _0x307190=_0x1be4[_0x29a5f4];return _0x307190;};'use strict';var emlformat=require(_0x41be('0x0'));var rimraf=require('rimraf');var zipdir=require(_0x41be('0x1'));var jsonpatch=require(_0x41be('0x2'));var rp=require(_0x41be('0x3'));var moment=require('moment');var BPromise=require(_0x41be('0x4'));var Mustache=require(_0x41be('0x5'));var util=require(_0x41be('0x6'));var path=require(_0x41be('0x7'));var sox=require('sox');var csv=require('to-csv');var ejs=require(_0x41be('0x8'));var fs=require('fs');var fs_extra=require(_0x41be('0x9'));var _=require(_0x41be('0xa'));var squel=require(_0x41be('0xb'));var crypto=require('crypto');var jsforce=require(_0x41be('0xc'));var deskjs=require(_0x41be('0xd'));var toCsv=require(_0x41be('0xe'));var querystring=require(_0x41be('0xf'));var Papa=require('papaparse');var Redis=require(_0x41be('0x10'));var authService=require(_0x41be('0x11'));var qs=require(_0x41be('0x12'));var as=require(_0x41be('0x13'));var hardwareService=require(_0x41be('0x14'));var logger=require(_0x41be('0x15'))(_0x41be('0x16'));var utils=require(_0x41be('0x17'));var config=require('../../config/environment');var licenseUtil=require('../../config/license/util');var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x57e170,_0x523e03){_0x523e03=_0x523e03||0xcc;return function(_0xe0c238){if(_0xe0c238){return _0x57e170[_0x41be('0x18')](_0x523e03);}return _0x57e170[_0x41be('0x19')](_0x523e03)[_0x41be('0x1a')]();};}function respondWithResult(_0x1fc7ec,_0x2cadd4){_0x2cadd4=_0x2cadd4||0xc8;return function(_0x294d33){if(_0x294d33){return _0x1fc7ec[_0x41be('0x19')](_0x2cadd4)['json'](_0x294d33);}};}function respondWithFilteredResult(_0x3b2560,_0x1d8c49){return function(_0x3e0f4a){if(_0x3e0f4a){var _0x29a4fd=typeof _0x1d8c49[_0x41be('0x1b')]==='undefined'&&typeof _0x1d8c49[_0x41be('0x1c')]===_0x41be('0x1d');var _0x1f67b7=_0x3e0f4a[_0x41be('0x1e')];var _0x590283=_0x29a4fd?0x0:_0x1d8c49[_0x41be('0x1b')];var _0x5e3d7b=_0x29a4fd?_0x3e0f4a[_0x41be('0x1e')]:_0x1d8c49[_0x41be('0x1b')]+_0x1d8c49[_0x41be('0x1c')];var _0x513377;if(_0x5e3d7b>=_0x1f67b7){_0x5e3d7b=_0x1f67b7;_0x513377=0xc8;}else{_0x513377=0xce;}_0x3b2560[_0x41be('0x19')](_0x513377);return _0x3b2560[_0x41be('0x1f')](_0x41be('0x20'),_0x590283+'-'+_0x5e3d7b+'/'+_0x1f67b7)[_0x41be('0x21')](_0x3e0f4a);}return null;};}function patchUpdates(_0x60513b){return function(_0x5273b1){try{jsonpatch['apply'](_0x5273b1,_0x60513b,!![]);}catch(_0x272890){return BPromise['reject'](_0x272890);}return _0x5273b1[_0x41be('0x22')]();};}function saveUpdates(_0x11d69e,_0x5bd08d){return function(_0x12cdbb){if(_0x12cdbb){return _0x12cdbb['update'](_0x11d69e)[_0x41be('0x23')](function(_0x370aff){return _0x370aff;});}return null;};}function removeEntity(_0x55cd44,_0x13defa){return function(_0x2e8320){if(_0x2e8320){return _0x2e8320[_0x41be('0x24')]()[_0x41be('0x23')](function(){_0x55cd44[_0x41be('0x19')](0xcc)[_0x41be('0x1a')]();});}};}function handleEntityNotFound(_0x3cbde5,_0x178b7e){return function(_0x4cfa2c){if(!_0x4cfa2c){_0x3cbde5[_0x41be('0x18')](0x194);}return _0x4cfa2c;};}function handleError(_0x21b032,_0x5491d2){_0x5491d2=_0x5491d2||0x1f4;return function(_0x2fa82a){logger[_0x41be('0x25')](_0x2fa82a[_0x41be('0x26')]);if(_0x2fa82a['name']){delete _0x2fa82a[_0x41be('0x27')];}_0x21b032[_0x41be('0x19')](_0x5491d2)['send'](_0x2fa82a);};}exports[_0x41be('0x28')]=function(_0x8d7b5c,_0x2e02a3){var _0x5db866={},_0x5c33e3={},_0x7981f7={'count':0x0,'rows':[]};var _0x37a5b6=_[_0x41be('0x29')](db[_0x41be('0x2a')][_0x41be('0x2b')],function(_0x3ee54d){return{'name':_0x3ee54d['fieldName'],'type':_0x3ee54d[_0x41be('0x2c')][_0x41be('0x2d')]};});_0x5c33e3[_0x41be('0x2e')]=_['map'](_0x37a5b6,_0x41be('0x27'));_0x5c33e3[_0x41be('0x2f')]=_['keys'](_0x8d7b5c['query']);_0x5c33e3['filters']=_[_0x41be('0x30')](_0x5c33e3[_0x41be('0x2e')],_0x5c33e3[_0x41be('0x2f')]);_0x5db866[_0x41be('0x31')]=_[_0x41be('0x30')](_0x5c33e3[_0x41be('0x2e')],qs[_0x41be('0x32')](_0x8d7b5c[_0x41be('0x2f')][_0x41be('0x32')]));_0x5db866[_0x41be('0x31')]=_0x5db866[_0x41be('0x31')][_0x41be('0x33')]?_0x5db866[_0x41be('0x31')]:_0x5c33e3['model'];if(!_0x8d7b5c[_0x41be('0x2f')][_0x41be('0x34')]('nolimit')){_0x5db866['limit']=qs[_0x41be('0x1c')](_0x8d7b5c[_0x41be('0x2f')]['limit']);_0x5db866[_0x41be('0x1b')]=qs[_0x41be('0x1b')](_0x8d7b5c[_0x41be('0x2f')]['offset']);}_0x5db866[_0x41be('0x35')]=qs['sort'](_0x8d7b5c[_0x41be('0x2f')][_0x41be('0x36')]);_0x5db866[_0x41be('0x37')]=qs['filters'](_['pick'](_0x8d7b5c[_0x41be('0x2f')],_0x5c33e3[_0x41be('0x38')]),_0x37a5b6);if(_0x8d7b5c['query'][_0x41be('0x39')]){_0x5db866['where']=_[_0x41be('0x3a')](_0x5db866[_0x41be('0x37')],{'$or':_[_0x41be('0x29')](_0x37a5b6,function(_0x327df6){if(_0x327df6[_0x41be('0x2c')]!=='VIRTUAL'){var _0x1e4bbe={};_0x1e4bbe[_0x327df6[_0x41be('0x27')]]={'$like':'%'+_0x8d7b5c['query']['filter']+'%'};return _0x1e4bbe;}})});}_0x5db866=_[_0x41be('0x3a')]({},_0x5db866,_0x8d7b5c[_0x41be('0x3b')]);var _0xedfac7={'where':_0x5db866['where']};return db['ServicenowConfiguration']['count'](_0xedfac7)[_0x41be('0x23')](function(_0x3d595d){_0x7981f7[_0x41be('0x1e')]=_0x3d595d;if(_0x8d7b5c[_0x41be('0x2f')][_0x41be('0x3c')]){_0x5db866[_0x41be('0x3d')]=[{'all':!![]}];}return db[_0x41be('0x2a')][_0x41be('0x3e')](_0x5db866);})[_0x41be('0x23')](function(_0x13469f){_0x7981f7[_0x41be('0x3f')]=_0x13469f;return _0x7981f7;})['then'](respondWithFilteredResult(_0x2e02a3,_0x5db866))[_0x41be('0x40')](handleError(_0x2e02a3,null));};exports[_0x41be('0x41')]=function(_0x89012e,_0xcc3ac4){var _0xab78c9={'raw':![],'where':{'id':_0x89012e['params']['id']}},_0x5a8667={};_0x5a8667[_0x41be('0x2e')]=_[_0x41be('0x42')](db['ServicenowConfiguration']['rawAttributes']);_0x5a8667[_0x41be('0x2f')]=_[_0x41be('0x42')](_0x89012e[_0x41be('0x2f')]);_0x5a8667[_0x41be('0x38')]=_[_0x41be('0x30')](_0x5a8667[_0x41be('0x2e')],_0x5a8667[_0x41be('0x2f')]);_0xab78c9[_0x41be('0x31')]=_[_0x41be('0x30')](_0x5a8667[_0x41be('0x2e')],qs[_0x41be('0x32')](_0x89012e[_0x41be('0x2f')][_0x41be('0x32')]));_0xab78c9[_0x41be('0x31')]=_0xab78c9[_0x41be('0x31')]['length']?_0xab78c9[_0x41be('0x31')]:_0x5a8667[_0x41be('0x2e')];if(_0x89012e['query'][_0x41be('0x3c')]){_0xab78c9['include']=[{'all':!![]}];}_0xab78c9=_[_0x41be('0x3a')]({},_0xab78c9,_0x89012e['options']);return db[_0x41be('0x2a')][_0x41be('0x43')](_0xab78c9)[_0x41be('0x23')](handleEntityNotFound(_0xcc3ac4,null))[_0x41be('0x23')](respondWithResult(_0xcc3ac4,null))['catch'](handleError(_0xcc3ac4,null));};exports[_0x41be('0x44')]=function(_0xb2b13,_0x2e6404){return db[_0x41be('0x2a')][_0x41be('0x44')](_0xb2b13[_0x41be('0x45')],{})['then'](respondWithResult(_0x2e6404,0xc9))[_0x41be('0x40')](handleError(_0x2e6404,null));};exports[_0x41be('0x46')]=function(_0x313231,_0x3623e7){if(_0x313231[_0x41be('0x45')]['id']){delete _0x313231[_0x41be('0x45')]['id'];}return db['ServicenowConfiguration'][_0x41be('0x43')]({'where':{'id':_0x313231[_0x41be('0x47')]['id']}})[_0x41be('0x23')](handleEntityNotFound(_0x3623e7,null))[_0x41be('0x23')](saveUpdates(_0x313231[_0x41be('0x45')],null))['then'](respondWithResult(_0x3623e7,null))[_0x41be('0x40')](handleError(_0x3623e7,null));};exports[_0x41be('0x24')]=function(_0x4eafdc,_0x1801dc){return db[_0x41be('0x2a')][_0x41be('0x43')]({'where':{'id':_0x4eafdc[_0x41be('0x47')]['id']}})[_0x41be('0x23')](handleEntityNotFound(_0x1801dc,null))[_0x41be('0x23')](removeEntity(_0x1801dc,null))[_0x41be('0x40')](handleError(_0x1801dc,null));};exports[_0x41be('0x48')]=function(_0x2be470,_0x1cc92f,_0x2051d8){var _0x37f51d={};var _0x491e95={};var _0x39d35c;var _0x4e3b73;return db[_0x41be('0x2a')]['findOne']({'where':{'id':_0x2be470[_0x41be('0x47')]['id']}})[_0x41be('0x23')](handleEntityNotFound(_0x1cc92f,null))[_0x41be('0x23')](function(_0x4df397){if(_0x4df397){_0x39d35c=_0x4df397;_0x491e95[_0x41be('0x2e')]=_[_0x41be('0x42')](db[_0x41be('0x49')][_0x41be('0x2b')]);_0x491e95['query']=_[_0x41be('0x42')](_0x2be470['query']);_0x491e95[_0x41be('0x38')]=_['intersection'](_0x491e95[_0x41be('0x2e')],_0x491e95[_0x41be('0x2f')]);_0x37f51d[_0x41be('0x31')]=_[_0x41be('0x30')](_0x491e95['model'],qs[_0x41be('0x32')](_0x2be470[_0x41be('0x2f')]['fields']));_0x37f51d[_0x41be('0x31')]=_0x37f51d[_0x41be('0x31')][_0x41be('0x33')]?_0x37f51d[_0x41be('0x31')]:_0x491e95['model'];_0x37f51d[_0x41be('0x35')]=qs[_0x41be('0x36')](_0x2be470[_0x41be('0x2f')][_0x41be('0x36')]);_0x37f51d[_0x41be('0x37')]=qs[_0x41be('0x38')](_[_0x41be('0x4a')](_0x2be470[_0x41be('0x2f')],_0x491e95[_0x41be('0x38')]));if(_0x2be470['query'][_0x41be('0x39')]){_0x37f51d[_0x41be('0x37')]=_['merge'](_0x37f51d[_0x41be('0x37')],{'$or':_[_0x41be('0x29')](_0x37f51d[_0x41be('0x31')],function(_0x426e6){var _0x2bbbe1={};_0x2bbbe1[_0x426e6]={'$like':'%'+_0x2be470[_0x41be('0x2f')][_0x41be('0x39')]+'%'};return _0x2bbbe1;})});}_0x37f51d=_[_0x41be('0x3a')]({},_0x37f51d,_0x2be470[_0x41be('0x3b')]);return _0x39d35c[_0x41be('0x48')](_0x37f51d);}})['then'](function(_0x3c5112){if(_0x3c5112){_0x4e3b73=_0x3c5112[_0x41be('0x33')];if(!_0x2be470[_0x41be('0x2f')][_0x41be('0x34')](_0x41be('0x4b'))){_0x37f51d[_0x41be('0x1c')]=qs[_0x41be('0x1c')](_0x2be470['query']['limit']);_0x37f51d['offset']=qs[_0x41be('0x1b')](_0x2be470['query'][_0x41be('0x1b')]);}return _0x39d35c[_0x41be('0x48')](_0x37f51d);}})[_0x41be('0x23')](function(_0x40df5b){if(_0x40df5b){return _0x40df5b?{'count':_0x4e3b73,'rows':_0x40df5b}:null;}})[_0x41be('0x23')](respondWithResult(_0x1cc92f,null))[_0x41be('0x40')](handleError(_0x1cc92f,null));};exports[_0x41be('0x4c')]=function(_0x45eb69,_0x194b6d,_0x17c7e6){var _0xad6dde={};var _0x1f0a26={};var _0x45a9f6;var _0xf7c1d6;return db[_0x41be('0x2a')]['findOne']({'where':{'id':_0x45eb69[_0x41be('0x47')]['id']}})['then'](handleEntityNotFound(_0x194b6d,null))[_0x41be('0x23')](function(_0xc472dd){if(_0xc472dd){_0x45a9f6=_0xc472dd;_0x1f0a26['model']=_[_0x41be('0x42')](db[_0x41be('0x49')][_0x41be('0x2b')]);_0x1f0a26['query']=_[_0x41be('0x42')](_0x45eb69[_0x41be('0x2f')]);_0x1f0a26['filters']=_['intersection'](_0x1f0a26[_0x41be('0x2e')],_0x1f0a26[_0x41be('0x2f')]);_0xad6dde[_0x41be('0x31')]=_[_0x41be('0x30')](_0x1f0a26[_0x41be('0x2e')],qs[_0x41be('0x32')](_0x45eb69[_0x41be('0x2f')][_0x41be('0x32')]));_0xad6dde[_0x41be('0x31')]=_0xad6dde[_0x41be('0x31')][_0x41be('0x33')]?_0xad6dde[_0x41be('0x31')]:_0x1f0a26['model'];_0xad6dde[_0x41be('0x35')]=qs[_0x41be('0x36')](_0x45eb69[_0x41be('0x2f')]['sort']);_0xad6dde[_0x41be('0x37')]=qs['filters'](_[_0x41be('0x4a')](_0x45eb69['query'],_0x1f0a26['filters']));if(_0x45eb69[_0x41be('0x2f')]['filter']){_0xad6dde[_0x41be('0x37')]=_[_0x41be('0x3a')](_0xad6dde[_0x41be('0x37')],{'$or':_[_0x41be('0x29')](_0xad6dde[_0x41be('0x31')],function(_0x53052c){var _0x5cd181={};_0x5cd181[_0x53052c]={'$like':'%'+_0x45eb69['query'][_0x41be('0x39')]+'%'};return _0x5cd181;})});}_0xad6dde=_[_0x41be('0x3a')]({},_0xad6dde,_0x45eb69['options']);return _0x45a9f6[_0x41be('0x4c')](_0xad6dde);}})[_0x41be('0x23')](function(_0x526ef2){if(_0x526ef2){_0xf7c1d6=_0x526ef2[_0x41be('0x33')];if(!_0x45eb69[_0x41be('0x2f')][_0x41be('0x34')](_0x41be('0x4b'))){_0xad6dde[_0x41be('0x1c')]=qs['limit'](_0x45eb69[_0x41be('0x2f')][_0x41be('0x1c')]);_0xad6dde[_0x41be('0x1b')]=qs[_0x41be('0x1b')](_0x45eb69[_0x41be('0x2f')][_0x41be('0x1b')]);}return _0x45a9f6['getSubjects'](_0xad6dde);}})[_0x41be('0x23')](function(_0x481dfd){if(_0x481dfd){return _0x481dfd?{'count':_0xf7c1d6,'rows':_0x481dfd}:null;}})[_0x41be('0x23')](respondWithResult(_0x194b6d,null))[_0x41be('0x40')](handleError(_0x194b6d,null));};exports[_0x41be('0x4d')]=function(_0x2da7fe,_0x5acc87,_0x487844){var _0x2696fb={};var _0x1a0b3a={};var _0x23fded;var _0x37338d;return db[_0x41be('0x2a')][_0x41be('0x4e')]({'where':{'id':_0x2da7fe[_0x41be('0x47')]['id']}})['then'](handleEntityNotFound(_0x5acc87,null))[_0x41be('0x23')](function(_0x24dd6e){if(_0x24dd6e){_0x23fded=_0x24dd6e;_0x1a0b3a['model']=_[_0x41be('0x42')](db[_0x41be('0x49')][_0x41be('0x2b')]);_0x1a0b3a[_0x41be('0x2f')]=_[_0x41be('0x42')](_0x2da7fe['query']);_0x1a0b3a['filters']=_[_0x41be('0x30')](_0x1a0b3a['model'],_0x1a0b3a[_0x41be('0x2f')]);_0x2696fb[_0x41be('0x31')]=_[_0x41be('0x30')](_0x1a0b3a['model'],qs[_0x41be('0x32')](_0x2da7fe[_0x41be('0x2f')][_0x41be('0x32')]));_0x2696fb[_0x41be('0x31')]=_0x2696fb[_0x41be('0x31')]['length']?_0x2696fb['attributes']:_0x1a0b3a[_0x41be('0x2e')];_0x2696fb['order']=qs[_0x41be('0x36')](_0x2da7fe[_0x41be('0x2f')]['sort']);_0x2696fb[_0x41be('0x37')]=qs[_0x41be('0x38')](_[_0x41be('0x4a')](_0x2da7fe[_0x41be('0x2f')],_0x1a0b3a[_0x41be('0x38')]));if(_0x2da7fe[_0x41be('0x2f')]['filter']){_0x2696fb[_0x41be('0x37')]=_[_0x41be('0x3a')](_0x2696fb[_0x41be('0x37')],{'$or':_[_0x41be('0x29')](_0x2696fb['attributes'],function(_0x278efc){var _0x48787a={};_0x48787a[_0x278efc]={'$like':'%'+_0x2da7fe[_0x41be('0x2f')][_0x41be('0x39')]+'%'};return _0x48787a;})});}_0x2696fb=_[_0x41be('0x3a')]({},_0x2696fb,_0x2da7fe[_0x41be('0x3b')]);return _0x23fded[_0x41be('0x4d')](_0x2696fb);}})[_0x41be('0x23')](function(_0x289d38){if(_0x289d38){_0x37338d=_0x289d38[_0x41be('0x33')];if(!_0x2da7fe[_0x41be('0x2f')][_0x41be('0x34')]('nolimit')){_0x2696fb[_0x41be('0x1c')]=qs[_0x41be('0x1c')](_0x2da7fe[_0x41be('0x2f')][_0x41be('0x1c')]);_0x2696fb['offset']=qs['offset'](_0x2da7fe[_0x41be('0x2f')][_0x41be('0x1b')]);}return _0x23fded['getDescriptions'](_0x2696fb);}})[_0x41be('0x23')](function(_0x116d43){if(_0x116d43){return _0x116d43?{'count':_0x37338d,'rows':_0x116d43}:null;}})[_0x41be('0x23')](respondWithResult(_0x5acc87,null))[_0x41be('0x40')](handleError(_0x5acc87,null));};