4e3bdbfb33dc2ae0df55124c7e6306d5fdaee038
[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 _0x64d6=['Content-Range','json','save','then','destroy','error','stack','name','send','ServicenowConfiguration','rawAttributes','fieldName','type','key','model','map','query','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','order','sort','where','pick','filter','options','includeAll','include','findAll','catch','show','keys','merge','find','create','body','params','findOne','ServicenowField','getFields','getSubjects','getDescriptions','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','sox','to-csv','fs-extra','lodash','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','../../config/logger','api','../../config/environment','../../config/license/util','../../mysqldb','status','end','offset','undefined','limit','count','set'];(function(_0x21b7ea,_0x11ad3f){var _0x2290c9=function(_0x56ec67){while(--_0x56ec67){_0x21b7ea['push'](_0x21b7ea['shift']());}};_0x2290c9(++_0x11ad3f);}(_0x64d6,0x7f));var _0x664d=function(_0x1dbebb,_0x11508a){_0x1dbebb=_0x1dbebb-0x0;var _0x49537c=_0x64d6[_0x1dbebb];return _0x49537c;};'use strict';var emlformat=require(_0x664d('0x0'));var rimraf=require(_0x664d('0x1'));var zipdir=require(_0x664d('0x2'));var jsonpatch=require(_0x664d('0x3'));var rp=require(_0x664d('0x4'));var moment=require(_0x664d('0x5'));var BPromise=require(_0x664d('0x6'));var Mustache=require(_0x664d('0x7'));var util=require(_0x664d('0x8'));var path=require(_0x664d('0x9'));var sox=require(_0x664d('0xa'));var csv=require(_0x664d('0xb'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0x664d('0xc'));var _=require(_0x664d('0xd'));var squel=require('squel');var crypto=require(_0x664d('0xe'));var jsforce=require(_0x664d('0xf'));var deskjs=require(_0x664d('0x10'));var toCsv=require(_0x664d('0xb'));var querystring=require(_0x664d('0x11'));var Papa=require(_0x664d('0x12'));var Redis=require(_0x664d('0x13'));var authService=require(_0x664d('0x14'));var qs=require(_0x664d('0x15'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x664d('0x16'));var logger=require(_0x664d('0x17'))(_0x664d('0x18'));var utils=require('../../config/utils');var config=require(_0x664d('0x19'));var licenseUtil=require(_0x664d('0x1a'));var db=require(_0x664d('0x1b'))['db'];function respondWithStatusCode(_0x179656,_0x5d054a){_0x5d054a=_0x5d054a||0xcc;return function(_0x98b158){if(_0x98b158){return _0x179656['sendStatus'](_0x5d054a);}return _0x179656[_0x664d('0x1c')](_0x5d054a)[_0x664d('0x1d')]();};}function respondWithResult(_0xcae5ea,_0x25e559){_0x25e559=_0x25e559||0xc8;return function(_0x4b409a){if(_0x4b409a){return _0xcae5ea[_0x664d('0x1c')](_0x25e559)['json'](_0x4b409a);}};}function respondWithFilteredResult(_0x58c156,_0x1782a9){return function(_0x4b5375){if(_0x4b5375){var _0x4183b2=typeof _0x1782a9[_0x664d('0x1e')]===_0x664d('0x1f')&&typeof _0x1782a9[_0x664d('0x20')]===_0x664d('0x1f');var _0x3f5fae=_0x4b5375[_0x664d('0x21')];var _0x51d0b0=_0x4183b2?0x0:_0x1782a9[_0x664d('0x1e')];var _0x592435=_0x4183b2?_0x4b5375[_0x664d('0x21')]:_0x1782a9['offset']+_0x1782a9[_0x664d('0x20')];var _0x14ed7e;if(_0x592435>=_0x3f5fae){_0x592435=_0x3f5fae;_0x14ed7e=0xc8;}else{_0x14ed7e=0xce;}_0x58c156[_0x664d('0x1c')](_0x14ed7e);return _0x58c156[_0x664d('0x22')](_0x664d('0x23'),_0x51d0b0+'-'+_0x592435+'/'+_0x3f5fae)[_0x664d('0x24')](_0x4b5375);}return null;};}function patchUpdates(_0x1b5dd5){return function(_0x16e712){try{jsonpatch['apply'](_0x16e712,_0x1b5dd5,!![]);}catch(_0x4cb2da){return BPromise['reject'](_0x4cb2da);}return _0x16e712[_0x664d('0x25')]();};}function saveUpdates(_0x44607a,_0x3bf60f){return function(_0x34198d){if(_0x34198d){return _0x34198d['update'](_0x44607a)[_0x664d('0x26')](function(_0x179f02){return _0x179f02;});}return null;};}function removeEntity(_0x22cbce,_0x4383b2){return function(_0x4ebc5c){if(_0x4ebc5c){return _0x4ebc5c[_0x664d('0x27')]()[_0x664d('0x26')](function(){_0x22cbce[_0x664d('0x1c')](0xcc)[_0x664d('0x1d')]();});}};}function handleEntityNotFound(_0x4a89c2,_0x4bc7f4){return function(_0x1e17b2){if(!_0x1e17b2){_0x4a89c2['sendStatus'](0x194);}return _0x1e17b2;};}function handleError(_0x5073f4,_0x375b5f){_0x375b5f=_0x375b5f||0x1f4;return function(_0x53737c){logger[_0x664d('0x28')](_0x53737c[_0x664d('0x29')]);if(_0x53737c[_0x664d('0x2a')]){delete _0x53737c[_0x664d('0x2a')];}_0x5073f4['status'](_0x375b5f)[_0x664d('0x2b')](_0x53737c);};}exports['index']=function(_0x47d0ac,_0x40e559){var _0x4e4390={},_0x25811c={},_0x50e253={'count':0x0,'rows':[]};var _0x1d88cc=_['map'](db[_0x664d('0x2c')][_0x664d('0x2d')],function(_0x3ae6f0){return{'name':_0x3ae6f0[_0x664d('0x2e')],'type':_0x3ae6f0[_0x664d('0x2f')][_0x664d('0x30')]};});_0x25811c[_0x664d('0x31')]=_[_0x664d('0x32')](_0x1d88cc,_0x664d('0x2a'));_0x25811c[_0x664d('0x33')]=_['keys'](_0x47d0ac[_0x664d('0x33')]);_0x25811c[_0x664d('0x34')]=_[_0x664d('0x35')](_0x25811c[_0x664d('0x31')],_0x25811c[_0x664d('0x33')]);_0x4e4390[_0x664d('0x36')]=_[_0x664d('0x35')](_0x25811c[_0x664d('0x31')],qs[_0x664d('0x37')](_0x47d0ac['query']['fields']));_0x4e4390[_0x664d('0x36')]=_0x4e4390['attributes'][_0x664d('0x38')]?_0x4e4390[_0x664d('0x36')]:_0x25811c[_0x664d('0x31')];if(!_0x47d0ac[_0x664d('0x33')][_0x664d('0x39')](_0x664d('0x3a'))){_0x4e4390['limit']=qs['limit'](_0x47d0ac[_0x664d('0x33')][_0x664d('0x20')]);_0x4e4390['offset']=qs['offset'](_0x47d0ac[_0x664d('0x33')]['offset']);}_0x4e4390[_0x664d('0x3b')]=qs[_0x664d('0x3c')](_0x47d0ac[_0x664d('0x33')][_0x664d('0x3c')]);_0x4e4390[_0x664d('0x3d')]=qs['filters'](_[_0x664d('0x3e')](_0x47d0ac[_0x664d('0x33')],_0x25811c[_0x664d('0x34')]),_0x1d88cc);if(_0x47d0ac[_0x664d('0x33')][_0x664d('0x3f')]){_0x4e4390[_0x664d('0x3d')]=_['merge'](_0x4e4390[_0x664d('0x3d')],{'$or':_[_0x664d('0x32')](_0x1d88cc,function(_0x253cc7){if(_0x253cc7[_0x664d('0x2f')]!=='VIRTUAL'){var _0x404678={};_0x404678[_0x253cc7[_0x664d('0x2a')]]={'$like':'%'+_0x47d0ac[_0x664d('0x33')][_0x664d('0x3f')]+'%'};return _0x404678;}})});}_0x4e4390=_['merge']({},_0x4e4390,_0x47d0ac[_0x664d('0x40')]);var _0x1e31c6={'where':_0x4e4390['where']};return db[_0x664d('0x2c')][_0x664d('0x21')](_0x1e31c6)[_0x664d('0x26')](function(_0x48d5b6){_0x50e253['count']=_0x48d5b6;if(_0x47d0ac[_0x664d('0x33')][_0x664d('0x41')]){_0x4e4390[_0x664d('0x42')]=[{'all':!![]}];}return db[_0x664d('0x2c')][_0x664d('0x43')](_0x4e4390);})['then'](function(_0x4fa0b4){_0x50e253['rows']=_0x4fa0b4;return _0x50e253;})[_0x664d('0x26')](respondWithFilteredResult(_0x40e559,_0x4e4390))[_0x664d('0x44')](handleError(_0x40e559,null));};exports[_0x664d('0x45')]=function(_0xc5a445,_0x37702f){var _0x176257={'raw':![],'where':{'id':_0xc5a445['params']['id']}},_0x1a2766={};_0x1a2766[_0x664d('0x31')]=_[_0x664d('0x46')](db['ServicenowConfiguration'][_0x664d('0x2d')]);_0x1a2766[_0x664d('0x33')]=_[_0x664d('0x46')](_0xc5a445[_0x664d('0x33')]);_0x1a2766[_0x664d('0x34')]=_['intersection'](_0x1a2766[_0x664d('0x31')],_0x1a2766['query']);_0x176257['attributes']=_[_0x664d('0x35')](_0x1a2766[_0x664d('0x31')],qs['fields'](_0xc5a445[_0x664d('0x33')][_0x664d('0x37')]));_0x176257[_0x664d('0x36')]=_0x176257[_0x664d('0x36')][_0x664d('0x38')]?_0x176257[_0x664d('0x36')]:_0x1a2766[_0x664d('0x31')];if(_0xc5a445[_0x664d('0x33')]['includeAll']){_0x176257['include']=[{'all':!![]}];}_0x176257=_[_0x664d('0x47')]({},_0x176257,_0xc5a445[_0x664d('0x40')]);return db[_0x664d('0x2c')][_0x664d('0x48')](_0x176257)['then'](handleEntityNotFound(_0x37702f,null))[_0x664d('0x26')](respondWithResult(_0x37702f,null))[_0x664d('0x44')](handleError(_0x37702f,null));};exports[_0x664d('0x49')]=function(_0x2ee684,_0x26ba88){return db[_0x664d('0x2c')][_0x664d('0x49')](_0x2ee684['body'],{})[_0x664d('0x26')](respondWithResult(_0x26ba88,0xc9))[_0x664d('0x44')](handleError(_0x26ba88,null));};exports['update']=function(_0x3e13e2,_0x142c98){if(_0x3e13e2['body']['id']){delete _0x3e13e2[_0x664d('0x4a')]['id'];}return db[_0x664d('0x2c')]['find']({'where':{'id':_0x3e13e2[_0x664d('0x4b')]['id']}})[_0x664d('0x26')](handleEntityNotFound(_0x142c98,null))[_0x664d('0x26')](saveUpdates(_0x3e13e2[_0x664d('0x4a')],null))[_0x664d('0x26')](respondWithResult(_0x142c98,null))['catch'](handleError(_0x142c98,null));};exports['destroy']=function(_0x3079c4,_0x454aca){return db['ServicenowConfiguration']['find']({'where':{'id':_0x3079c4[_0x664d('0x4b')]['id']}})[_0x664d('0x26')](handleEntityNotFound(_0x454aca,null))[_0x664d('0x26')](removeEntity(_0x454aca,null))['catch'](handleError(_0x454aca,null));};exports['getFields']=function(_0x557db5,_0x283c64,_0x555695){var _0x2851c2={};var _0x106d09={};var _0x26233f;var _0x5da865;return db[_0x664d('0x2c')][_0x664d('0x4c')]({'where':{'id':_0x557db5['params']['id']}})[_0x664d('0x26')](handleEntityNotFound(_0x283c64,null))['then'](function(_0x5342b0){if(_0x5342b0){_0x26233f=_0x5342b0;_0x106d09[_0x664d('0x31')]=_[_0x664d('0x46')](db[_0x664d('0x4d')][_0x664d('0x2d')]);_0x106d09[_0x664d('0x33')]=_[_0x664d('0x46')](_0x557db5[_0x664d('0x33')]);_0x106d09['filters']=_[_0x664d('0x35')](_0x106d09[_0x664d('0x31')],_0x106d09['query']);_0x2851c2[_0x664d('0x36')]=_[_0x664d('0x35')](_0x106d09[_0x664d('0x31')],qs['fields'](_0x557db5['query'][_0x664d('0x37')]));_0x2851c2[_0x664d('0x36')]=_0x2851c2['attributes']['length']?_0x2851c2[_0x664d('0x36')]:_0x106d09['model'];_0x2851c2[_0x664d('0x3b')]=qs[_0x664d('0x3c')](_0x557db5['query']['sort']);_0x2851c2[_0x664d('0x3d')]=qs[_0x664d('0x34')](_[_0x664d('0x3e')](_0x557db5['query'],_0x106d09[_0x664d('0x34')]));if(_0x557db5[_0x664d('0x33')][_0x664d('0x3f')]){_0x2851c2[_0x664d('0x3d')]=_[_0x664d('0x47')](_0x2851c2[_0x664d('0x3d')],{'$or':_['map'](_0x2851c2[_0x664d('0x36')],function(_0x339984){var _0x547917={};_0x547917[_0x339984]={'$like':'%'+_0x557db5[_0x664d('0x33')][_0x664d('0x3f')]+'%'};return _0x547917;})});}_0x2851c2=_[_0x664d('0x47')]({},_0x2851c2,_0x557db5[_0x664d('0x40')]);return _0x26233f[_0x664d('0x4e')](_0x2851c2);}})[_0x664d('0x26')](function(_0x12d89f){if(_0x12d89f){_0x5da865=_0x12d89f['length'];if(!_0x557db5[_0x664d('0x33')][_0x664d('0x39')]('nolimit')){_0x2851c2[_0x664d('0x20')]=qs[_0x664d('0x20')](_0x557db5[_0x664d('0x33')]['limit']);_0x2851c2['offset']=qs[_0x664d('0x1e')](_0x557db5[_0x664d('0x33')][_0x664d('0x1e')]);}return _0x26233f[_0x664d('0x4e')](_0x2851c2);}})[_0x664d('0x26')](function(_0x5a1bab){if(_0x5a1bab){return _0x5a1bab?{'count':_0x5da865,'rows':_0x5a1bab}:null;}})[_0x664d('0x26')](respondWithResult(_0x283c64,null))[_0x664d('0x44')](handleError(_0x283c64,null));};exports[_0x664d('0x4f')]=function(_0x1677a0,_0x2b84c1,_0x11a971){var _0x467938={};var _0x10f14d={};var _0x1602a6;var _0x17d30a;return db[_0x664d('0x2c')]['findOne']({'where':{'id':_0x1677a0['params']['id']}})[_0x664d('0x26')](handleEntityNotFound(_0x2b84c1,null))[_0x664d('0x26')](function(_0xb06f02){if(_0xb06f02){_0x1602a6=_0xb06f02;_0x10f14d[_0x664d('0x31')]=_[_0x664d('0x46')](db[_0x664d('0x4d')][_0x664d('0x2d')]);_0x10f14d['query']=_[_0x664d('0x46')](_0x1677a0[_0x664d('0x33')]);_0x10f14d['filters']=_['intersection'](_0x10f14d[_0x664d('0x31')],_0x10f14d['query']);_0x467938[_0x664d('0x36')]=_[_0x664d('0x35')](_0x10f14d[_0x664d('0x31')],qs[_0x664d('0x37')](_0x1677a0[_0x664d('0x33')][_0x664d('0x37')]));_0x467938['attributes']=_0x467938[_0x664d('0x36')][_0x664d('0x38')]?_0x467938[_0x664d('0x36')]:_0x10f14d[_0x664d('0x31')];_0x467938[_0x664d('0x3b')]=qs[_0x664d('0x3c')](_0x1677a0[_0x664d('0x33')]['sort']);_0x467938['where']=qs[_0x664d('0x34')](_['pick'](_0x1677a0[_0x664d('0x33')],_0x10f14d['filters']));if(_0x1677a0[_0x664d('0x33')][_0x664d('0x3f')]){_0x467938[_0x664d('0x3d')]=_[_0x664d('0x47')](_0x467938[_0x664d('0x3d')],{'$or':_['map'](_0x467938['attributes'],function(_0x2ac2c3){var _0x51336c={};_0x51336c[_0x2ac2c3]={'$like':'%'+_0x1677a0[_0x664d('0x33')][_0x664d('0x3f')]+'%'};return _0x51336c;})});}_0x467938=_[_0x664d('0x47')]({},_0x467938,_0x1677a0[_0x664d('0x40')]);return _0x1602a6[_0x664d('0x4f')](_0x467938);}})[_0x664d('0x26')](function(_0x2a4b4f){if(_0x2a4b4f){_0x17d30a=_0x2a4b4f[_0x664d('0x38')];if(!_0x1677a0[_0x664d('0x33')][_0x664d('0x39')](_0x664d('0x3a'))){_0x467938['limit']=qs[_0x664d('0x20')](_0x1677a0[_0x664d('0x33')][_0x664d('0x20')]);_0x467938[_0x664d('0x1e')]=qs[_0x664d('0x1e')](_0x1677a0[_0x664d('0x33')][_0x664d('0x1e')]);}return _0x1602a6[_0x664d('0x4f')](_0x467938);}})['then'](function(_0x1912e8){if(_0x1912e8){return _0x1912e8?{'count':_0x17d30a,'rows':_0x1912e8}:null;}})[_0x664d('0x26')](respondWithResult(_0x2b84c1,null))[_0x664d('0x44')](handleError(_0x2b84c1,null));};exports[_0x664d('0x50')]=function(_0x5f1cbc,_0x59603b,_0xe7c44f){var _0x1fff92={};var _0x44f126={};var _0xcdadb6;var _0x4a155a;return db['ServicenowConfiguration'][_0x664d('0x4c')]({'where':{'id':_0x5f1cbc[_0x664d('0x4b')]['id']}})[_0x664d('0x26')](handleEntityNotFound(_0x59603b,null))[_0x664d('0x26')](function(_0x3b234e){if(_0x3b234e){_0xcdadb6=_0x3b234e;_0x44f126[_0x664d('0x31')]=_[_0x664d('0x46')](db[_0x664d('0x4d')]['rawAttributes']);_0x44f126[_0x664d('0x33')]=_[_0x664d('0x46')](_0x5f1cbc[_0x664d('0x33')]);_0x44f126[_0x664d('0x34')]=_[_0x664d('0x35')](_0x44f126[_0x664d('0x31')],_0x44f126[_0x664d('0x33')]);_0x1fff92[_0x664d('0x36')]=_['intersection'](_0x44f126['model'],qs[_0x664d('0x37')](_0x5f1cbc['query'][_0x664d('0x37')]));_0x1fff92[_0x664d('0x36')]=_0x1fff92[_0x664d('0x36')][_0x664d('0x38')]?_0x1fff92[_0x664d('0x36')]:_0x44f126[_0x664d('0x31')];_0x1fff92[_0x664d('0x3b')]=qs[_0x664d('0x3c')](_0x5f1cbc['query']['sort']);_0x1fff92[_0x664d('0x3d')]=qs['filters'](_['pick'](_0x5f1cbc[_0x664d('0x33')],_0x44f126['filters']));if(_0x5f1cbc[_0x664d('0x33')][_0x664d('0x3f')]){_0x1fff92[_0x664d('0x3d')]=_[_0x664d('0x47')](_0x1fff92[_0x664d('0x3d')],{'$or':_[_0x664d('0x32')](_0x1fff92['attributes'],function(_0x1c1846){var _0x3a0a26={};_0x3a0a26[_0x1c1846]={'$like':'%'+_0x5f1cbc[_0x664d('0x33')][_0x664d('0x3f')]+'%'};return _0x3a0a26;})});}_0x1fff92=_['merge']({},_0x1fff92,_0x5f1cbc[_0x664d('0x40')]);return _0xcdadb6[_0x664d('0x50')](_0x1fff92);}})[_0x664d('0x26')](function(_0x49c45c){if(_0x49c45c){_0x4a155a=_0x49c45c[_0x664d('0x38')];if(!_0x5f1cbc[_0x664d('0x33')][_0x664d('0x39')](_0x664d('0x3a'))){_0x1fff92[_0x664d('0x20')]=qs['limit'](_0x5f1cbc[_0x664d('0x33')][_0x664d('0x20')]);_0x1fff92[_0x664d('0x1e')]=qs[_0x664d('0x1e')](_0x5f1cbc[_0x664d('0x33')][_0x664d('0x1e')]);}return _0xcdadb6[_0x664d('0x50')](_0x1fff92);}})[_0x664d('0x26')](function(_0x1b3207){if(_0x1b3207){return _0x1b3207?{'count':_0x4a155a,'rows':_0x1b3207}:null;}})[_0x664d('0x26')](respondWithResult(_0x59603b,null))['catch'](handleError(_0x59603b,null));};