Built motion from commit b5996064.|2.6.21
[motion2.git] / server / api / intDynamics365Configuration / intDynamics365Configuration.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 _0xd481=['merge','options','includeAll','include','Dynamics365Configuration','findAll','rows','show','params','keys','rawAttributes','fields','catch','create','body','find','getFields','findOne','Dynamics365Field','getSubjects','getDescriptions','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','path','to-csv','ejs','fs-extra','lodash','squel','crypto','papaparse','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','end','status','offset','undefined','limit','count','Content-Range','apply','reject','then','destroy','stack','send','index','map','fieldName','key','name','query','filters','intersection','model','attributes','length','hasOwnProperty','nolimit','order','sort','pick','where','type','filter'];(function(_0x262ed8,_0x3b2685){var _0x1bd005=function(_0x51f974){while(--_0x51f974){_0x262ed8['push'](_0x262ed8['shift']());}};_0x1bd005(++_0x3b2685);}(_0xd481,0x14d));var _0x1d48=function(_0x3e09c5,_0x13f2c7){_0x3e09c5=_0x3e09c5-0x0;var _0x55e078=_0xd481[_0x3e09c5];return _0x55e078;};'use strict';var emlformat=require(_0x1d48('0x0'));var rimraf=require(_0x1d48('0x1'));var zipdir=require(_0x1d48('0x2'));var jsonpatch=require(_0x1d48('0x3'));var rp=require(_0x1d48('0x4'));var moment=require(_0x1d48('0x5'));var BPromise=require(_0x1d48('0x6'));var Mustache=require('mustache');var util=require('util');var path=require(_0x1d48('0x7'));var sox=require('sox');var csv=require(_0x1d48('0x8'));var ejs=require(_0x1d48('0x9'));var fs=require('fs');var fs_extra=require(_0x1d48('0xa'));var _=require(_0x1d48('0xb'));var squel=require(_0x1d48('0xc'));var crypto=require(_0x1d48('0xd'));var jsforce=require('jsforce');var deskjs=require('desk.js');var toCsv=require(_0x1d48('0x8'));var querystring=require('querystring');var Papa=require(_0x1d48('0xe'));var Redis=require(_0x1d48('0xf'));var authService=require('../../components/auth/service');var qs=require(_0x1d48('0x10'));var as=require(_0x1d48('0x11'));var hardwareService=require(_0x1d48('0x12'));var logger=require(_0x1d48('0x13'))(_0x1d48('0x14'));var utils=require('../../config/utils');var config=require(_0x1d48('0x15'));var licenseUtil=require(_0x1d48('0x16'));var db=require(_0x1d48('0x17'))['db'];function respondWithStatusCode(_0x4f4646,_0x259af5){_0x259af5=_0x259af5||0xcc;return function(_0x22dc96){if(_0x22dc96){return _0x4f4646[_0x1d48('0x18')](_0x259af5);}return _0x4f4646['status'](_0x259af5)[_0x1d48('0x19')]();};}function respondWithResult(_0x15eaef,_0x13b6d6){_0x13b6d6=_0x13b6d6||0xc8;return function(_0xacdf9a){if(_0xacdf9a){return _0x15eaef[_0x1d48('0x1a')](_0x13b6d6)['json'](_0xacdf9a);}};}function respondWithFilteredResult(_0x32a321,_0x589437){return function(_0x29a15e){if(_0x29a15e){var _0x2d6879=typeof _0x589437[_0x1d48('0x1b')]===_0x1d48('0x1c')&&typeof _0x589437[_0x1d48('0x1d')]==='undefined';var _0x43ffd1=_0x29a15e[_0x1d48('0x1e')];var _0x37ea24=_0x2d6879?0x0:_0x589437[_0x1d48('0x1b')];var _0x22cfe8=_0x2d6879?_0x29a15e[_0x1d48('0x1e')]:_0x589437[_0x1d48('0x1b')]+_0x589437[_0x1d48('0x1d')];var _0x2e0ad6;if(_0x22cfe8>=_0x43ffd1){_0x22cfe8=_0x43ffd1;_0x2e0ad6=0xc8;}else{_0x2e0ad6=0xce;}_0x32a321['status'](_0x2e0ad6);return _0x32a321['set'](_0x1d48('0x1f'),_0x37ea24+'-'+_0x22cfe8+'/'+_0x43ffd1)['json'](_0x29a15e);}return null;};}function patchUpdates(_0x4384a6){return function(_0x4c0dbc){try{jsonpatch[_0x1d48('0x20')](_0x4c0dbc,_0x4384a6,!![]);}catch(_0x24fa02){return BPromise[_0x1d48('0x21')](_0x24fa02);}return _0x4c0dbc['save']();};}function saveUpdates(_0x44c885,_0x220300){return function(_0x26a0ab){if(_0x26a0ab){return _0x26a0ab['update'](_0x44c885)[_0x1d48('0x22')](function(_0x285e47){return _0x285e47;});}return null;};}function removeEntity(_0x3c731e,_0x2ad47a){return function(_0x1b1ad9){if(_0x1b1ad9){return _0x1b1ad9[_0x1d48('0x23')]()['then'](function(){_0x3c731e[_0x1d48('0x1a')](0xcc)['end']();});}};}function handleEntityNotFound(_0x3f6528,_0x2e77f3){return function(_0x5edfd8){if(!_0x5edfd8){_0x3f6528['sendStatus'](0x194);}return _0x5edfd8;};}function handleError(_0x221629,_0x18a055){_0x18a055=_0x18a055||0x1f4;return function(_0x288854){logger['error'](_0x288854[_0x1d48('0x24')]);if(_0x288854['name']){delete _0x288854['name'];}_0x221629['status'](_0x18a055)[_0x1d48('0x25')](_0x288854);};}exports[_0x1d48('0x26')]=function(_0x29ccdc,_0xd20507){var _0x5049db={},_0x31b12e={},_0x19ad83={'count':0x0,'rows':[]};var _0x492d20=_[_0x1d48('0x27')](db['Dynamics365Configuration']['rawAttributes'],function(_0x5ca943){return{'name':_0x5ca943[_0x1d48('0x28')],'type':_0x5ca943['type'][_0x1d48('0x29')]};});_0x31b12e['model']=_[_0x1d48('0x27')](_0x492d20,_0x1d48('0x2a'));_0x31b12e[_0x1d48('0x2b')]=_['keys'](_0x29ccdc['query']);_0x31b12e[_0x1d48('0x2c')]=_[_0x1d48('0x2d')](_0x31b12e[_0x1d48('0x2e')],_0x31b12e[_0x1d48('0x2b')]);_0x5049db[_0x1d48('0x2f')]=_[_0x1d48('0x2d')](_0x31b12e[_0x1d48('0x2e')],qs['fields'](_0x29ccdc['query']['fields']));_0x5049db['attributes']=_0x5049db[_0x1d48('0x2f')][_0x1d48('0x30')]?_0x5049db[_0x1d48('0x2f')]:_0x31b12e['model'];if(!_0x29ccdc[_0x1d48('0x2b')][_0x1d48('0x31')](_0x1d48('0x32'))){_0x5049db[_0x1d48('0x1d')]=qs[_0x1d48('0x1d')](_0x29ccdc[_0x1d48('0x2b')][_0x1d48('0x1d')]);_0x5049db[_0x1d48('0x1b')]=qs[_0x1d48('0x1b')](_0x29ccdc[_0x1d48('0x2b')][_0x1d48('0x1b')]);}_0x5049db[_0x1d48('0x33')]=qs[_0x1d48('0x34')](_0x29ccdc[_0x1d48('0x2b')][_0x1d48('0x34')]);_0x5049db['where']=qs[_0x1d48('0x2c')](_[_0x1d48('0x35')](_0x29ccdc['query'],_0x31b12e[_0x1d48('0x2c')]),_0x492d20);if(_0x29ccdc[_0x1d48('0x2b')]['filter']){_0x5049db[_0x1d48('0x36')]=_['merge'](_0x5049db['where'],{'$or':_['map'](_0x492d20,function(_0x2b8bd0){if(_0x2b8bd0[_0x1d48('0x37')]!=='VIRTUAL'){var _0x30a751={};_0x30a751[_0x2b8bd0[_0x1d48('0x2a')]]={'$like':'%'+_0x29ccdc[_0x1d48('0x2b')][_0x1d48('0x38')]+'%'};return _0x30a751;}})});}_0x5049db=_[_0x1d48('0x39')]({},_0x5049db,_0x29ccdc[_0x1d48('0x3a')]);var _0x3b3d59={'where':_0x5049db[_0x1d48('0x36')]};return db['Dynamics365Configuration'][_0x1d48('0x1e')](_0x3b3d59)[_0x1d48('0x22')](function(_0x3a372d){_0x19ad83[_0x1d48('0x1e')]=_0x3a372d;if(_0x29ccdc[_0x1d48('0x2b')][_0x1d48('0x3b')]){_0x5049db[_0x1d48('0x3c')]=[{'all':!![]}];}return db[_0x1d48('0x3d')][_0x1d48('0x3e')](_0x5049db);})[_0x1d48('0x22')](function(_0x124d16){_0x19ad83[_0x1d48('0x3f')]=_0x124d16;return _0x19ad83;})[_0x1d48('0x22')](respondWithFilteredResult(_0xd20507,_0x5049db))['catch'](handleError(_0xd20507,null));};exports[_0x1d48('0x40')]=function(_0x139c5f,_0x362406){var _0x140d38={'raw':![],'where':{'id':_0x139c5f[_0x1d48('0x41')]['id']}},_0x257881={};_0x257881[_0x1d48('0x2e')]=_[_0x1d48('0x42')](db[_0x1d48('0x3d')][_0x1d48('0x43')]);_0x257881['query']=_[_0x1d48('0x42')](_0x139c5f[_0x1d48('0x2b')]);_0x257881[_0x1d48('0x2c')]=_['intersection'](_0x257881['model'],_0x257881[_0x1d48('0x2b')]);_0x140d38[_0x1d48('0x2f')]=_[_0x1d48('0x2d')](_0x257881[_0x1d48('0x2e')],qs[_0x1d48('0x44')](_0x139c5f[_0x1d48('0x2b')][_0x1d48('0x44')]));_0x140d38[_0x1d48('0x2f')]=_0x140d38[_0x1d48('0x2f')]['length']?_0x140d38['attributes']:_0x257881[_0x1d48('0x2e')];if(_0x139c5f['query'][_0x1d48('0x3b')]){_0x140d38[_0x1d48('0x3c')]=[{'all':!![]}];}_0x140d38=_[_0x1d48('0x39')]({},_0x140d38,_0x139c5f[_0x1d48('0x3a')]);return db['Dynamics365Configuration']['find'](_0x140d38)[_0x1d48('0x22')](handleEntityNotFound(_0x362406,null))[_0x1d48('0x22')](respondWithResult(_0x362406,null))[_0x1d48('0x45')](handleError(_0x362406,null));};exports[_0x1d48('0x46')]=function(_0x41179c,_0x4804f0){return db[_0x1d48('0x3d')][_0x1d48('0x46')](_0x41179c[_0x1d48('0x47')],{})[_0x1d48('0x22')](respondWithResult(_0x4804f0,0xc9))[_0x1d48('0x45')](handleError(_0x4804f0,null));};exports['update']=function(_0xd8b2d2,_0x177e5a){if(_0xd8b2d2[_0x1d48('0x47')]['id']){delete _0xd8b2d2[_0x1d48('0x47')]['id'];}return db[_0x1d48('0x3d')][_0x1d48('0x48')]({'where':{'id':_0xd8b2d2[_0x1d48('0x41')]['id']}})['then'](handleEntityNotFound(_0x177e5a,null))[_0x1d48('0x22')](saveUpdates(_0xd8b2d2[_0x1d48('0x47')],null))[_0x1d48('0x22')](respondWithResult(_0x177e5a,null))[_0x1d48('0x45')](handleError(_0x177e5a,null));};exports[_0x1d48('0x23')]=function(_0x11aac1,_0x7ee0a4){return db[_0x1d48('0x3d')][_0x1d48('0x48')]({'where':{'id':_0x11aac1[_0x1d48('0x41')]['id']}})[_0x1d48('0x22')](handleEntityNotFound(_0x7ee0a4,null))[_0x1d48('0x22')](removeEntity(_0x7ee0a4,null))['catch'](handleError(_0x7ee0a4,null));};exports[_0x1d48('0x49')]=function(_0xc19b5,_0x229ade,_0x2075ce){var _0x450670={};var _0xbf4e76={};var _0x3cfaac;var _0x2612b0;return db[_0x1d48('0x3d')][_0x1d48('0x4a')]({'where':{'id':_0xc19b5[_0x1d48('0x41')]['id']}})[_0x1d48('0x22')](handleEntityNotFound(_0x229ade,null))[_0x1d48('0x22')](function(_0x2dafb0){if(_0x2dafb0){_0x3cfaac=_0x2dafb0;_0xbf4e76['model']=_[_0x1d48('0x42')](db[_0x1d48('0x4b')]['rawAttributes']);_0xbf4e76['query']=_[_0x1d48('0x42')](_0xc19b5[_0x1d48('0x2b')]);_0xbf4e76[_0x1d48('0x2c')]=_[_0x1d48('0x2d')](_0xbf4e76['model'],_0xbf4e76[_0x1d48('0x2b')]);_0x450670[_0x1d48('0x2f')]=_[_0x1d48('0x2d')](_0xbf4e76[_0x1d48('0x2e')],qs[_0x1d48('0x44')](_0xc19b5[_0x1d48('0x2b')]['fields']));_0x450670[_0x1d48('0x2f')]=_0x450670[_0x1d48('0x2f')][_0x1d48('0x30')]?_0x450670['attributes']:_0xbf4e76[_0x1d48('0x2e')];_0x450670[_0x1d48('0x33')]=qs[_0x1d48('0x34')](_0xc19b5[_0x1d48('0x2b')][_0x1d48('0x34')]);_0x450670[_0x1d48('0x36')]=qs[_0x1d48('0x2c')](_['pick'](_0xc19b5['query'],_0xbf4e76[_0x1d48('0x2c')]));if(_0xc19b5[_0x1d48('0x2b')][_0x1d48('0x38')]){_0x450670[_0x1d48('0x36')]=_[_0x1d48('0x39')](_0x450670['where'],{'$or':_[_0x1d48('0x27')](_0x450670[_0x1d48('0x2f')],function(_0x86cd2a){var _0x361d43={};_0x361d43[_0x86cd2a]={'$like':'%'+_0xc19b5['query'][_0x1d48('0x38')]+'%'};return _0x361d43;})});}_0x450670=_[_0x1d48('0x39')]({},_0x450670,_0xc19b5[_0x1d48('0x3a')]);return _0x3cfaac['getFields'](_0x450670);}})[_0x1d48('0x22')](function(_0x40e0ae){if(_0x40e0ae){_0x2612b0=_0x40e0ae[_0x1d48('0x30')];if(!_0xc19b5['query']['hasOwnProperty'](_0x1d48('0x32'))){_0x450670[_0x1d48('0x1d')]=qs[_0x1d48('0x1d')](_0xc19b5[_0x1d48('0x2b')]['limit']);_0x450670[_0x1d48('0x1b')]=qs[_0x1d48('0x1b')](_0xc19b5[_0x1d48('0x2b')][_0x1d48('0x1b')]);}return _0x3cfaac[_0x1d48('0x49')](_0x450670);}})[_0x1d48('0x22')](function(_0x568d52){if(_0x568d52){return _0x568d52?{'count':_0x2612b0,'rows':_0x568d52}:null;}})[_0x1d48('0x22')](respondWithResult(_0x229ade,null))[_0x1d48('0x45')](handleError(_0x229ade,null));};exports[_0x1d48('0x4c')]=function(_0x2eeacd,_0x984929,_0x195fd6){var _0x11e8cc={};var _0x45bbf1={};var _0x186b3a;var _0x33817b;return db[_0x1d48('0x3d')]['findOne']({'where':{'id':_0x2eeacd[_0x1d48('0x41')]['id']}})[_0x1d48('0x22')](handleEntityNotFound(_0x984929,null))['then'](function(_0x16eb32){if(_0x16eb32){_0x186b3a=_0x16eb32;_0x45bbf1[_0x1d48('0x2e')]=_[_0x1d48('0x42')](db[_0x1d48('0x4b')][_0x1d48('0x43')]);_0x45bbf1['query']=_['keys'](_0x2eeacd[_0x1d48('0x2b')]);_0x45bbf1['filters']=_[_0x1d48('0x2d')](_0x45bbf1[_0x1d48('0x2e')],_0x45bbf1[_0x1d48('0x2b')]);_0x11e8cc[_0x1d48('0x2f')]=_[_0x1d48('0x2d')](_0x45bbf1['model'],qs['fields'](_0x2eeacd['query'][_0x1d48('0x44')]));_0x11e8cc[_0x1d48('0x2f')]=_0x11e8cc[_0x1d48('0x2f')][_0x1d48('0x30')]?_0x11e8cc[_0x1d48('0x2f')]:_0x45bbf1[_0x1d48('0x2e')];_0x11e8cc[_0x1d48('0x33')]=qs[_0x1d48('0x34')](_0x2eeacd[_0x1d48('0x2b')][_0x1d48('0x34')]);_0x11e8cc[_0x1d48('0x36')]=qs['filters'](_[_0x1d48('0x35')](_0x2eeacd[_0x1d48('0x2b')],_0x45bbf1[_0x1d48('0x2c')]));if(_0x2eeacd[_0x1d48('0x2b')][_0x1d48('0x38')]){_0x11e8cc['where']=_[_0x1d48('0x39')](_0x11e8cc[_0x1d48('0x36')],{'$or':_['map'](_0x11e8cc[_0x1d48('0x2f')],function(_0x5608d1){var _0x255ac1={};_0x255ac1[_0x5608d1]={'$like':'%'+_0x2eeacd[_0x1d48('0x2b')][_0x1d48('0x38')]+'%'};return _0x255ac1;})});}_0x11e8cc=_[_0x1d48('0x39')]({},_0x11e8cc,_0x2eeacd[_0x1d48('0x3a')]);return _0x186b3a[_0x1d48('0x4c')](_0x11e8cc);}})[_0x1d48('0x22')](function(_0x3c2782){if(_0x3c2782){_0x33817b=_0x3c2782['length'];if(!_0x2eeacd[_0x1d48('0x2b')]['hasOwnProperty'](_0x1d48('0x32'))){_0x11e8cc['limit']=qs['limit'](_0x2eeacd[_0x1d48('0x2b')][_0x1d48('0x1d')]);_0x11e8cc['offset']=qs['offset'](_0x2eeacd[_0x1d48('0x2b')][_0x1d48('0x1b')]);}return _0x186b3a['getSubjects'](_0x11e8cc);}})[_0x1d48('0x22')](function(_0x5024b7){if(_0x5024b7){return _0x5024b7?{'count':_0x33817b,'rows':_0x5024b7}:null;}})[_0x1d48('0x22')](respondWithResult(_0x984929,null))[_0x1d48('0x45')](handleError(_0x984929,null));};exports[_0x1d48('0x4d')]=function(_0x2e8717,_0x25ae51,_0x34b47c){var _0x597b3b={};var _0x52018c={};var _0x1b84f9;var _0x5e50b2;return db[_0x1d48('0x3d')][_0x1d48('0x4a')]({'where':{'id':_0x2e8717[_0x1d48('0x41')]['id']}})['then'](handleEntityNotFound(_0x25ae51,null))[_0x1d48('0x22')](function(_0x569169){if(_0x569169){_0x1b84f9=_0x569169;_0x52018c['model']=_[_0x1d48('0x42')](db[_0x1d48('0x4b')][_0x1d48('0x43')]);_0x52018c['query']=_['keys'](_0x2e8717[_0x1d48('0x2b')]);_0x52018c[_0x1d48('0x2c')]=_['intersection'](_0x52018c[_0x1d48('0x2e')],_0x52018c[_0x1d48('0x2b')]);_0x597b3b['attributes']=_[_0x1d48('0x2d')](_0x52018c[_0x1d48('0x2e')],qs[_0x1d48('0x44')](_0x2e8717[_0x1d48('0x2b')][_0x1d48('0x44')]));_0x597b3b[_0x1d48('0x2f')]=_0x597b3b[_0x1d48('0x2f')][_0x1d48('0x30')]?_0x597b3b['attributes']:_0x52018c[_0x1d48('0x2e')];_0x597b3b[_0x1d48('0x33')]=qs['sort'](_0x2e8717[_0x1d48('0x2b')][_0x1d48('0x34')]);_0x597b3b[_0x1d48('0x36')]=qs['filters'](_[_0x1d48('0x35')](_0x2e8717['query'],_0x52018c[_0x1d48('0x2c')]));if(_0x2e8717[_0x1d48('0x2b')]['filter']){_0x597b3b[_0x1d48('0x36')]=_[_0x1d48('0x39')](_0x597b3b[_0x1d48('0x36')],{'$or':_['map'](_0x597b3b[_0x1d48('0x2f')],function(_0x4b3d03){var _0xf9a520={};_0xf9a520[_0x4b3d03]={'$like':'%'+_0x2e8717[_0x1d48('0x2b')][_0x1d48('0x38')]+'%'};return _0xf9a520;})});}_0x597b3b=_[_0x1d48('0x39')]({},_0x597b3b,_0x2e8717[_0x1d48('0x3a')]);return _0x1b84f9[_0x1d48('0x4d')](_0x597b3b);}})['then'](function(_0x4907fc){if(_0x4907fc){_0x5e50b2=_0x4907fc[_0x1d48('0x30')];if(!_0x2e8717[_0x1d48('0x2b')][_0x1d48('0x31')](_0x1d48('0x32'))){_0x597b3b[_0x1d48('0x1d')]=qs[_0x1d48('0x1d')](_0x2e8717[_0x1d48('0x2b')][_0x1d48('0x1d')]);_0x597b3b[_0x1d48('0x1b')]=qs['offset'](_0x2e8717['query'][_0x1d48('0x1b')]);}return _0x1b84f9[_0x1d48('0x4d')](_0x597b3b);}})['then'](function(_0x1a9934){if(_0x1a9934){return _0x1a9934?{'count':_0x5e50b2,'rows':_0x1a9934}:null;}})[_0x1d48('0x22')](respondWithResult(_0x25ae51,null))[_0x1d48('0x45')](handleError(_0x25ae51,null));};