fb670de253fc68f30cc14abed9bdd6c47f394ad3
[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 _0x75d0=['bluebird','mustache','util','path','sox','to-csv','ejs','lodash','squel','desk.js','querystring','papaparse','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/license/util','../../mysqldb','jayson/promise','client','request','then','info','Dynamics365Configuration,\x20%s,\x20%s','request\x20sent','debug','stringify','error','code','message','result','catch','sendStatus','status','json','count','offset','set','Content-Range','save','update','destroy','stack','name','send','map','rawAttributes','type','key','model','query','keys','filters','intersection','attributes','fields','hasOwnProperty','nolimit','limit','order','sort','where','pick','filter','VIRTUAL','options','Dynamics365Configuration','includeAll','include','findAll','show','params','length','merge','create','body','find','getFields','findOne','Dynamics365Field','getSubjects','getDescriptions','html-pdf','eml-format','rimraf','zip-dir','request-promise'];(function(_0x5db9a8,_0x211e38){var _0x4c44a7=function(_0x3ec2c0){while(--_0x3ec2c0){_0x5db9a8['push'](_0x5db9a8['shift']());}};_0x4c44a7(++_0x211e38);}(_0x75d0,0x1bd));var _0x075d=function(_0x38a7ac,_0x45514b){_0x38a7ac=_0x38a7ac-0x0;var _0x53061a=_0x75d0[_0x38a7ac];return _0x53061a;};'use strict';var pdf=require(_0x075d('0x0'));var emlformat=require(_0x075d('0x1'));var rimraf=require(_0x075d('0x2'));var zipdir=require(_0x075d('0x3'));var jsonpatch=require('fast-json-patch');var rp=require(_0x075d('0x4'));var moment=require('moment');var BPromise=require(_0x075d('0x5'));var Mustache=require(_0x075d('0x6'));var util=require(_0x075d('0x7'));var path=require(_0x075d('0x8'));var sox=require(_0x075d('0x9'));var csv=require(_0x075d('0xa'));var ejs=require(_0x075d('0xb'));var fs=require('fs');var _=require(_0x075d('0xc'));var squel=require(_0x075d('0xd'));var crypto=require('crypto');var jsforce=require('jsforce');var deskjs=require(_0x075d('0xe'));var toCsv=require(_0x075d('0xa'));var querystring=require(_0x075d('0xf'));var Papa=require(_0x075d('0x10'));var Redis=require('ioredis');var authService=require(_0x075d('0x11'));var qs=require(_0x075d('0x12'));var as=require(_0x075d('0x13'));var hardwareService=require(_0x075d('0x14'));var logger=require(_0x075d('0x15'))(_0x075d('0x16'));var utils=require(_0x075d('0x17'));var config=require('../../config/environment');var licenseUtil=require(_0x075d('0x18'));var db=require(_0x075d('0x19'))['db'];var jayson=require(_0x075d('0x1a'));var client=jayson[_0x075d('0x1b')]['http']({'port':0x232a});function respondWithRpcPromise(_0x341ec1,_0x39648b,_0x329f81,_0xf43ee){return new BPromise(function(_0xe21c3,_0x4ff00f){var _0x2a2ee0=_0xf43ee||client;return _0x2a2ee0[_0x075d('0x1c')](_0x341ec1,_0x329f81)[_0x075d('0x1d')](function(_0x422e06){logger[_0x075d('0x1e')](_0x075d('0x1f'),_0x39648b,_0x075d('0x20'));logger[_0x075d('0x21')]('Dynamics365Configuration,\x20%s,\x20%s,\x20%s',_0x39648b,_0x075d('0x20'),JSON[_0x075d('0x22')](_0x422e06));if(_0x422e06[_0x075d('0x23')]){if(_0x422e06['error'][_0x075d('0x24')]===0x1f4){logger[_0x075d('0x23')](_0x075d('0x1f'),_0x39648b,_0x422e06[_0x075d('0x23')][_0x075d('0x25')]);return _0x4ff00f(_0x422e06[_0x075d('0x23')][_0x075d('0x25')]);}logger[_0x075d('0x23')]('Dynamics365Configuration,\x20%s,\x20%s',_0x39648b,_0x422e06[_0x075d('0x23')][_0x075d('0x25')]);return _0xe21c3(_0x422e06[_0x075d('0x23')][_0x075d('0x25')]);}else{logger[_0x075d('0x1e')](_0x075d('0x1f'),_0x39648b,_0x075d('0x20'));_0xe21c3(_0x422e06[_0x075d('0x26')][_0x075d('0x25')]);}})[_0x075d('0x27')](function(_0x16b06a){logger[_0x075d('0x23')](_0x075d('0x1f'),_0x39648b,_0x16b06a);_0x4ff00f(_0x16b06a);});});}function respondWithStatusCode(_0x3d3ff5,_0x3db508){_0x3db508=_0x3db508||0xcc;return function(_0x3fdd6f){if(_0x3fdd6f){return _0x3d3ff5[_0x075d('0x28')](_0x3db508);}return _0x3d3ff5[_0x075d('0x29')](_0x3db508)['end']();};}function respondWithResult(_0x4eb030,_0x441975){_0x441975=_0x441975||0xc8;return function(_0x594342){if(_0x594342){return _0x4eb030[_0x075d('0x29')](_0x441975)[_0x075d('0x2a')](_0x594342);}};}function respondWithFilteredResult(_0x46ec04,_0x5a087a){return function(_0x307388){if(_0x307388){var _0x3413e5=_0x307388[_0x075d('0x2b')],_0x53de34=_0x5a087a['offset'],_0x3222eb=_0x5a087a[_0x075d('0x2c')]+_0x5a087a['limit'],_0x51e0ea;if(_0x3222eb>=_0x3413e5){_0x3222eb=_0x3413e5;_0x51e0ea=0xc8;}else{_0x51e0ea=0xce;}_0x46ec04[_0x075d('0x29')](_0x51e0ea);return _0x46ec04[_0x075d('0x2d')](_0x075d('0x2e'),_0x53de34+'-'+_0x3222eb+'/'+_0x3413e5)[_0x075d('0x2a')](_0x307388);}return null;};}function patchUpdates(_0x2f0ee7){return function(_0x5a56e3){try{jsonpatch['apply'](_0x5a56e3,_0x2f0ee7,!![]);}catch(_0x3c4518){return BPromise['reject'](_0x3c4518);}return _0x5a56e3[_0x075d('0x2f')]();};}function saveUpdates(_0x108e70,_0xd1f6cc){return function(_0x20fdd7){if(_0x20fdd7){return _0x20fdd7[_0x075d('0x30')](_0x108e70)[_0x075d('0x1d')](function(_0x2679d2){return _0x2679d2;});}return null;};}function removeEntity(_0x4a46ce,_0x1bb726){return function(_0x4fcd74){if(_0x4fcd74){return _0x4fcd74[_0x075d('0x31')]()[_0x075d('0x1d')](function(){_0x4a46ce[_0x075d('0x29')](0xcc)['end']();});}};}function handleEntityNotFound(_0x27087c,_0x2e8540){return function(_0x16f8dc){if(!_0x16f8dc){_0x27087c[_0x075d('0x28')](0x194);}return _0x16f8dc;};}function handleError(_0x232263,_0x293c5e){_0x293c5e=_0x293c5e||0x1f4;return function(_0x382b18){logger[_0x075d('0x23')](_0x382b18[_0x075d('0x32')]);if(_0x382b18[_0x075d('0x33')]){delete _0x382b18[_0x075d('0x33')];}_0x232263[_0x075d('0x29')](_0x293c5e)[_0x075d('0x34')](_0x382b18);};}exports['index']=function(_0x5d9308,_0x13288d){var _0x24c088={},_0x4d8940={},_0x1ff445={'count':0x0,'rows':[]};var _0x38f34d=_[_0x075d('0x35')](db['Dynamics365Configuration'][_0x075d('0x36')],function(_0x21c6d3){return{'name':_0x21c6d3['fieldName'],'type':_0x21c6d3[_0x075d('0x37')][_0x075d('0x38')]};});_0x4d8940[_0x075d('0x39')]=_[_0x075d('0x35')](_0x38f34d,_0x075d('0x33'));_0x4d8940[_0x075d('0x3a')]=_[_0x075d('0x3b')](_0x5d9308['query']);_0x4d8940[_0x075d('0x3c')]=_[_0x075d('0x3d')](_0x4d8940[_0x075d('0x39')],_0x4d8940[_0x075d('0x3a')]);_0x24c088[_0x075d('0x3e')]=_[_0x075d('0x3d')](_0x4d8940[_0x075d('0x39')],qs[_0x075d('0x3f')](_0x5d9308[_0x075d('0x3a')][_0x075d('0x3f')]));_0x24c088['attributes']=_0x24c088[_0x075d('0x3e')]['length']?_0x24c088[_0x075d('0x3e')]:_0x4d8940[_0x075d('0x39')];if(!_0x5d9308['query'][_0x075d('0x40')](_0x075d('0x41'))){_0x24c088[_0x075d('0x42')]=qs[_0x075d('0x42')](_0x5d9308['query'][_0x075d('0x42')]);_0x24c088[_0x075d('0x2c')]=qs[_0x075d('0x2c')](_0x5d9308['query'][_0x075d('0x2c')]);}_0x24c088[_0x075d('0x43')]=qs[_0x075d('0x44')](_0x5d9308[_0x075d('0x3a')][_0x075d('0x44')]);_0x24c088[_0x075d('0x45')]=qs[_0x075d('0x3c')](_[_0x075d('0x46')](_0x5d9308[_0x075d('0x3a')],_0x4d8940[_0x075d('0x3c')]),_0x38f34d);if(_0x5d9308[_0x075d('0x3a')][_0x075d('0x47')]){_0x24c088[_0x075d('0x45')]=_['merge'](_0x24c088[_0x075d('0x45')],{'$or':_[_0x075d('0x35')](_0x38f34d,function(_0x8f3fc6){if(_0x8f3fc6['type']!==_0x075d('0x48')){var _0x186acf={};_0x186acf[_0x8f3fc6[_0x075d('0x33')]]={'$like':'%'+_0x5d9308[_0x075d('0x3a')][_0x075d('0x47')]+'%'};return _0x186acf;}})});}_0x24c088=_['merge']({},_0x24c088,_0x5d9308[_0x075d('0x49')]);var _0xf410de={'where':_0x24c088['where']};return db[_0x075d('0x4a')]['count'](_0xf410de)[_0x075d('0x1d')](function(_0x1b775c){_0x1ff445[_0x075d('0x2b')]=_0x1b775c;if(_0x5d9308[_0x075d('0x3a')][_0x075d('0x4b')]){_0x24c088[_0x075d('0x4c')]=[{'all':!![]}];}return db['Dynamics365Configuration'][_0x075d('0x4d')](_0x24c088);})[_0x075d('0x1d')](function(_0x2b5084){_0x1ff445['rows']=_0x2b5084;return _0x1ff445;})[_0x075d('0x1d')](respondWithFilteredResult(_0x13288d,_0x24c088))[_0x075d('0x27')](handleError(_0x13288d,null));};exports[_0x075d('0x4e')]=function(_0xa88540,_0x3bc0c3){var _0x192f6e={'raw':![],'where':{'id':_0xa88540[_0x075d('0x4f')]['id']}},_0x3d06e2={};_0x3d06e2[_0x075d('0x39')]=_[_0x075d('0x3b')](db[_0x075d('0x4a')]['rawAttributes']);_0x3d06e2[_0x075d('0x3a')]=_[_0x075d('0x3b')](_0xa88540['query']);_0x3d06e2[_0x075d('0x3c')]=_['intersection'](_0x3d06e2[_0x075d('0x39')],_0x3d06e2['query']);_0x192f6e[_0x075d('0x3e')]=_[_0x075d('0x3d')](_0x3d06e2['model'],qs['fields'](_0xa88540[_0x075d('0x3a')]['fields']));_0x192f6e['attributes']=_0x192f6e[_0x075d('0x3e')][_0x075d('0x50')]?_0x192f6e['attributes']:_0x3d06e2[_0x075d('0x39')];if(_0xa88540[_0x075d('0x3a')]['includeAll']){_0x192f6e[_0x075d('0x4c')]=[{'all':!![]}];}_0x192f6e=_[_0x075d('0x51')]({},_0x192f6e,_0xa88540['options']);return db[_0x075d('0x4a')]['find'](_0x192f6e)['then'](handleEntityNotFound(_0x3bc0c3,null))[_0x075d('0x1d')](respondWithResult(_0x3bc0c3,null))[_0x075d('0x27')](handleError(_0x3bc0c3,null));};exports[_0x075d('0x52')]=function(_0x1fcd25,_0x3b4b45){return db[_0x075d('0x4a')][_0x075d('0x52')](_0x1fcd25[_0x075d('0x53')],{})[_0x075d('0x1d')](respondWithResult(_0x3b4b45,0xc9))['catch'](handleError(_0x3b4b45,null));};exports[_0x075d('0x30')]=function(_0x34ecc9,_0x468fbf){if(_0x34ecc9[_0x075d('0x53')]['id']){delete _0x34ecc9[_0x075d('0x53')]['id'];}return db[_0x075d('0x4a')]['find']({'where':{'id':_0x34ecc9['params']['id']}})[_0x075d('0x1d')](handleEntityNotFound(_0x468fbf,null))['then'](saveUpdates(_0x34ecc9[_0x075d('0x53')],null))[_0x075d('0x1d')](respondWithResult(_0x468fbf,null))['catch'](handleError(_0x468fbf,null));};exports[_0x075d('0x31')]=function(_0x4c597d,_0x1f03c8){return db[_0x075d('0x4a')][_0x075d('0x54')]({'where':{'id':_0x4c597d[_0x075d('0x4f')]['id']}})[_0x075d('0x1d')](handleEntityNotFound(_0x1f03c8,null))[_0x075d('0x1d')](removeEntity(_0x1f03c8,null))['catch'](handleError(_0x1f03c8,null));};exports[_0x075d('0x55')]=function(_0x2937c9,_0x2193e,_0x33ddc2){var _0x4d6e13={};var _0x2c5289={};var _0x2c736c;var _0x5e99f2;return db['Dynamics365Configuration'][_0x075d('0x56')]({'where':{'id':_0x2937c9[_0x075d('0x4f')]['id']}})[_0x075d('0x1d')](handleEntityNotFound(_0x2193e,null))[_0x075d('0x1d')](function(_0x1fe2c9){if(_0x1fe2c9){_0x2c736c=_0x1fe2c9;_0x2c5289['model']=_['keys'](db[_0x075d('0x57')][_0x075d('0x36')]);_0x2c5289[_0x075d('0x3a')]=_['keys'](_0x2937c9[_0x075d('0x3a')]);_0x2c5289['filters']=_[_0x075d('0x3d')](_0x2c5289[_0x075d('0x39')],_0x2c5289['query']);_0x4d6e13['attributes']=_[_0x075d('0x3d')](_0x2c5289[_0x075d('0x39')],qs[_0x075d('0x3f')](_0x2937c9[_0x075d('0x3a')][_0x075d('0x3f')]));_0x4d6e13['attributes']=_0x4d6e13[_0x075d('0x3e')][_0x075d('0x50')]?_0x4d6e13[_0x075d('0x3e')]:_0x2c5289[_0x075d('0x39')];_0x4d6e13[_0x075d('0x43')]=qs[_0x075d('0x44')](_0x2937c9[_0x075d('0x3a')][_0x075d('0x44')]);_0x4d6e13[_0x075d('0x45')]=qs[_0x075d('0x3c')](_[_0x075d('0x46')](_0x2937c9[_0x075d('0x3a')],_0x2c5289[_0x075d('0x3c')]));if(_0x2937c9['query'][_0x075d('0x47')]){_0x4d6e13[_0x075d('0x45')]=_[_0x075d('0x51')](_0x4d6e13[_0x075d('0x45')],{'$or':_[_0x075d('0x35')](_0x4d6e13['attributes'],function(_0x2e0109){var _0x10dd8a={};_0x10dd8a[_0x2e0109]={'$like':'%'+_0x2937c9[_0x075d('0x3a')][_0x075d('0x47')]+'%'};return _0x10dd8a;})});}_0x4d6e13=_[_0x075d('0x51')]({},_0x4d6e13,_0x2937c9['options']);return _0x2c736c['getFields'](_0x4d6e13);}})[_0x075d('0x1d')](function(_0x3ca334){if(_0x3ca334){_0x5e99f2=_0x3ca334['length'];if(!_0x2937c9['query'][_0x075d('0x40')](_0x075d('0x41'))){_0x4d6e13['limit']=qs['limit'](_0x2937c9[_0x075d('0x3a')][_0x075d('0x42')]);_0x4d6e13[_0x075d('0x2c')]=qs[_0x075d('0x2c')](_0x2937c9[_0x075d('0x3a')][_0x075d('0x2c')]);}return _0x2c736c['getFields'](_0x4d6e13);}})[_0x075d('0x1d')](function(_0x4b38eb){if(_0x4b38eb){return _0x4b38eb?{'count':_0x5e99f2,'rows':_0x4b38eb}:null;}})[_0x075d('0x1d')](respondWithResult(_0x2193e,null))[_0x075d('0x27')](handleError(_0x2193e,null));};exports[_0x075d('0x58')]=function(_0x360139,_0x56ad33,_0x2b930e){var _0x4d70b0={};var _0x23def8={};var _0x3343d7;var _0x4c92b;return db['Dynamics365Configuration'][_0x075d('0x56')]({'where':{'id':_0x360139['params']['id']}})[_0x075d('0x1d')](handleEntityNotFound(_0x56ad33,null))[_0x075d('0x1d')](function(_0x157529){if(_0x157529){_0x3343d7=_0x157529;_0x23def8['model']=_[_0x075d('0x3b')](db[_0x075d('0x57')][_0x075d('0x36')]);_0x23def8[_0x075d('0x3a')]=_['keys'](_0x360139[_0x075d('0x3a')]);_0x23def8[_0x075d('0x3c')]=_['intersection'](_0x23def8['model'],_0x23def8[_0x075d('0x3a')]);_0x4d70b0[_0x075d('0x3e')]=_[_0x075d('0x3d')](_0x23def8[_0x075d('0x39')],qs[_0x075d('0x3f')](_0x360139[_0x075d('0x3a')]['fields']));_0x4d70b0['attributes']=_0x4d70b0[_0x075d('0x3e')][_0x075d('0x50')]?_0x4d70b0['attributes']:_0x23def8[_0x075d('0x39')];_0x4d70b0['order']=qs[_0x075d('0x44')](_0x360139['query'][_0x075d('0x44')]);_0x4d70b0[_0x075d('0x45')]=qs[_0x075d('0x3c')](_['pick'](_0x360139[_0x075d('0x3a')],_0x23def8[_0x075d('0x3c')]));if(_0x360139[_0x075d('0x3a')][_0x075d('0x47')]){_0x4d70b0[_0x075d('0x45')]=_[_0x075d('0x51')](_0x4d70b0[_0x075d('0x45')],{'$or':_[_0x075d('0x35')](_0x4d70b0[_0x075d('0x3e')],function(_0x11dc7d){var _0x10fb30={};_0x10fb30[_0x11dc7d]={'$like':'%'+_0x360139[_0x075d('0x3a')]['filter']+'%'};return _0x10fb30;})});}_0x4d70b0=_[_0x075d('0x51')]({},_0x4d70b0,_0x360139[_0x075d('0x49')]);return _0x3343d7['getSubjects'](_0x4d70b0);}})['then'](function(_0x135fa7){if(_0x135fa7){_0x4c92b=_0x135fa7[_0x075d('0x50')];if(!_0x360139[_0x075d('0x3a')][_0x075d('0x40')](_0x075d('0x41'))){_0x4d70b0['limit']=qs[_0x075d('0x42')](_0x360139[_0x075d('0x3a')][_0x075d('0x42')]);_0x4d70b0[_0x075d('0x2c')]=qs['offset'](_0x360139[_0x075d('0x3a')][_0x075d('0x2c')]);}return _0x3343d7[_0x075d('0x58')](_0x4d70b0);}})[_0x075d('0x1d')](function(_0x312a50){if(_0x312a50){return _0x312a50?{'count':_0x4c92b,'rows':_0x312a50}:null;}})[_0x075d('0x1d')](respondWithResult(_0x56ad33,null))[_0x075d('0x27')](handleError(_0x56ad33,null));};exports[_0x075d('0x59')]=function(_0x3a6296,_0xaaef0,_0x5c5d83){var _0xd6897e={};var _0x1f7797={};var _0x3a55f8;var _0x6e8d0;return db[_0x075d('0x4a')][_0x075d('0x56')]({'where':{'id':_0x3a6296[_0x075d('0x4f')]['id']}})[_0x075d('0x1d')](handleEntityNotFound(_0xaaef0,null))[_0x075d('0x1d')](function(_0x13383a){if(_0x13383a){_0x3a55f8=_0x13383a;_0x1f7797[_0x075d('0x39')]=_['keys'](db['Dynamics365Field'][_0x075d('0x36')]);_0x1f7797[_0x075d('0x3a')]=_['keys'](_0x3a6296[_0x075d('0x3a')]);_0x1f7797['filters']=_[_0x075d('0x3d')](_0x1f7797[_0x075d('0x39')],_0x1f7797[_0x075d('0x3a')]);_0xd6897e[_0x075d('0x3e')]=_[_0x075d('0x3d')](_0x1f7797[_0x075d('0x39')],qs[_0x075d('0x3f')](_0x3a6296[_0x075d('0x3a')]['fields']));_0xd6897e[_0x075d('0x3e')]=_0xd6897e['attributes'][_0x075d('0x50')]?_0xd6897e['attributes']:_0x1f7797['model'];_0xd6897e['order']=qs[_0x075d('0x44')](_0x3a6296[_0x075d('0x3a')][_0x075d('0x44')]);_0xd6897e[_0x075d('0x45')]=qs[_0x075d('0x3c')](_[_0x075d('0x46')](_0x3a6296[_0x075d('0x3a')],_0x1f7797[_0x075d('0x3c')]));if(_0x3a6296[_0x075d('0x3a')][_0x075d('0x47')]){_0xd6897e[_0x075d('0x45')]=_['merge'](_0xd6897e[_0x075d('0x45')],{'$or':_[_0x075d('0x35')](_0xd6897e[_0x075d('0x3e')],function(_0x2e8fa9){var _0x587171={};_0x587171[_0x2e8fa9]={'$like':'%'+_0x3a6296[_0x075d('0x3a')][_0x075d('0x47')]+'%'};return _0x587171;})});}_0xd6897e=_[_0x075d('0x51')]({},_0xd6897e,_0x3a6296[_0x075d('0x49')]);return _0x3a55f8['getDescriptions'](_0xd6897e);}})[_0x075d('0x1d')](function(_0x49c040){if(_0x49c040){_0x6e8d0=_0x49c040['length'];if(!_0x3a6296[_0x075d('0x3a')][_0x075d('0x40')](_0x075d('0x41'))){_0xd6897e[_0x075d('0x42')]=qs['limit'](_0x3a6296[_0x075d('0x3a')][_0x075d('0x42')]);_0xd6897e[_0x075d('0x2c')]=qs[_0x075d('0x2c')](_0x3a6296[_0x075d('0x3a')][_0x075d('0x2c')]);}return _0x3a55f8['getDescriptions'](_0xd6897e);}})['then'](function(_0x412a20){if(_0x412a20){return _0x412a20?{'count':_0x6e8d0,'rows':_0x412a20}:null;}})[_0x075d('0x1d')](respondWithResult(_0xaaef0,null))[_0x075d('0x27')](handleError(_0xaaef0,null));};