d61bdc7cc297ec9fcc96e54edfcade830a805013
[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 _0x84b9=['to-csv','ejs','lodash','squel','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','jayson/promise','client','http','then','info','Dynamics365Configuration,\x20%s,\x20%s','debug','Dynamics365Configuration,\x20%s,\x20%s,\x20%s','stringify','error','code','message','request\x20sent','result','catch','sendStatus','status','json','count','offset','Content-Range','apply','reject','save','update','destroy','end','name','index','map','rawAttributes','fieldName','type','key','model','keys','filters','intersection','query','attributes','fields','length','nolimit','limit','order','sort','pick','filter','where','merge','VIRTUAL','options','Dynamics365Configuration','includeAll','findAll','find','create','body','params','getFields','hasOwnProperty','findOne','Dynamics365Field','getSubjects','getDescriptions','html-pdf','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','sox'];(function(_0x152508,_0x13eba0){var _0x2772a2=function(_0x1c08e6){while(--_0x1c08e6){_0x152508['push'](_0x152508['shift']());}};_0x2772a2(++_0x13eba0);}(_0x84b9,0x1bc));var _0x984b=function(_0x43941d,_0x45fd0d){_0x43941d=_0x43941d-0x0;var _0x27b82a=_0x84b9[_0x43941d];return _0x27b82a;};'use strict';var pdf=require(_0x984b('0x0'));var emlformat=require(_0x984b('0x1'));var rimraf=require(_0x984b('0x2'));var zipdir=require(_0x984b('0x3'));var jsonpatch=require(_0x984b('0x4'));var rp=require(_0x984b('0x5'));var moment=require(_0x984b('0x6'));var BPromise=require(_0x984b('0x7'));var Mustache=require(_0x984b('0x8'));var util=require(_0x984b('0x9'));var path=require('path');var sox=require(_0x984b('0xa'));var csv=require(_0x984b('0xb'));var ejs=require(_0x984b('0xc'));var fs=require('fs');var _=require(_0x984b('0xd'));var squel=require(_0x984b('0xe'));var crypto=require('crypto');var jsforce=require('jsforce');var deskjs=require('desk.js');var toCsv=require(_0x984b('0xb'));var querystring=require('querystring');var Papa=require('papaparse');var Redis=require(_0x984b('0xf'));var authService=require(_0x984b('0x10'));var qs=require(_0x984b('0x11'));var as=require(_0x984b('0x12'));var hardwareService=require(_0x984b('0x13'));var logger=require(_0x984b('0x14'))(_0x984b('0x15'));var utils=require(_0x984b('0x16'));var config=require(_0x984b('0x17'));var licenseUtil=require(_0x984b('0x18'));var db=require(_0x984b('0x19'))['db'];var jayson=require(_0x984b('0x1a'));var client=jayson[_0x984b('0x1b')][_0x984b('0x1c')]({'port':0x232a});function respondWithRpcPromise(_0x5cbb70,_0x1b5398,_0xdfd203,_0xbe5705){return new BPromise(function(_0x9dff93,_0x7e5323){var _0x47617a=_0xbe5705||client;return _0x47617a['request'](_0x5cbb70,_0xdfd203)[_0x984b('0x1d')](function(_0x2e192b){logger[_0x984b('0x1e')](_0x984b('0x1f'),_0x1b5398,'request\x20sent');logger[_0x984b('0x20')](_0x984b('0x21'),_0x1b5398,'request\x20sent',JSON[_0x984b('0x22')](_0x2e192b));if(_0x2e192b['error']){if(_0x2e192b[_0x984b('0x23')][_0x984b('0x24')]===0x1f4){logger[_0x984b('0x23')]('Dynamics365Configuration,\x20%s,\x20%s',_0x1b5398,_0x2e192b[_0x984b('0x23')][_0x984b('0x25')]);return _0x7e5323(_0x2e192b[_0x984b('0x23')]['message']);}logger[_0x984b('0x23')]('Dynamics365Configuration,\x20%s,\x20%s',_0x1b5398,_0x2e192b[_0x984b('0x23')]['message']);return _0x9dff93(_0x2e192b['error'][_0x984b('0x25')]);}else{logger[_0x984b('0x1e')](_0x984b('0x1f'),_0x1b5398,_0x984b('0x26'));_0x9dff93(_0x2e192b[_0x984b('0x27')][_0x984b('0x25')]);}})[_0x984b('0x28')](function(_0x386666){logger[_0x984b('0x23')](_0x984b('0x1f'),_0x1b5398,_0x386666);_0x7e5323(_0x386666);});});}function respondWithStatusCode(_0x19dfa4,_0x2fca3b){_0x2fca3b=_0x2fca3b||0xcc;return function(_0x233b80){if(_0x233b80){return _0x19dfa4[_0x984b('0x29')](_0x2fca3b);}return _0x19dfa4[_0x984b('0x2a')](_0x2fca3b)['end']();};}function respondWithResult(_0x3d67c6,_0x13a36e){_0x13a36e=_0x13a36e||0xc8;return function(_0x177ea3){if(_0x177ea3){return _0x3d67c6[_0x984b('0x2a')](_0x13a36e)[_0x984b('0x2b')](_0x177ea3);}};}function respondWithFilteredResult(_0x2e5cf8,_0x468eec){return function(_0x527887){if(_0x527887){var _0x886274=_0x527887[_0x984b('0x2c')],_0x9366dc=_0x468eec[_0x984b('0x2d')],_0x172600=_0x468eec[_0x984b('0x2d')]+_0x468eec['limit'],_0x5d8dc5;if(_0x172600>=_0x886274){_0x172600=_0x886274;_0x5d8dc5=0xc8;}else{_0x5d8dc5=0xce;}_0x2e5cf8['status'](_0x5d8dc5);return _0x2e5cf8['set'](_0x984b('0x2e'),_0x9366dc+'-'+_0x172600+'/'+_0x886274)[_0x984b('0x2b')](_0x527887);}return null;};}function patchUpdates(_0x305eb0){return function(_0x5207b3){try{jsonpatch[_0x984b('0x2f')](_0x5207b3,_0x305eb0,!![]);}catch(_0x2705b7){return BPromise[_0x984b('0x30')](_0x2705b7);}return _0x5207b3[_0x984b('0x31')]();};}function saveUpdates(_0x1df1d2,_0x5566b9){return function(_0x23ae97){if(_0x23ae97){return _0x23ae97[_0x984b('0x32')](_0x1df1d2)[_0x984b('0x1d')](function(_0x267265){return _0x267265;});}return null;};}function removeEntity(_0x6f6cb0,_0x553fa3){return function(_0x220a98){if(_0x220a98){return _0x220a98[_0x984b('0x33')]()[_0x984b('0x1d')](function(){_0x6f6cb0[_0x984b('0x2a')](0xcc)[_0x984b('0x34')]();});}};}function handleEntityNotFound(_0x393ebf,_0x5a1432){return function(_0x4b9726){if(!_0x4b9726){_0x393ebf['sendStatus'](0x194);}return _0x4b9726;};}function handleError(_0x1e947e,_0x1d3347){_0x1d3347=_0x1d3347||0x1f4;return function(_0x26f8c7){logger[_0x984b('0x23')](_0x26f8c7['stack']);if(_0x26f8c7[_0x984b('0x35')]){delete _0x26f8c7[_0x984b('0x35')];}_0x1e947e['status'](_0x1d3347)['send'](_0x26f8c7);};}exports[_0x984b('0x36')]=function(_0x4b29f4,_0x28b360){var _0x5acd11={},_0x3fbaa4={},_0x51815a={'count':0x0,'rows':[]};var _0x486871=_[_0x984b('0x37')](db['Dynamics365Configuration'][_0x984b('0x38')],function(_0xe140a2){return{'name':_0xe140a2[_0x984b('0x39')],'type':_0xe140a2[_0x984b('0x3a')][_0x984b('0x3b')]};});_0x3fbaa4[_0x984b('0x3c')]=_['map'](_0x486871,_0x984b('0x35'));_0x3fbaa4['query']=_[_0x984b('0x3d')](_0x4b29f4['query']);_0x3fbaa4[_0x984b('0x3e')]=_[_0x984b('0x3f')](_0x3fbaa4[_0x984b('0x3c')],_0x3fbaa4[_0x984b('0x40')]);_0x5acd11[_0x984b('0x41')]=_['intersection'](_0x3fbaa4[_0x984b('0x3c')],qs['fields'](_0x4b29f4[_0x984b('0x40')][_0x984b('0x42')]));_0x5acd11[_0x984b('0x41')]=_0x5acd11[_0x984b('0x41')][_0x984b('0x43')]?_0x5acd11[_0x984b('0x41')]:_0x3fbaa4['model'];if(!_0x4b29f4[_0x984b('0x40')]['hasOwnProperty'](_0x984b('0x44'))){_0x5acd11[_0x984b('0x45')]=qs[_0x984b('0x45')](_0x4b29f4[_0x984b('0x40')]['limit']);_0x5acd11[_0x984b('0x2d')]=qs[_0x984b('0x2d')](_0x4b29f4['query']['offset']);}_0x5acd11[_0x984b('0x46')]=qs[_0x984b('0x47')](_0x4b29f4[_0x984b('0x40')][_0x984b('0x47')]);_0x5acd11['where']=qs[_0x984b('0x3e')](_[_0x984b('0x48')](_0x4b29f4['query'],_0x3fbaa4[_0x984b('0x3e')]),_0x486871);if(_0x4b29f4[_0x984b('0x40')][_0x984b('0x49')]){_0x5acd11[_0x984b('0x4a')]=_[_0x984b('0x4b')](_0x5acd11[_0x984b('0x4a')],{'$or':_[_0x984b('0x37')](_0x486871,function(_0x330f9e){if(_0x330f9e[_0x984b('0x3a')]!==_0x984b('0x4c')){var _0x47c889={};_0x47c889[_0x330f9e[_0x984b('0x35')]]={'$like':'%'+_0x4b29f4[_0x984b('0x40')]['filter']+'%'};return _0x47c889;}})});}_0x5acd11=_[_0x984b('0x4b')]({},_0x5acd11,_0x4b29f4[_0x984b('0x4d')]);var _0x4c0227={'where':_0x5acd11[_0x984b('0x4a')]};return db[_0x984b('0x4e')][_0x984b('0x2c')](_0x4c0227)['then'](function(_0xeb2836){_0x51815a[_0x984b('0x2c')]=_0xeb2836;if(_0x4b29f4[_0x984b('0x40')][_0x984b('0x4f')]){_0x5acd11['include']=[{'all':!![]}];}return db[_0x984b('0x4e')][_0x984b('0x50')](_0x5acd11);})['then'](function(_0x19e273){_0x51815a['rows']=_0x19e273;return _0x51815a;})[_0x984b('0x1d')](respondWithFilteredResult(_0x28b360,_0x5acd11))[_0x984b('0x28')](handleError(_0x28b360,null));};exports['show']=function(_0x34639f,_0x432d86){var _0x314740={'raw':![],'where':{'id':_0x34639f['params']['id']}},_0x265750={};_0x265750[_0x984b('0x3c')]=_['keys'](db[_0x984b('0x4e')][_0x984b('0x38')]);_0x265750[_0x984b('0x40')]=_[_0x984b('0x3d')](_0x34639f[_0x984b('0x40')]);_0x265750[_0x984b('0x3e')]=_[_0x984b('0x3f')](_0x265750[_0x984b('0x3c')],_0x265750[_0x984b('0x40')]);_0x314740[_0x984b('0x41')]=_[_0x984b('0x3f')](_0x265750[_0x984b('0x3c')],qs[_0x984b('0x42')](_0x34639f['query'][_0x984b('0x42')]));_0x314740[_0x984b('0x41')]=_0x314740[_0x984b('0x41')][_0x984b('0x43')]?_0x314740['attributes']:_0x265750[_0x984b('0x3c')];if(_0x34639f[_0x984b('0x40')][_0x984b('0x4f')]){_0x314740['include']=[{'all':!![]}];}_0x314740=_[_0x984b('0x4b')]({},_0x314740,_0x34639f[_0x984b('0x4d')]);return db[_0x984b('0x4e')][_0x984b('0x51')](_0x314740)['then'](handleEntityNotFound(_0x432d86,null))[_0x984b('0x1d')](respondWithResult(_0x432d86,null))[_0x984b('0x28')](handleError(_0x432d86,null));};exports[_0x984b('0x52')]=function(_0x13c704,_0x4e8098){return db['Dynamics365Configuration'][_0x984b('0x52')](_0x13c704[_0x984b('0x53')],{})[_0x984b('0x1d')](respondWithResult(_0x4e8098,0xc9))[_0x984b('0x28')](handleError(_0x4e8098,null));};exports[_0x984b('0x32')]=function(_0x255bc9,_0x5a405c){if(_0x255bc9['body']['id']){delete _0x255bc9['body']['id'];}return db[_0x984b('0x4e')]['find']({'where':{'id':_0x255bc9[_0x984b('0x54')]['id']}})[_0x984b('0x1d')](handleEntityNotFound(_0x5a405c,null))[_0x984b('0x1d')](saveUpdates(_0x255bc9[_0x984b('0x53')],null))[_0x984b('0x1d')](respondWithResult(_0x5a405c,null))[_0x984b('0x28')](handleError(_0x5a405c,null));};exports[_0x984b('0x33')]=function(_0x235392,_0x20fd08){return db[_0x984b('0x4e')][_0x984b('0x51')]({'where':{'id':_0x235392[_0x984b('0x54')]['id']}})[_0x984b('0x1d')](handleEntityNotFound(_0x20fd08,null))['then'](removeEntity(_0x20fd08,null))[_0x984b('0x28')](handleError(_0x20fd08,null));};exports[_0x984b('0x55')]=function(_0x5312e0,_0x39c7de,_0xf7533c){var _0x55f8d3={};var _0x240fda={};var _0xb1e7fe;var _0x3ab2a9;return db[_0x984b('0x4e')]['findOne']({'where':{'id':_0x5312e0[_0x984b('0x54')]['id']}})[_0x984b('0x1d')](handleEntityNotFound(_0x39c7de,null))[_0x984b('0x1d')](function(_0x5d56de){if(_0x5d56de){_0xb1e7fe=_0x5d56de;_0x240fda[_0x984b('0x3c')]=_[_0x984b('0x3d')](db['Dynamics365Field'][_0x984b('0x38')]);_0x240fda[_0x984b('0x40')]=_[_0x984b('0x3d')](_0x5312e0['query']);_0x240fda[_0x984b('0x3e')]=_[_0x984b('0x3f')](_0x240fda[_0x984b('0x3c')],_0x240fda[_0x984b('0x40')]);_0x55f8d3[_0x984b('0x41')]=_[_0x984b('0x3f')](_0x240fda[_0x984b('0x3c')],qs[_0x984b('0x42')](_0x5312e0[_0x984b('0x40')][_0x984b('0x42')]));_0x55f8d3['attributes']=_0x55f8d3['attributes'][_0x984b('0x43')]?_0x55f8d3[_0x984b('0x41')]:_0x240fda[_0x984b('0x3c')];_0x55f8d3[_0x984b('0x46')]=qs[_0x984b('0x47')](_0x5312e0[_0x984b('0x40')][_0x984b('0x47')]);_0x55f8d3[_0x984b('0x4a')]=qs[_0x984b('0x3e')](_['pick'](_0x5312e0[_0x984b('0x40')],_0x240fda[_0x984b('0x3e')]));if(_0x5312e0[_0x984b('0x40')][_0x984b('0x49')]){_0x55f8d3[_0x984b('0x4a')]=_[_0x984b('0x4b')](_0x55f8d3['where'],{'$or':_['map'](_0x55f8d3['attributes'],function(_0x25e332){var _0x2f3ef1={};_0x2f3ef1[_0x25e332]={'$like':'%'+_0x5312e0[_0x984b('0x40')][_0x984b('0x49')]+'%'};return _0x2f3ef1;})});}_0x55f8d3=_[_0x984b('0x4b')]({},_0x55f8d3,_0x5312e0['options']);return _0xb1e7fe[_0x984b('0x55')](_0x55f8d3);}})['then'](function(_0x48ab0b){if(_0x48ab0b){_0x3ab2a9=_0x48ab0b[_0x984b('0x43')];if(!_0x5312e0[_0x984b('0x40')][_0x984b('0x56')](_0x984b('0x44'))){_0x55f8d3['limit']=qs[_0x984b('0x45')](_0x5312e0[_0x984b('0x40')]['limit']);_0x55f8d3[_0x984b('0x2d')]=qs[_0x984b('0x2d')](_0x5312e0[_0x984b('0x40')]['offset']);}return _0xb1e7fe[_0x984b('0x55')](_0x55f8d3);}})['then'](function(_0x34dfbd){if(_0x34dfbd){return _0x34dfbd?{'count':_0x3ab2a9,'rows':_0x34dfbd}:null;}})['then'](respondWithResult(_0x39c7de,null))[_0x984b('0x28')](handleError(_0x39c7de,null));};exports['getSubjects']=function(_0xaf347c,_0x5a97d2,_0x3ba122){var _0xd5054a={};var _0x1af077={};var _0x110c4e;var _0x5d0d99;return db[_0x984b('0x4e')][_0x984b('0x57')]({'where':{'id':_0xaf347c[_0x984b('0x54')]['id']}})['then'](handleEntityNotFound(_0x5a97d2,null))[_0x984b('0x1d')](function(_0x2356b0){if(_0x2356b0){_0x110c4e=_0x2356b0;_0x1af077[_0x984b('0x3c')]=_['keys'](db[_0x984b('0x58')][_0x984b('0x38')]);_0x1af077[_0x984b('0x40')]=_['keys'](_0xaf347c[_0x984b('0x40')]);_0x1af077[_0x984b('0x3e')]=_[_0x984b('0x3f')](_0x1af077[_0x984b('0x3c')],_0x1af077[_0x984b('0x40')]);_0xd5054a[_0x984b('0x41')]=_['intersection'](_0x1af077['model'],qs[_0x984b('0x42')](_0xaf347c['query'][_0x984b('0x42')]));_0xd5054a[_0x984b('0x41')]=_0xd5054a[_0x984b('0x41')][_0x984b('0x43')]?_0xd5054a[_0x984b('0x41')]:_0x1af077[_0x984b('0x3c')];_0xd5054a['order']=qs['sort'](_0xaf347c['query']['sort']);_0xd5054a[_0x984b('0x4a')]=qs[_0x984b('0x3e')](_[_0x984b('0x48')](_0xaf347c[_0x984b('0x40')],_0x1af077[_0x984b('0x3e')]));if(_0xaf347c[_0x984b('0x40')][_0x984b('0x49')]){_0xd5054a[_0x984b('0x4a')]=_[_0x984b('0x4b')](_0xd5054a[_0x984b('0x4a')],{'$or':_['map'](_0xd5054a['attributes'],function(_0xccdf27){var _0x3386d2={};_0x3386d2[_0xccdf27]={'$like':'%'+_0xaf347c[_0x984b('0x40')][_0x984b('0x49')]+'%'};return _0x3386d2;})});}_0xd5054a=_[_0x984b('0x4b')]({},_0xd5054a,_0xaf347c['options']);return _0x110c4e[_0x984b('0x59')](_0xd5054a);}})[_0x984b('0x1d')](function(_0x12b99c){if(_0x12b99c){_0x5d0d99=_0x12b99c[_0x984b('0x43')];if(!_0xaf347c[_0x984b('0x40')][_0x984b('0x56')](_0x984b('0x44'))){_0xd5054a[_0x984b('0x45')]=qs[_0x984b('0x45')](_0xaf347c[_0x984b('0x40')][_0x984b('0x45')]);_0xd5054a[_0x984b('0x2d')]=qs[_0x984b('0x2d')](_0xaf347c[_0x984b('0x40')][_0x984b('0x2d')]);}return _0x110c4e[_0x984b('0x59')](_0xd5054a);}})['then'](function(_0x949712){if(_0x949712){return _0x949712?{'count':_0x5d0d99,'rows':_0x949712}:null;}})[_0x984b('0x1d')](respondWithResult(_0x5a97d2,null))[_0x984b('0x28')](handleError(_0x5a97d2,null));};exports['getDescriptions']=function(_0x33f96c,_0x2195fc,_0x1f027d){var _0x386386={};var _0x34d136={};var _0x495712;var _0x323f37;return db['Dynamics365Configuration'][_0x984b('0x57')]({'where':{'id':_0x33f96c[_0x984b('0x54')]['id']}})[_0x984b('0x1d')](handleEntityNotFound(_0x2195fc,null))[_0x984b('0x1d')](function(_0x472624){if(_0x472624){_0x495712=_0x472624;_0x34d136[_0x984b('0x3c')]=_['keys'](db[_0x984b('0x58')][_0x984b('0x38')]);_0x34d136['query']=_['keys'](_0x33f96c[_0x984b('0x40')]);_0x34d136[_0x984b('0x3e')]=_[_0x984b('0x3f')](_0x34d136['model'],_0x34d136[_0x984b('0x40')]);_0x386386['attributes']=_[_0x984b('0x3f')](_0x34d136[_0x984b('0x3c')],qs[_0x984b('0x42')](_0x33f96c[_0x984b('0x40')][_0x984b('0x42')]));_0x386386[_0x984b('0x41')]=_0x386386[_0x984b('0x41')][_0x984b('0x43')]?_0x386386[_0x984b('0x41')]:_0x34d136[_0x984b('0x3c')];_0x386386[_0x984b('0x46')]=qs[_0x984b('0x47')](_0x33f96c[_0x984b('0x40')][_0x984b('0x47')]);_0x386386['where']=qs[_0x984b('0x3e')](_[_0x984b('0x48')](_0x33f96c['query'],_0x34d136[_0x984b('0x3e')]));if(_0x33f96c[_0x984b('0x40')][_0x984b('0x49')]){_0x386386[_0x984b('0x4a')]=_[_0x984b('0x4b')](_0x386386[_0x984b('0x4a')],{'$or':_[_0x984b('0x37')](_0x386386[_0x984b('0x41')],function(_0x258564){var _0xa0e86={};_0xa0e86[_0x258564]={'$like':'%'+_0x33f96c[_0x984b('0x40')][_0x984b('0x49')]+'%'};return _0xa0e86;})});}_0x386386=_[_0x984b('0x4b')]({},_0x386386,_0x33f96c['options']);return _0x495712[_0x984b('0x5a')](_0x386386);}})[_0x984b('0x1d')](function(_0xc5f257){if(_0xc5f257){_0x323f37=_0xc5f257[_0x984b('0x43')];if(!_0x33f96c[_0x984b('0x40')][_0x984b('0x56')](_0x984b('0x44'))){_0x386386['limit']=qs[_0x984b('0x45')](_0x33f96c[_0x984b('0x40')][_0x984b('0x45')]);_0x386386[_0x984b('0x2d')]=qs[_0x984b('0x2d')](_0x33f96c[_0x984b('0x40')]['offset']);}return _0x495712[_0x984b('0x5a')](_0x386386);}})['then'](function(_0x47c9f3){if(_0x47c9f3){return _0x47c9f3?{'count':_0x323f37,'rows':_0x47c9f3}:null;}})[_0x984b('0x1d')](respondWithResult(_0x2195fc,null))[_0x984b('0x28')](handleError(_0x2195fc,null));};