Built motion from commit (unavailable).|2.5.15
[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 _0xd428=['result','catch','sendStatus','status','end','offset','set','Content-Range','reject','stack','name','send','index','map','rawAttributes','type','key','model','query','keys','intersection','attributes','fields','hasOwnProperty','limit','order','sort','filters','pick','filter','merge','VIRTUAL','options','where','Dynamics365Configuration','count','include','findAll','rows','show','params','includeAll','find','create','body','findOne','Dynamics365Field','length','getFields','nolimit','getSubjects','getDescriptions','eml-format','rimraf','zip-dir','fast-json-patch','bluebird','util','sox','to-csv','ejs','lodash','squel','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','jayson/promise','client','http','then','info','Dynamics365Configuration,\x20%s,\x20%s','request\x20sent','debug','Dynamics365Configuration,\x20%s,\x20%s,\x20%s','error','message'];(function(_0x11b5ec,_0x3f0786){var _0x13770b=function(_0x3a1bde){while(--_0x3a1bde){_0x11b5ec['push'](_0x11b5ec['shift']());}};_0x13770b(++_0x3f0786);}(_0xd428,0x188));var _0x8d42=function(_0x1ed033,_0x404c58){_0x1ed033=_0x1ed033-0x0;var _0x38561f=_0xd428[_0x1ed033];return _0x38561f;};'use strict';var pdf=require('html-pdf');var emlformat=require(_0x8d42('0x0'));var rimraf=require(_0x8d42('0x1'));var zipdir=require(_0x8d42('0x2'));var jsonpatch=require(_0x8d42('0x3'));var rp=require('request-promise');var moment=require('moment');var BPromise=require(_0x8d42('0x4'));var Mustache=require('mustache');var util=require(_0x8d42('0x5'));var path=require('path');var sox=require(_0x8d42('0x6'));var csv=require(_0x8d42('0x7'));var ejs=require(_0x8d42('0x8'));var fs=require('fs');var _=require(_0x8d42('0x9'));var squel=require(_0x8d42('0xa'));var crypto=require('crypto');var jsforce=require('jsforce');var deskjs=require('desk.js');var toCsv=require(_0x8d42('0x7'));var querystring=require('querystring');var Papa=require(_0x8d42('0xb'));var Redis=require(_0x8d42('0xc'));var authService=require(_0x8d42('0xd'));var qs=require(_0x8d42('0xe'));var as=require(_0x8d42('0xf'));var hardwareService=require(_0x8d42('0x10'));var logger=require(_0x8d42('0x11'))(_0x8d42('0x12'));var utils=require(_0x8d42('0x13'));var config=require(_0x8d42('0x14'));var licenseUtil=require(_0x8d42('0x15'));var db=require('../../mysqldb')['db'];var jayson=require(_0x8d42('0x16'));var client=jayson[_0x8d42('0x17')][_0x8d42('0x18')]({'port':0x232a});function respondWithRpcPromise(_0x5136ac,_0x5d272a,_0x59e4c4,_0x4e163a){return new BPromise(function(_0x4bad5c,_0x5aa502){var _0xf50466=_0x4e163a||client;return _0xf50466['request'](_0x5136ac,_0x59e4c4)[_0x8d42('0x19')](function(_0x45f070){logger[_0x8d42('0x1a')](_0x8d42('0x1b'),_0x5d272a,_0x8d42('0x1c'));logger[_0x8d42('0x1d')](_0x8d42('0x1e'),_0x5d272a,_0x8d42('0x1c'),JSON['stringify'](_0x45f070));if(_0x45f070['error']){if(_0x45f070['error']['code']===0x1f4){logger[_0x8d42('0x1f')](_0x8d42('0x1b'),_0x5d272a,_0x45f070[_0x8d42('0x1f')][_0x8d42('0x20')]);return _0x5aa502(_0x45f070['error'][_0x8d42('0x20')]);}logger['error'](_0x8d42('0x1b'),_0x5d272a,_0x45f070[_0x8d42('0x1f')][_0x8d42('0x20')]);return _0x4bad5c(_0x45f070['error']['message']);}else{logger[_0x8d42('0x1a')]('Dynamics365Configuration,\x20%s,\x20%s',_0x5d272a,_0x8d42('0x1c'));_0x4bad5c(_0x45f070[_0x8d42('0x21')]['message']);}})[_0x8d42('0x22')](function(_0x1214ee){logger[_0x8d42('0x1f')](_0x8d42('0x1b'),_0x5d272a,_0x1214ee);_0x5aa502(_0x1214ee);});});}function respondWithStatusCode(_0x47356a,_0x269e23){_0x269e23=_0x269e23||0xcc;return function(_0x7f50e8){if(_0x7f50e8){return _0x47356a[_0x8d42('0x23')](_0x269e23);}return _0x47356a[_0x8d42('0x24')](_0x269e23)[_0x8d42('0x25')]();};}function respondWithResult(_0x5bcf9d,_0x40ad63){_0x40ad63=_0x40ad63||0xc8;return function(_0xd24864){if(_0xd24864){return _0x5bcf9d[_0x8d42('0x24')](_0x40ad63)['json'](_0xd24864);}};}function respondWithFilteredResult(_0x5e85eb,_0x4ef993){return function(_0x2b6666){if(_0x2b6666){var _0x12526d=_0x2b6666['count'],_0x220bb0=_0x4ef993[_0x8d42('0x26')],_0x49cfdf=_0x4ef993['offset']+_0x4ef993['limit'],_0x247e2d;if(_0x49cfdf>=_0x12526d){_0x49cfdf=_0x12526d;_0x247e2d=0xc8;}else{_0x247e2d=0xce;}_0x5e85eb[_0x8d42('0x24')](_0x247e2d);return _0x5e85eb[_0x8d42('0x27')](_0x8d42('0x28'),_0x220bb0+'-'+_0x49cfdf+'/'+_0x12526d)['json'](_0x2b6666);}return null;};}function patchUpdates(_0x412483){return function(_0x3c7e09){try{jsonpatch['apply'](_0x3c7e09,_0x412483,!![]);}catch(_0x4ecd96){return BPromise[_0x8d42('0x29')](_0x4ecd96);}return _0x3c7e09['save']();};}function saveUpdates(_0x39717b,_0x357447){return function(_0x27ef71){if(_0x27ef71){return _0x27ef71['update'](_0x39717b)[_0x8d42('0x19')](function(_0x15fcca){return _0x15fcca;});}return null;};}function removeEntity(_0x139d04,_0x175295){return function(_0x3242d7){if(_0x3242d7){return _0x3242d7['destroy']()[_0x8d42('0x19')](function(){_0x139d04[_0x8d42('0x24')](0xcc)['end']();});}};}function handleEntityNotFound(_0x41fa07,_0x4b8063){return function(_0x2b7c4c){if(!_0x2b7c4c){_0x41fa07[_0x8d42('0x23')](0x194);}return _0x2b7c4c;};}function handleError(_0x2918b9,_0x4a8d41){_0x4a8d41=_0x4a8d41||0x1f4;return function(_0x3cfa55){logger[_0x8d42('0x1f')](_0x3cfa55[_0x8d42('0x2a')]);if(_0x3cfa55[_0x8d42('0x2b')]){delete _0x3cfa55[_0x8d42('0x2b')];}_0x2918b9[_0x8d42('0x24')](_0x4a8d41)[_0x8d42('0x2c')](_0x3cfa55);};}exports[_0x8d42('0x2d')]=function(_0x31f2bb,_0x57a175){var _0x55fd64={},_0x2b40bd={},_0x59c2fc={'count':0x0,'rows':[]};var _0x168048=_[_0x8d42('0x2e')](db['Dynamics365Configuration'][_0x8d42('0x2f')],function(_0x2b1d32){return{'name':_0x2b1d32['fieldName'],'type':_0x2b1d32[_0x8d42('0x30')][_0x8d42('0x31')]};});_0x2b40bd[_0x8d42('0x32')]=_[_0x8d42('0x2e')](_0x168048,_0x8d42('0x2b'));_0x2b40bd[_0x8d42('0x33')]=_[_0x8d42('0x34')](_0x31f2bb['query']);_0x2b40bd['filters']=_[_0x8d42('0x35')](_0x2b40bd[_0x8d42('0x32')],_0x2b40bd[_0x8d42('0x33')]);_0x55fd64[_0x8d42('0x36')]=_['intersection'](_0x2b40bd[_0x8d42('0x32')],qs[_0x8d42('0x37')](_0x31f2bb[_0x8d42('0x33')]['fields']));_0x55fd64[_0x8d42('0x36')]=_0x55fd64[_0x8d42('0x36')]['length']?_0x55fd64[_0x8d42('0x36')]:_0x2b40bd[_0x8d42('0x32')];if(!_0x31f2bb[_0x8d42('0x33')][_0x8d42('0x38')]('nolimit')){_0x55fd64[_0x8d42('0x39')]=qs[_0x8d42('0x39')](_0x31f2bb['query'][_0x8d42('0x39')]);_0x55fd64['offset']=qs[_0x8d42('0x26')](_0x31f2bb[_0x8d42('0x33')][_0x8d42('0x26')]);}_0x55fd64[_0x8d42('0x3a')]=qs[_0x8d42('0x3b')](_0x31f2bb[_0x8d42('0x33')]['sort']);_0x55fd64['where']=qs[_0x8d42('0x3c')](_[_0x8d42('0x3d')](_0x31f2bb['query'],_0x2b40bd[_0x8d42('0x3c')]),_0x168048);if(_0x31f2bb[_0x8d42('0x33')][_0x8d42('0x3e')]){_0x55fd64['where']=_[_0x8d42('0x3f')](_0x55fd64['where'],{'$or':_[_0x8d42('0x2e')](_0x168048,function(_0x19d708){if(_0x19d708[_0x8d42('0x30')]!==_0x8d42('0x40')){var _0x4c3602={};_0x4c3602[_0x19d708[_0x8d42('0x2b')]]={'$like':'%'+_0x31f2bb['query'][_0x8d42('0x3e')]+'%'};return _0x4c3602;}})});}_0x55fd64=_[_0x8d42('0x3f')]({},_0x55fd64,_0x31f2bb[_0x8d42('0x41')]);var _0x11a0c4={'where':_0x55fd64[_0x8d42('0x42')]};return db[_0x8d42('0x43')][_0x8d42('0x44')](_0x11a0c4)[_0x8d42('0x19')](function(_0x286f91){_0x59c2fc['count']=_0x286f91;if(_0x31f2bb[_0x8d42('0x33')]['includeAll']){_0x55fd64[_0x8d42('0x45')]=[{'all':!![]}];}return db['Dynamics365Configuration'][_0x8d42('0x46')](_0x55fd64);})[_0x8d42('0x19')](function(_0x3c76e9){_0x59c2fc[_0x8d42('0x47')]=_0x3c76e9;return _0x59c2fc;})['then'](respondWithFilteredResult(_0x57a175,_0x55fd64))[_0x8d42('0x22')](handleError(_0x57a175,null));};exports[_0x8d42('0x48')]=function(_0x58d753,_0x38cb0d){var _0xb39ae={'raw':![],'where':{'id':_0x58d753[_0x8d42('0x49')]['id']}},_0x3e1c45={};_0x3e1c45[_0x8d42('0x32')]=_[_0x8d42('0x34')](db[_0x8d42('0x43')][_0x8d42('0x2f')]);_0x3e1c45[_0x8d42('0x33')]=_[_0x8d42('0x34')](_0x58d753[_0x8d42('0x33')]);_0x3e1c45[_0x8d42('0x3c')]=_[_0x8d42('0x35')](_0x3e1c45[_0x8d42('0x32')],_0x3e1c45[_0x8d42('0x33')]);_0xb39ae[_0x8d42('0x36')]=_['intersection'](_0x3e1c45[_0x8d42('0x32')],qs[_0x8d42('0x37')](_0x58d753[_0x8d42('0x33')]['fields']));_0xb39ae[_0x8d42('0x36')]=_0xb39ae['attributes']['length']?_0xb39ae[_0x8d42('0x36')]:_0x3e1c45[_0x8d42('0x32')];if(_0x58d753['query'][_0x8d42('0x4a')]){_0xb39ae[_0x8d42('0x45')]=[{'all':!![]}];}_0xb39ae=_[_0x8d42('0x3f')]({},_0xb39ae,_0x58d753['options']);return db['Dynamics365Configuration'][_0x8d42('0x4b')](_0xb39ae)[_0x8d42('0x19')](handleEntityNotFound(_0x38cb0d,null))[_0x8d42('0x19')](respondWithResult(_0x38cb0d,null))[_0x8d42('0x22')](handleError(_0x38cb0d,null));};exports[_0x8d42('0x4c')]=function(_0x498209,_0x54b6cb){return db['Dynamics365Configuration'][_0x8d42('0x4c')](_0x498209[_0x8d42('0x4d')],{})['then'](respondWithResult(_0x54b6cb,0xc9))[_0x8d42('0x22')](handleError(_0x54b6cb,null));};exports['update']=function(_0x38f160,_0x362df7){if(_0x38f160[_0x8d42('0x4d')]['id']){delete _0x38f160[_0x8d42('0x4d')]['id'];}return db[_0x8d42('0x43')][_0x8d42('0x4b')]({'where':{'id':_0x38f160[_0x8d42('0x49')]['id']}})[_0x8d42('0x19')](handleEntityNotFound(_0x362df7,null))['then'](saveUpdates(_0x38f160[_0x8d42('0x4d')],null))['then'](respondWithResult(_0x362df7,null))['catch'](handleError(_0x362df7,null));};exports['destroy']=function(_0x5809d0,_0x3cff33){return db[_0x8d42('0x43')][_0x8d42('0x4b')]({'where':{'id':_0x5809d0[_0x8d42('0x49')]['id']}})[_0x8d42('0x19')](handleEntityNotFound(_0x3cff33,null))[_0x8d42('0x19')](removeEntity(_0x3cff33,null))[_0x8d42('0x22')](handleError(_0x3cff33,null));};exports['getFields']=function(_0x2e1e50,_0x3ce9c9,_0x188e07){var _0x427223={};var _0x135443={};var _0x39e376;var _0x37b6c2;return db['Dynamics365Configuration'][_0x8d42('0x4e')]({'where':{'id':_0x2e1e50['params']['id']}})[_0x8d42('0x19')](handleEntityNotFound(_0x3ce9c9,null))[_0x8d42('0x19')](function(_0x26cf3a){if(_0x26cf3a){_0x39e376=_0x26cf3a;_0x135443[_0x8d42('0x32')]=_[_0x8d42('0x34')](db[_0x8d42('0x4f')][_0x8d42('0x2f')]);_0x135443['query']=_[_0x8d42('0x34')](_0x2e1e50[_0x8d42('0x33')]);_0x135443['filters']=_['intersection'](_0x135443[_0x8d42('0x32')],_0x135443[_0x8d42('0x33')]);_0x427223[_0x8d42('0x36')]=_[_0x8d42('0x35')](_0x135443['model'],qs[_0x8d42('0x37')](_0x2e1e50[_0x8d42('0x33')][_0x8d42('0x37')]));_0x427223[_0x8d42('0x36')]=_0x427223[_0x8d42('0x36')][_0x8d42('0x50')]?_0x427223[_0x8d42('0x36')]:_0x135443[_0x8d42('0x32')];_0x427223[_0x8d42('0x3a')]=qs['sort'](_0x2e1e50[_0x8d42('0x33')][_0x8d42('0x3b')]);_0x427223[_0x8d42('0x42')]=qs[_0x8d42('0x3c')](_[_0x8d42('0x3d')](_0x2e1e50[_0x8d42('0x33')],_0x135443[_0x8d42('0x3c')]));if(_0x2e1e50['query']['filter']){_0x427223[_0x8d42('0x42')]=_[_0x8d42('0x3f')](_0x427223['where'],{'$or':_[_0x8d42('0x2e')](_0x427223[_0x8d42('0x36')],function(_0x32485e){var _0x5ed56c={};_0x5ed56c[_0x32485e]={'$like':'%'+_0x2e1e50[_0x8d42('0x33')][_0x8d42('0x3e')]+'%'};return _0x5ed56c;})});}_0x427223=_[_0x8d42('0x3f')]({},_0x427223,_0x2e1e50['options']);return _0x39e376[_0x8d42('0x51')](_0x427223);}})['then'](function(_0x220f1f){if(_0x220f1f){_0x37b6c2=_0x220f1f[_0x8d42('0x50')];if(!_0x2e1e50[_0x8d42('0x33')][_0x8d42('0x38')](_0x8d42('0x52'))){_0x427223[_0x8d42('0x39')]=qs[_0x8d42('0x39')](_0x2e1e50[_0x8d42('0x33')][_0x8d42('0x39')]);_0x427223[_0x8d42('0x26')]=qs['offset'](_0x2e1e50['query'][_0x8d42('0x26')]);}return _0x39e376[_0x8d42('0x51')](_0x427223);}})[_0x8d42('0x19')](function(_0x1be93f){if(_0x1be93f){return _0x1be93f?{'count':_0x37b6c2,'rows':_0x1be93f}:null;}})['then'](respondWithResult(_0x3ce9c9,null))[_0x8d42('0x22')](handleError(_0x3ce9c9,null));};exports[_0x8d42('0x53')]=function(_0x4e08df,_0x4a5e5d,_0x645a6e){var _0x27ed27={};var _0x5871af={};var _0x2bc806;var _0x437d27;return db[_0x8d42('0x43')][_0x8d42('0x4e')]({'where':{'id':_0x4e08df[_0x8d42('0x49')]['id']}})[_0x8d42('0x19')](handleEntityNotFound(_0x4a5e5d,null))['then'](function(_0x2a08a1){if(_0x2a08a1){_0x2bc806=_0x2a08a1;_0x5871af[_0x8d42('0x32')]=_[_0x8d42('0x34')](db[_0x8d42('0x4f')][_0x8d42('0x2f')]);_0x5871af[_0x8d42('0x33')]=_[_0x8d42('0x34')](_0x4e08df[_0x8d42('0x33')]);_0x5871af[_0x8d42('0x3c')]=_[_0x8d42('0x35')](_0x5871af['model'],_0x5871af['query']);_0x27ed27[_0x8d42('0x36')]=_[_0x8d42('0x35')](_0x5871af[_0x8d42('0x32')],qs['fields'](_0x4e08df[_0x8d42('0x33')][_0x8d42('0x37')]));_0x27ed27[_0x8d42('0x36')]=_0x27ed27[_0x8d42('0x36')]['length']?_0x27ed27[_0x8d42('0x36')]:_0x5871af['model'];_0x27ed27[_0x8d42('0x3a')]=qs[_0x8d42('0x3b')](_0x4e08df[_0x8d42('0x33')][_0x8d42('0x3b')]);_0x27ed27[_0x8d42('0x42')]=qs[_0x8d42('0x3c')](_['pick'](_0x4e08df['query'],_0x5871af['filters']));if(_0x4e08df[_0x8d42('0x33')]['filter']){_0x27ed27['where']=_[_0x8d42('0x3f')](_0x27ed27[_0x8d42('0x42')],{'$or':_[_0x8d42('0x2e')](_0x27ed27[_0x8d42('0x36')],function(_0x2215cc){var _0x5295cd={};_0x5295cd[_0x2215cc]={'$like':'%'+_0x4e08df[_0x8d42('0x33')]['filter']+'%'};return _0x5295cd;})});}_0x27ed27=_[_0x8d42('0x3f')]({},_0x27ed27,_0x4e08df['options']);return _0x2bc806[_0x8d42('0x53')](_0x27ed27);}})[_0x8d42('0x19')](function(_0x38287){if(_0x38287){_0x437d27=_0x38287[_0x8d42('0x50')];if(!_0x4e08df[_0x8d42('0x33')]['hasOwnProperty'](_0x8d42('0x52'))){_0x27ed27[_0x8d42('0x39')]=qs[_0x8d42('0x39')](_0x4e08df[_0x8d42('0x33')][_0x8d42('0x39')]);_0x27ed27[_0x8d42('0x26')]=qs['offset'](_0x4e08df['query'][_0x8d42('0x26')]);}return _0x2bc806[_0x8d42('0x53')](_0x27ed27);}})['then'](function(_0x2932ce){if(_0x2932ce){return _0x2932ce?{'count':_0x437d27,'rows':_0x2932ce}:null;}})['then'](respondWithResult(_0x4a5e5d,null))[_0x8d42('0x22')](handleError(_0x4a5e5d,null));};exports[_0x8d42('0x54')]=function(_0x3dd2a5,_0x3895b7,_0x148b73){var _0x5d6352={};var _0xf4b0f2={};var _0x1f3341;var _0x2c329e;return db[_0x8d42('0x43')][_0x8d42('0x4e')]({'where':{'id':_0x3dd2a5['params']['id']}})[_0x8d42('0x19')](handleEntityNotFound(_0x3895b7,null))['then'](function(_0x24e770){if(_0x24e770){_0x1f3341=_0x24e770;_0xf4b0f2[_0x8d42('0x32')]=_[_0x8d42('0x34')](db[_0x8d42('0x4f')][_0x8d42('0x2f')]);_0xf4b0f2[_0x8d42('0x33')]=_[_0x8d42('0x34')](_0x3dd2a5['query']);_0xf4b0f2[_0x8d42('0x3c')]=_[_0x8d42('0x35')](_0xf4b0f2[_0x8d42('0x32')],_0xf4b0f2['query']);_0x5d6352[_0x8d42('0x36')]=_[_0x8d42('0x35')](_0xf4b0f2[_0x8d42('0x32')],qs[_0x8d42('0x37')](_0x3dd2a5[_0x8d42('0x33')][_0x8d42('0x37')]));_0x5d6352[_0x8d42('0x36')]=_0x5d6352[_0x8d42('0x36')][_0x8d42('0x50')]?_0x5d6352[_0x8d42('0x36')]:_0xf4b0f2['model'];_0x5d6352[_0x8d42('0x3a')]=qs['sort'](_0x3dd2a5[_0x8d42('0x33')][_0x8d42('0x3b')]);_0x5d6352['where']=qs[_0x8d42('0x3c')](_[_0x8d42('0x3d')](_0x3dd2a5[_0x8d42('0x33')],_0xf4b0f2[_0x8d42('0x3c')]));if(_0x3dd2a5[_0x8d42('0x33')][_0x8d42('0x3e')]){_0x5d6352['where']=_[_0x8d42('0x3f')](_0x5d6352[_0x8d42('0x42')],{'$or':_['map'](_0x5d6352['attributes'],function(_0x19d4b9){var _0x183e60={};_0x183e60[_0x19d4b9]={'$like':'%'+_0x3dd2a5['query'][_0x8d42('0x3e')]+'%'};return _0x183e60;})});}_0x5d6352=_['merge']({},_0x5d6352,_0x3dd2a5[_0x8d42('0x41')]);return _0x1f3341[_0x8d42('0x54')](_0x5d6352);}})[_0x8d42('0x19')](function(_0x250853){if(_0x250853){_0x2c329e=_0x250853[_0x8d42('0x50')];if(!_0x3dd2a5[_0x8d42('0x33')][_0x8d42('0x38')]('nolimit')){_0x5d6352['limit']=qs[_0x8d42('0x39')](_0x3dd2a5[_0x8d42('0x33')][_0x8d42('0x39')]);_0x5d6352[_0x8d42('0x26')]=qs[_0x8d42('0x26')](_0x3dd2a5[_0x8d42('0x33')][_0x8d42('0x26')]);}return _0x1f3341[_0x8d42('0x54')](_0x5d6352);}})['then'](function(_0x5a8654){if(_0x5a8654){return _0x5a8654?{'count':_0x2c329e,'rows':_0x5a8654}:null;}})['then'](respondWithResult(_0x3895b7,null))[_0x8d42('0x22')](handleError(_0x3895b7,null));};