a4cae9e978e6efece0cc2980ff200ba318610032
[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 _0xd796=['../../config/license/util','../../mysqldb','sendStatus','status','json','undefined','limit','count','offset','Content-Range','apply','reject','save','then','destroy','end','error','name','send','index','map','ServicenowConfiguration','rawAttributes','fieldName','type','key','model','query','keys','intersection','fields','attributes','nolimit','order','sort','where','filters','pick','filter','merge','VIRTUAL','options','includeAll','include','findAll','rows','length','find','catch','create','body','update','params','ServicenowField','getFields','hasOwnProperty','findOne','getSubjects','getDescriptions','rimraf','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','sox','to-csv','fs-extra','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../config/license/hardware','../../config/logger','api','../../config/environment'];(function(_0x2d126e,_0x1e8257){var _0xcb04d3=function(_0x19a2d9){while(--_0x19a2d9){_0x2d126e['push'](_0x2d126e['shift']());}};_0xcb04d3(++_0x1e8257);}(_0xd796,0x134));var _0x6d79=function(_0x129b6b,_0x4faf08){_0x129b6b=_0x129b6b-0x0;var _0x24d8df=_0xd796[_0x129b6b];return _0x24d8df;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0x6d79('0x0'));var zipdir=require('zip-dir');var jsonpatch=require(_0x6d79('0x1'));var rp=require(_0x6d79('0x2'));var moment=require(_0x6d79('0x3'));var BPromise=require(_0x6d79('0x4'));var Mustache=require(_0x6d79('0x5'));var util=require(_0x6d79('0x6'));var path=require(_0x6d79('0x7'));var sox=require(_0x6d79('0x8'));var csv=require(_0x6d79('0x9'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0x6d79('0xa'));var _=require(_0x6d79('0xb'));var squel=require(_0x6d79('0xc'));var crypto=require(_0x6d79('0xd'));var jsforce=require(_0x6d79('0xe'));var deskjs=require(_0x6d79('0xf'));var toCsv=require('to-csv');var querystring=require(_0x6d79('0x10'));var Papa=require(_0x6d79('0x11'));var Redis=require(_0x6d79('0x12'));var authService=require(_0x6d79('0x13'));var qs=require('../../components/parsers/qs');var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x6d79('0x14'));var logger=require(_0x6d79('0x15'))(_0x6d79('0x16'));var utils=require('../../config/utils');var config=require(_0x6d79('0x17'));var licenseUtil=require(_0x6d79('0x18'));var db=require(_0x6d79('0x19'))['db'];function respondWithStatusCode(_0x5cb06e,_0x2d0861){_0x2d0861=_0x2d0861||0xcc;return function(_0x427dc5){if(_0x427dc5){return _0x5cb06e[_0x6d79('0x1a')](_0x2d0861);}return _0x5cb06e[_0x6d79('0x1b')](_0x2d0861)['end']();};}function respondWithResult(_0x5126c8,_0x3ab7a8){_0x3ab7a8=_0x3ab7a8||0xc8;return function(_0x361e13){if(_0x361e13){return _0x5126c8[_0x6d79('0x1b')](_0x3ab7a8)[_0x6d79('0x1c')](_0x361e13);}};}function respondWithFilteredResult(_0xbdc473,_0x3e7349){return function(_0x317731){if(_0x317731){var _0x2ee89e=typeof _0x3e7349['offset']===_0x6d79('0x1d')&&typeof _0x3e7349[_0x6d79('0x1e')]===_0x6d79('0x1d');var _0x191fc0=_0x317731[_0x6d79('0x1f')];var _0x114d1f=_0x2ee89e?0x0:_0x3e7349[_0x6d79('0x20')];var _0x93dd2a=_0x2ee89e?_0x317731[_0x6d79('0x1f')]:_0x3e7349['offset']+_0x3e7349[_0x6d79('0x1e')];var _0x5e5945;if(_0x93dd2a>=_0x191fc0){_0x93dd2a=_0x191fc0;_0x5e5945=0xc8;}else{_0x5e5945=0xce;}_0xbdc473[_0x6d79('0x1b')](_0x5e5945);return _0xbdc473['set'](_0x6d79('0x21'),_0x114d1f+'-'+_0x93dd2a+'/'+_0x191fc0)[_0x6d79('0x1c')](_0x317731);}return null;};}function patchUpdates(_0x3f9cf9){return function(_0x2b0845){try{jsonpatch[_0x6d79('0x22')](_0x2b0845,_0x3f9cf9,!![]);}catch(_0x29c148){return BPromise[_0x6d79('0x23')](_0x29c148);}return _0x2b0845[_0x6d79('0x24')]();};}function saveUpdates(_0x164a9b,_0x541e24){return function(_0x5aebfd){if(_0x5aebfd){return _0x5aebfd['update'](_0x164a9b)[_0x6d79('0x25')](function(_0x541c2b){return _0x541c2b;});}return null;};}function removeEntity(_0x57329a,_0x121a49){return function(_0x5d3876){if(_0x5d3876){return _0x5d3876[_0x6d79('0x26')]()[_0x6d79('0x25')](function(){_0x57329a[_0x6d79('0x1b')](0xcc)[_0x6d79('0x27')]();});}};}function handleEntityNotFound(_0x183e32,_0xc64a31){return function(_0x28eb28){if(!_0x28eb28){_0x183e32['sendStatus'](0x194);}return _0x28eb28;};}function handleError(_0x329160,_0x373e15){_0x373e15=_0x373e15||0x1f4;return function(_0x43b017){logger[_0x6d79('0x28')](_0x43b017['stack']);if(_0x43b017[_0x6d79('0x29')]){delete _0x43b017[_0x6d79('0x29')];}_0x329160[_0x6d79('0x1b')](_0x373e15)[_0x6d79('0x2a')](_0x43b017);};}exports[_0x6d79('0x2b')]=function(_0x1380c5,_0x5ed8fd){var _0x34dd6a={},_0x2506a8={},_0x14e0a0={'count':0x0,'rows':[]};var _0x20abc0=_[_0x6d79('0x2c')](db[_0x6d79('0x2d')][_0x6d79('0x2e')],function(_0x54f9a0){return{'name':_0x54f9a0[_0x6d79('0x2f')],'type':_0x54f9a0[_0x6d79('0x30')][_0x6d79('0x31')]};});_0x2506a8[_0x6d79('0x32')]=_[_0x6d79('0x2c')](_0x20abc0,_0x6d79('0x29'));_0x2506a8[_0x6d79('0x33')]=_[_0x6d79('0x34')](_0x1380c5[_0x6d79('0x33')]);_0x2506a8['filters']=_['intersection'](_0x2506a8[_0x6d79('0x32')],_0x2506a8[_0x6d79('0x33')]);_0x34dd6a['attributes']=_[_0x6d79('0x35')](_0x2506a8['model'],qs[_0x6d79('0x36')](_0x1380c5[_0x6d79('0x33')]['fields']));_0x34dd6a[_0x6d79('0x37')]=_0x34dd6a[_0x6d79('0x37')]['length']?_0x34dd6a[_0x6d79('0x37')]:_0x2506a8['model'];if(!_0x1380c5[_0x6d79('0x33')]['hasOwnProperty'](_0x6d79('0x38'))){_0x34dd6a[_0x6d79('0x1e')]=qs[_0x6d79('0x1e')](_0x1380c5['query']['limit']);_0x34dd6a['offset']=qs[_0x6d79('0x20')](_0x1380c5[_0x6d79('0x33')][_0x6d79('0x20')]);}_0x34dd6a[_0x6d79('0x39')]=qs['sort'](_0x1380c5['query'][_0x6d79('0x3a')]);_0x34dd6a[_0x6d79('0x3b')]=qs[_0x6d79('0x3c')](_[_0x6d79('0x3d')](_0x1380c5[_0x6d79('0x33')],_0x2506a8[_0x6d79('0x3c')]),_0x20abc0);if(_0x1380c5[_0x6d79('0x33')][_0x6d79('0x3e')]){_0x34dd6a[_0x6d79('0x3b')]=_[_0x6d79('0x3f')](_0x34dd6a[_0x6d79('0x3b')],{'$or':_[_0x6d79('0x2c')](_0x20abc0,function(_0xf6e20e){if(_0xf6e20e[_0x6d79('0x30')]!==_0x6d79('0x40')){var _0x2c5f28={};_0x2c5f28[_0xf6e20e[_0x6d79('0x29')]]={'$like':'%'+_0x1380c5[_0x6d79('0x33')]['filter']+'%'};return _0x2c5f28;}})});}_0x34dd6a=_[_0x6d79('0x3f')]({},_0x34dd6a,_0x1380c5[_0x6d79('0x41')]);var _0x14cf6a={'where':_0x34dd6a[_0x6d79('0x3b')]};return db[_0x6d79('0x2d')]['count'](_0x14cf6a)[_0x6d79('0x25')](function(_0xcc1270){_0x14e0a0[_0x6d79('0x1f')]=_0xcc1270;if(_0x1380c5[_0x6d79('0x33')][_0x6d79('0x42')]){_0x34dd6a[_0x6d79('0x43')]=[{'all':!![]}];}return db[_0x6d79('0x2d')][_0x6d79('0x44')](_0x34dd6a);})['then'](function(_0x27c377){_0x14e0a0[_0x6d79('0x45')]=_0x27c377;return _0x14e0a0;})[_0x6d79('0x25')](respondWithFilteredResult(_0x5ed8fd,_0x34dd6a))['catch'](handleError(_0x5ed8fd,null));};exports['show']=function(_0x3fc60a,_0x4f862a){var _0x5d195f={'raw':![],'where':{'id':_0x3fc60a['params']['id']}},_0x394fe7={};_0x394fe7[_0x6d79('0x32')]=_['keys'](db[_0x6d79('0x2d')][_0x6d79('0x2e')]);_0x394fe7['query']=_['keys'](_0x3fc60a[_0x6d79('0x33')]);_0x394fe7[_0x6d79('0x3c')]=_[_0x6d79('0x35')](_0x394fe7['model'],_0x394fe7[_0x6d79('0x33')]);_0x5d195f[_0x6d79('0x37')]=_[_0x6d79('0x35')](_0x394fe7[_0x6d79('0x32')],qs['fields'](_0x3fc60a[_0x6d79('0x33')][_0x6d79('0x36')]));_0x5d195f['attributes']=_0x5d195f[_0x6d79('0x37')][_0x6d79('0x46')]?_0x5d195f[_0x6d79('0x37')]:_0x394fe7[_0x6d79('0x32')];if(_0x3fc60a['query'][_0x6d79('0x42')]){_0x5d195f[_0x6d79('0x43')]=[{'all':!![]}];}_0x5d195f=_[_0x6d79('0x3f')]({},_0x5d195f,_0x3fc60a[_0x6d79('0x41')]);return db[_0x6d79('0x2d')][_0x6d79('0x47')](_0x5d195f)[_0x6d79('0x25')](handleEntityNotFound(_0x4f862a,null))[_0x6d79('0x25')](respondWithResult(_0x4f862a,null))[_0x6d79('0x48')](handleError(_0x4f862a,null));};exports['create']=function(_0x4aa985,_0x50fb50){return db[_0x6d79('0x2d')][_0x6d79('0x49')](_0x4aa985[_0x6d79('0x4a')],{})[_0x6d79('0x25')](respondWithResult(_0x50fb50,0xc9))[_0x6d79('0x48')](handleError(_0x50fb50,null));};exports[_0x6d79('0x4b')]=function(_0x159d25,_0x4674e5){if(_0x159d25[_0x6d79('0x4a')]['id']){delete _0x159d25['body']['id'];}return db[_0x6d79('0x2d')][_0x6d79('0x47')]({'where':{'id':_0x159d25[_0x6d79('0x4c')]['id']}})[_0x6d79('0x25')](handleEntityNotFound(_0x4674e5,null))['then'](saveUpdates(_0x159d25[_0x6d79('0x4a')],null))[_0x6d79('0x25')](respondWithResult(_0x4674e5,null))[_0x6d79('0x48')](handleError(_0x4674e5,null));};exports[_0x6d79('0x26')]=function(_0x1c7bb3,_0xe3ee88){return db[_0x6d79('0x2d')][_0x6d79('0x47')]({'where':{'id':_0x1c7bb3['params']['id']}})[_0x6d79('0x25')](handleEntityNotFound(_0xe3ee88,null))[_0x6d79('0x25')](removeEntity(_0xe3ee88,null))[_0x6d79('0x48')](handleError(_0xe3ee88,null));};exports['getFields']=function(_0x51f0cd,_0x55ed1d,_0x38dbe5){var _0x3db622={};var _0x4e75e2={};var _0x2192ad;var _0x3544a3;return db[_0x6d79('0x2d')]['findOne']({'where':{'id':_0x51f0cd[_0x6d79('0x4c')]['id']}})['then'](handleEntityNotFound(_0x55ed1d,null))[_0x6d79('0x25')](function(_0x201162){if(_0x201162){_0x2192ad=_0x201162;_0x4e75e2[_0x6d79('0x32')]=_[_0x6d79('0x34')](db[_0x6d79('0x4d')]['rawAttributes']);_0x4e75e2[_0x6d79('0x33')]=_['keys'](_0x51f0cd[_0x6d79('0x33')]);_0x4e75e2[_0x6d79('0x3c')]=_['intersection'](_0x4e75e2[_0x6d79('0x32')],_0x4e75e2[_0x6d79('0x33')]);_0x3db622['attributes']=_[_0x6d79('0x35')](_0x4e75e2[_0x6d79('0x32')],qs['fields'](_0x51f0cd[_0x6d79('0x33')][_0x6d79('0x36')]));_0x3db622[_0x6d79('0x37')]=_0x3db622['attributes'][_0x6d79('0x46')]?_0x3db622[_0x6d79('0x37')]:_0x4e75e2[_0x6d79('0x32')];_0x3db622[_0x6d79('0x39')]=qs[_0x6d79('0x3a')](_0x51f0cd['query'][_0x6d79('0x3a')]);_0x3db622[_0x6d79('0x3b')]=qs[_0x6d79('0x3c')](_[_0x6d79('0x3d')](_0x51f0cd['query'],_0x4e75e2[_0x6d79('0x3c')]));if(_0x51f0cd[_0x6d79('0x33')][_0x6d79('0x3e')]){_0x3db622['where']=_[_0x6d79('0x3f')](_0x3db622[_0x6d79('0x3b')],{'$or':_[_0x6d79('0x2c')](_0x3db622[_0x6d79('0x37')],function(_0x25d605){var _0x252b49={};_0x252b49[_0x25d605]={'$like':'%'+_0x51f0cd[_0x6d79('0x33')][_0x6d79('0x3e')]+'%'};return _0x252b49;})});}_0x3db622=_[_0x6d79('0x3f')]({},_0x3db622,_0x51f0cd[_0x6d79('0x41')]);return _0x2192ad[_0x6d79('0x4e')](_0x3db622);}})[_0x6d79('0x25')](function(_0x2243cf){if(_0x2243cf){_0x3544a3=_0x2243cf[_0x6d79('0x46')];if(!_0x51f0cd['query'][_0x6d79('0x4f')](_0x6d79('0x38'))){_0x3db622[_0x6d79('0x1e')]=qs[_0x6d79('0x1e')](_0x51f0cd[_0x6d79('0x33')]['limit']);_0x3db622[_0x6d79('0x20')]=qs['offset'](_0x51f0cd['query'][_0x6d79('0x20')]);}return _0x2192ad[_0x6d79('0x4e')](_0x3db622);}})[_0x6d79('0x25')](function(_0x392c03){if(_0x392c03){return _0x392c03?{'count':_0x3544a3,'rows':_0x392c03}:null;}})[_0x6d79('0x25')](respondWithResult(_0x55ed1d,null))[_0x6d79('0x48')](handleError(_0x55ed1d,null));};exports['getSubjects']=function(_0x59006d,_0x45daee,_0x1dbde3){var _0x520946={};var _0x49e083={};var _0x56d8ec;var _0x447fd2;return db[_0x6d79('0x2d')][_0x6d79('0x50')]({'where':{'id':_0x59006d[_0x6d79('0x4c')]['id']}})[_0x6d79('0x25')](handleEntityNotFound(_0x45daee,null))[_0x6d79('0x25')](function(_0x12943c){if(_0x12943c){_0x56d8ec=_0x12943c;_0x49e083['model']=_[_0x6d79('0x34')](db[_0x6d79('0x4d')][_0x6d79('0x2e')]);_0x49e083[_0x6d79('0x33')]=_[_0x6d79('0x34')](_0x59006d['query']);_0x49e083['filters']=_['intersection'](_0x49e083[_0x6d79('0x32')],_0x49e083['query']);_0x520946[_0x6d79('0x37')]=_[_0x6d79('0x35')](_0x49e083['model'],qs[_0x6d79('0x36')](_0x59006d[_0x6d79('0x33')][_0x6d79('0x36')]));_0x520946[_0x6d79('0x37')]=_0x520946[_0x6d79('0x37')][_0x6d79('0x46')]?_0x520946['attributes']:_0x49e083['model'];_0x520946['order']=qs[_0x6d79('0x3a')](_0x59006d[_0x6d79('0x33')][_0x6d79('0x3a')]);_0x520946['where']=qs[_0x6d79('0x3c')](_[_0x6d79('0x3d')](_0x59006d['query'],_0x49e083[_0x6d79('0x3c')]));if(_0x59006d[_0x6d79('0x33')]['filter']){_0x520946[_0x6d79('0x3b')]=_[_0x6d79('0x3f')](_0x520946[_0x6d79('0x3b')],{'$or':_['map'](_0x520946['attributes'],function(_0x134e54){var _0x38f417={};_0x38f417[_0x134e54]={'$like':'%'+_0x59006d[_0x6d79('0x33')]['filter']+'%'};return _0x38f417;})});}_0x520946=_[_0x6d79('0x3f')]({},_0x520946,_0x59006d[_0x6d79('0x41')]);return _0x56d8ec[_0x6d79('0x51')](_0x520946);}})[_0x6d79('0x25')](function(_0x2d7481){if(_0x2d7481){_0x447fd2=_0x2d7481['length'];if(!_0x59006d[_0x6d79('0x33')][_0x6d79('0x4f')](_0x6d79('0x38'))){_0x520946[_0x6d79('0x1e')]=qs[_0x6d79('0x1e')](_0x59006d[_0x6d79('0x33')]['limit']);_0x520946[_0x6d79('0x20')]=qs['offset'](_0x59006d[_0x6d79('0x33')][_0x6d79('0x20')]);}return _0x56d8ec['getSubjects'](_0x520946);}})[_0x6d79('0x25')](function(_0x22a1f2){if(_0x22a1f2){return _0x22a1f2?{'count':_0x447fd2,'rows':_0x22a1f2}:null;}})[_0x6d79('0x25')](respondWithResult(_0x45daee,null))[_0x6d79('0x48')](handleError(_0x45daee,null));};exports[_0x6d79('0x52')]=function(_0x5aae2e,_0x1d963c,_0x593855){var _0x51f9d5={};var _0xf08c90={};var _0x2e314e;var _0x37aa75;return db[_0x6d79('0x2d')][_0x6d79('0x50')]({'where':{'id':_0x5aae2e['params']['id']}})[_0x6d79('0x25')](handleEntityNotFound(_0x1d963c,null))[_0x6d79('0x25')](function(_0x25ac1f){if(_0x25ac1f){_0x2e314e=_0x25ac1f;_0xf08c90[_0x6d79('0x32')]=_[_0x6d79('0x34')](db['ServicenowField']['rawAttributes']);_0xf08c90[_0x6d79('0x33')]=_['keys'](_0x5aae2e[_0x6d79('0x33')]);_0xf08c90[_0x6d79('0x3c')]=_[_0x6d79('0x35')](_0xf08c90[_0x6d79('0x32')],_0xf08c90[_0x6d79('0x33')]);_0x51f9d5[_0x6d79('0x37')]=_['intersection'](_0xf08c90[_0x6d79('0x32')],qs[_0x6d79('0x36')](_0x5aae2e['query'][_0x6d79('0x36')]));_0x51f9d5[_0x6d79('0x37')]=_0x51f9d5[_0x6d79('0x37')][_0x6d79('0x46')]?_0x51f9d5[_0x6d79('0x37')]:_0xf08c90['model'];_0x51f9d5[_0x6d79('0x39')]=qs['sort'](_0x5aae2e['query'][_0x6d79('0x3a')]);_0x51f9d5[_0x6d79('0x3b')]=qs[_0x6d79('0x3c')](_[_0x6d79('0x3d')](_0x5aae2e[_0x6d79('0x33')],_0xf08c90[_0x6d79('0x3c')]));if(_0x5aae2e[_0x6d79('0x33')]['filter']){_0x51f9d5[_0x6d79('0x3b')]=_[_0x6d79('0x3f')](_0x51f9d5[_0x6d79('0x3b')],{'$or':_['map'](_0x51f9d5[_0x6d79('0x37')],function(_0x3051c4){var _0x307961={};_0x307961[_0x3051c4]={'$like':'%'+_0x5aae2e[_0x6d79('0x33')][_0x6d79('0x3e')]+'%'};return _0x307961;})});}_0x51f9d5=_[_0x6d79('0x3f')]({},_0x51f9d5,_0x5aae2e[_0x6d79('0x41')]);return _0x2e314e[_0x6d79('0x52')](_0x51f9d5);}})[_0x6d79('0x25')](function(_0x268d99){if(_0x268d99){_0x37aa75=_0x268d99[_0x6d79('0x46')];if(!_0x5aae2e[_0x6d79('0x33')][_0x6d79('0x4f')]('nolimit')){_0x51f9d5[_0x6d79('0x1e')]=qs[_0x6d79('0x1e')](_0x5aae2e[_0x6d79('0x33')][_0x6d79('0x1e')]);_0x51f9d5[_0x6d79('0x20')]=qs[_0x6d79('0x20')](_0x5aae2e[_0x6d79('0x33')][_0x6d79('0x20')]);}return _0x2e314e[_0x6d79('0x52')](_0x51f9d5);}})[_0x6d79('0x25')](function(_0x17924d){if(_0x17924d){return _0x17924d?{'count':_0x37aa75,'rows':_0x17924d}:null;}})['then'](respondWithResult(_0x1d963c,null))[_0x6d79('0x48')](handleError(_0x1d963c,null));};