Built motion from commit 87cd5f02.|2.5.48
[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 _0x3b31=['options','getDescriptions','eml-format','rimraf','fast-json-patch','request-promise','bluebird','util','path','lodash','squel','crypto','jsforce','desk.js','to-csv','querystring','ioredis','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','status','end','json','offset','undefined','count','limit','set','Content-Range','update','then','error','name','send','index','map','rawAttributes','fieldName','type','key','model','query','filters','intersection','fields','attributes','hasOwnProperty','sort','filter','where','merge','Dynamics365Configuration','includeAll','include','findAll','rows','catch','show','keys','length','create','body','find','params','destroy','findOne','Dynamics365Field','pick','getFields','nolimit','getSubjects'];(function(_0x564dd6,_0x1f0658){var _0x295866=function(_0x1ce857){while(--_0x1ce857){_0x564dd6['push'](_0x564dd6['shift']());}};_0x295866(++_0x1f0658);}(_0x3b31,0xe6));var _0x13b3=function(_0x44c547,_0xebb486){_0x44c547=_0x44c547-0x0;var _0x572484=_0x3b31[_0x44c547];return _0x572484;};'use strict';var emlformat=require(_0x13b3('0x0'));var rimraf=require(_0x13b3('0x1'));var zipdir=require('zip-dir');var jsonpatch=require(_0x13b3('0x2'));var rp=require(_0x13b3('0x3'));var moment=require('moment');var BPromise=require(_0x13b3('0x4'));var Mustache=require('mustache');var util=require(_0x13b3('0x5'));var path=require(_0x13b3('0x6'));var sox=require('sox');var csv=require('to-csv');var ejs=require('ejs');var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0x13b3('0x7'));var squel=require(_0x13b3('0x8'));var crypto=require(_0x13b3('0x9'));var jsforce=require(_0x13b3('0xa'));var deskjs=require(_0x13b3('0xb'));var toCsv=require(_0x13b3('0xc'));var querystring=require(_0x13b3('0xd'));var Papa=require('papaparse');var Redis=require(_0x13b3('0xe'));var authService=require('../../components/auth/service');var qs=require('../../components/parsers/qs');var as=require(_0x13b3('0xf'));var hardwareService=require(_0x13b3('0x10'));var logger=require(_0x13b3('0x11'))(_0x13b3('0x12'));var utils=require(_0x13b3('0x13'));var config=require(_0x13b3('0x14'));var licenseUtil=require(_0x13b3('0x15'));var db=require(_0x13b3('0x16'))['db'];function respondWithStatusCode(_0x57c6da,_0xca7607){_0xca7607=_0xca7607||0xcc;return function(_0x51068f){if(_0x51068f){return _0x57c6da['sendStatus'](_0xca7607);}return _0x57c6da[_0x13b3('0x17')](_0xca7607)[_0x13b3('0x18')]();};}function respondWithResult(_0x3eaccc,_0x4cf0be){_0x4cf0be=_0x4cf0be||0xc8;return function(_0xe1cc25){if(_0xe1cc25){return _0x3eaccc[_0x13b3('0x17')](_0x4cf0be)[_0x13b3('0x19')](_0xe1cc25);}};}function respondWithFilteredResult(_0x5bbe,_0x19e192){return function(_0x26dfef){if(_0x26dfef){var _0x1a3a0c=typeof _0x19e192[_0x13b3('0x1a')]===_0x13b3('0x1b')&&typeof _0x19e192['limit']===_0x13b3('0x1b');var _0x5f59a8=_0x26dfef[_0x13b3('0x1c')];var _0x25378c=_0x1a3a0c?0x0:_0x19e192[_0x13b3('0x1a')];var _0x53bcf6=_0x1a3a0c?_0x26dfef[_0x13b3('0x1c')]:_0x19e192[_0x13b3('0x1a')]+_0x19e192[_0x13b3('0x1d')];var _0x5b3362;if(_0x53bcf6>=_0x5f59a8){_0x53bcf6=_0x5f59a8;_0x5b3362=0xc8;}else{_0x5b3362=0xce;}_0x5bbe['status'](_0x5b3362);return _0x5bbe[_0x13b3('0x1e')](_0x13b3('0x1f'),_0x25378c+'-'+_0x53bcf6+'/'+_0x5f59a8)[_0x13b3('0x19')](_0x26dfef);}return null;};}function patchUpdates(_0x32ad18){return function(_0x4d8e35){try{jsonpatch['apply'](_0x4d8e35,_0x32ad18,!![]);}catch(_0x10c5e9){return BPromise['reject'](_0x10c5e9);}return _0x4d8e35['save']();};}function saveUpdates(_0x21cde2,_0x564ce6){return function(_0x1c5162){if(_0x1c5162){return _0x1c5162[_0x13b3('0x20')](_0x21cde2)[_0x13b3('0x21')](function(_0x12d5b5){return _0x12d5b5;});}return null;};}function removeEntity(_0x2533f2,_0x22c8c6){return function(_0x579c9e){if(_0x579c9e){return _0x579c9e['destroy']()[_0x13b3('0x21')](function(){_0x2533f2[_0x13b3('0x17')](0xcc)[_0x13b3('0x18')]();});}};}function handleEntityNotFound(_0x347cdf,_0x5b41bf){return function(_0x2ab34b){if(!_0x2ab34b){_0x347cdf['sendStatus'](0x194);}return _0x2ab34b;};}function handleError(_0x2250e6,_0x11382d){_0x11382d=_0x11382d||0x1f4;return function(_0x4eb145){logger[_0x13b3('0x22')](_0x4eb145['stack']);if(_0x4eb145[_0x13b3('0x23')]){delete _0x4eb145['name'];}_0x2250e6[_0x13b3('0x17')](_0x11382d)[_0x13b3('0x24')](_0x4eb145);};}exports[_0x13b3('0x25')]=function(_0x465a23,_0x111e77){var _0x2ffdd9={},_0x4c7408={},_0x4eb74f={'count':0x0,'rows':[]};var _0x33d49d=_[_0x13b3('0x26')](db['Dynamics365Configuration'][_0x13b3('0x27')],function(_0x540684){return{'name':_0x540684[_0x13b3('0x28')],'type':_0x540684[_0x13b3('0x29')][_0x13b3('0x2a')]};});_0x4c7408[_0x13b3('0x2b')]=_[_0x13b3('0x26')](_0x33d49d,_0x13b3('0x23'));_0x4c7408[_0x13b3('0x2c')]=_['keys'](_0x465a23[_0x13b3('0x2c')]);_0x4c7408[_0x13b3('0x2d')]=_[_0x13b3('0x2e')](_0x4c7408[_0x13b3('0x2b')],_0x4c7408[_0x13b3('0x2c')]);_0x2ffdd9['attributes']=_[_0x13b3('0x2e')](_0x4c7408[_0x13b3('0x2b')],qs[_0x13b3('0x2f')](_0x465a23[_0x13b3('0x2c')][_0x13b3('0x2f')]));_0x2ffdd9[_0x13b3('0x30')]=_0x2ffdd9[_0x13b3('0x30')]['length']?_0x2ffdd9[_0x13b3('0x30')]:_0x4c7408[_0x13b3('0x2b')];if(!_0x465a23[_0x13b3('0x2c')][_0x13b3('0x31')]('nolimit')){_0x2ffdd9[_0x13b3('0x1d')]=qs[_0x13b3('0x1d')](_0x465a23[_0x13b3('0x2c')]['limit']);_0x2ffdd9[_0x13b3('0x1a')]=qs[_0x13b3('0x1a')](_0x465a23[_0x13b3('0x2c')]['offset']);}_0x2ffdd9['order']=qs[_0x13b3('0x32')](_0x465a23[_0x13b3('0x2c')][_0x13b3('0x32')]);_0x2ffdd9['where']=qs[_0x13b3('0x2d')](_['pick'](_0x465a23[_0x13b3('0x2c')],_0x4c7408[_0x13b3('0x2d')]),_0x33d49d);if(_0x465a23['query'][_0x13b3('0x33')]){_0x2ffdd9[_0x13b3('0x34')]=_['merge'](_0x2ffdd9['where'],{'$or':_[_0x13b3('0x26')](_0x33d49d,function(_0x205227){if(_0x205227['type']!=='VIRTUAL'){var _0x523ec2={};_0x523ec2[_0x205227[_0x13b3('0x23')]]={'$like':'%'+_0x465a23[_0x13b3('0x2c')][_0x13b3('0x33')]+'%'};return _0x523ec2;}})});}_0x2ffdd9=_[_0x13b3('0x35')]({},_0x2ffdd9,_0x465a23['options']);var _0x3617b6={'where':_0x2ffdd9[_0x13b3('0x34')]};return db[_0x13b3('0x36')][_0x13b3('0x1c')](_0x3617b6)['then'](function(_0x7d7db1){_0x4eb74f['count']=_0x7d7db1;if(_0x465a23[_0x13b3('0x2c')][_0x13b3('0x37')]){_0x2ffdd9[_0x13b3('0x38')]=[{'all':!![]}];}return db[_0x13b3('0x36')][_0x13b3('0x39')](_0x2ffdd9);})[_0x13b3('0x21')](function(_0x96feee){_0x4eb74f[_0x13b3('0x3a')]=_0x96feee;return _0x4eb74f;})['then'](respondWithFilteredResult(_0x111e77,_0x2ffdd9))[_0x13b3('0x3b')](handleError(_0x111e77,null));};exports[_0x13b3('0x3c')]=function(_0x5efd67,_0x2cc960){var _0x16785b={'raw':![],'where':{'id':_0x5efd67['params']['id']}},_0x5cf28d={};_0x5cf28d[_0x13b3('0x2b')]=_[_0x13b3('0x3d')](db[_0x13b3('0x36')]['rawAttributes']);_0x5cf28d[_0x13b3('0x2c')]=_[_0x13b3('0x3d')](_0x5efd67[_0x13b3('0x2c')]);_0x5cf28d[_0x13b3('0x2d')]=_[_0x13b3('0x2e')](_0x5cf28d[_0x13b3('0x2b')],_0x5cf28d[_0x13b3('0x2c')]);_0x16785b[_0x13b3('0x30')]=_['intersection'](_0x5cf28d[_0x13b3('0x2b')],qs[_0x13b3('0x2f')](_0x5efd67[_0x13b3('0x2c')][_0x13b3('0x2f')]));_0x16785b[_0x13b3('0x30')]=_0x16785b[_0x13b3('0x30')][_0x13b3('0x3e')]?_0x16785b[_0x13b3('0x30')]:_0x5cf28d['model'];if(_0x5efd67[_0x13b3('0x2c')]['includeAll']){_0x16785b[_0x13b3('0x38')]=[{'all':!![]}];}_0x16785b=_[_0x13b3('0x35')]({},_0x16785b,_0x5efd67['options']);return db[_0x13b3('0x36')]['find'](_0x16785b)[_0x13b3('0x21')](handleEntityNotFound(_0x2cc960,null))[_0x13b3('0x21')](respondWithResult(_0x2cc960,null))[_0x13b3('0x3b')](handleError(_0x2cc960,null));};exports[_0x13b3('0x3f')]=function(_0x51e57d,_0x4054d1){return db['Dynamics365Configuration'][_0x13b3('0x3f')](_0x51e57d[_0x13b3('0x40')],{})[_0x13b3('0x21')](respondWithResult(_0x4054d1,0xc9))[_0x13b3('0x3b')](handleError(_0x4054d1,null));};exports[_0x13b3('0x20')]=function(_0x115681,_0x42a8e0){if(_0x115681[_0x13b3('0x40')]['id']){delete _0x115681['body']['id'];}return db[_0x13b3('0x36')][_0x13b3('0x41')]({'where':{'id':_0x115681[_0x13b3('0x42')]['id']}})['then'](handleEntityNotFound(_0x42a8e0,null))[_0x13b3('0x21')](saveUpdates(_0x115681[_0x13b3('0x40')],null))[_0x13b3('0x21')](respondWithResult(_0x42a8e0,null))[_0x13b3('0x3b')](handleError(_0x42a8e0,null));};exports[_0x13b3('0x43')]=function(_0xc2be3,_0x208e21){return db['Dynamics365Configuration'][_0x13b3('0x41')]({'where':{'id':_0xc2be3[_0x13b3('0x42')]['id']}})[_0x13b3('0x21')](handleEntityNotFound(_0x208e21,null))[_0x13b3('0x21')](removeEntity(_0x208e21,null))[_0x13b3('0x3b')](handleError(_0x208e21,null));};exports['getFields']=function(_0xb237fa,_0x1f6bce,_0x44fc02){var _0x20d610={};var _0x373aa7={};var _0x5d760a;var _0x40f289;return db[_0x13b3('0x36')][_0x13b3('0x44')]({'where':{'id':_0xb237fa[_0x13b3('0x42')]['id']}})[_0x13b3('0x21')](handleEntityNotFound(_0x1f6bce,null))['then'](function(_0x57e481){if(_0x57e481){_0x5d760a=_0x57e481;_0x373aa7[_0x13b3('0x2b')]=_[_0x13b3('0x3d')](db[_0x13b3('0x45')]['rawAttributes']);_0x373aa7[_0x13b3('0x2c')]=_['keys'](_0xb237fa[_0x13b3('0x2c')]);_0x373aa7[_0x13b3('0x2d')]=_[_0x13b3('0x2e')](_0x373aa7[_0x13b3('0x2b')],_0x373aa7[_0x13b3('0x2c')]);_0x20d610[_0x13b3('0x30')]=_[_0x13b3('0x2e')](_0x373aa7[_0x13b3('0x2b')],qs[_0x13b3('0x2f')](_0xb237fa[_0x13b3('0x2c')][_0x13b3('0x2f')]));_0x20d610['attributes']=_0x20d610[_0x13b3('0x30')]['length']?_0x20d610['attributes']:_0x373aa7[_0x13b3('0x2b')];_0x20d610['order']=qs[_0x13b3('0x32')](_0xb237fa['query'][_0x13b3('0x32')]);_0x20d610[_0x13b3('0x34')]=qs[_0x13b3('0x2d')](_[_0x13b3('0x46')](_0xb237fa[_0x13b3('0x2c')],_0x373aa7['filters']));if(_0xb237fa['query'][_0x13b3('0x33')]){_0x20d610[_0x13b3('0x34')]=_[_0x13b3('0x35')](_0x20d610[_0x13b3('0x34')],{'$or':_[_0x13b3('0x26')](_0x20d610[_0x13b3('0x30')],function(_0x5ef562){var _0x2adfbc={};_0x2adfbc[_0x5ef562]={'$like':'%'+_0xb237fa[_0x13b3('0x2c')][_0x13b3('0x33')]+'%'};return _0x2adfbc;})});}_0x20d610=_[_0x13b3('0x35')]({},_0x20d610,_0xb237fa['options']);return _0x5d760a[_0x13b3('0x47')](_0x20d610);}})['then'](function(_0x160cdd){if(_0x160cdd){_0x40f289=_0x160cdd[_0x13b3('0x3e')];if(!_0xb237fa['query'][_0x13b3('0x31')](_0x13b3('0x48'))){_0x20d610[_0x13b3('0x1d')]=qs[_0x13b3('0x1d')](_0xb237fa[_0x13b3('0x2c')][_0x13b3('0x1d')]);_0x20d610['offset']=qs['offset'](_0xb237fa[_0x13b3('0x2c')][_0x13b3('0x1a')]);}return _0x5d760a[_0x13b3('0x47')](_0x20d610);}})['then'](function(_0x46ef71){if(_0x46ef71){return _0x46ef71?{'count':_0x40f289,'rows':_0x46ef71}:null;}})['then'](respondWithResult(_0x1f6bce,null))[_0x13b3('0x3b')](handleError(_0x1f6bce,null));};exports[_0x13b3('0x49')]=function(_0x1d3b9e,_0x18ab46,_0x3fe818){var _0x8e74fd={};var _0x2d831a={};var _0x3263d0;var _0x4be34c;return db[_0x13b3('0x36')][_0x13b3('0x44')]({'where':{'id':_0x1d3b9e[_0x13b3('0x42')]['id']}})[_0x13b3('0x21')](handleEntityNotFound(_0x18ab46,null))['then'](function(_0x3fb053){if(_0x3fb053){_0x3263d0=_0x3fb053;_0x2d831a[_0x13b3('0x2b')]=_[_0x13b3('0x3d')](db['Dynamics365Field']['rawAttributes']);_0x2d831a[_0x13b3('0x2c')]=_[_0x13b3('0x3d')](_0x1d3b9e['query']);_0x2d831a[_0x13b3('0x2d')]=_[_0x13b3('0x2e')](_0x2d831a[_0x13b3('0x2b')],_0x2d831a['query']);_0x8e74fd[_0x13b3('0x30')]=_[_0x13b3('0x2e')](_0x2d831a[_0x13b3('0x2b')],qs[_0x13b3('0x2f')](_0x1d3b9e[_0x13b3('0x2c')][_0x13b3('0x2f')]));_0x8e74fd[_0x13b3('0x30')]=_0x8e74fd['attributes']['length']?_0x8e74fd[_0x13b3('0x30')]:_0x2d831a['model'];_0x8e74fd['order']=qs[_0x13b3('0x32')](_0x1d3b9e['query']['sort']);_0x8e74fd[_0x13b3('0x34')]=qs['filters'](_[_0x13b3('0x46')](_0x1d3b9e['query'],_0x2d831a[_0x13b3('0x2d')]));if(_0x1d3b9e[_0x13b3('0x2c')][_0x13b3('0x33')]){_0x8e74fd['where']=_[_0x13b3('0x35')](_0x8e74fd[_0x13b3('0x34')],{'$or':_[_0x13b3('0x26')](_0x8e74fd[_0x13b3('0x30')],function(_0x187f60){var _0x1a6642={};_0x1a6642[_0x187f60]={'$like':'%'+_0x1d3b9e[_0x13b3('0x2c')]['filter']+'%'};return _0x1a6642;})});}_0x8e74fd=_[_0x13b3('0x35')]({},_0x8e74fd,_0x1d3b9e['options']);return _0x3263d0['getSubjects'](_0x8e74fd);}})['then'](function(_0xe3e722){if(_0xe3e722){_0x4be34c=_0xe3e722[_0x13b3('0x3e')];if(!_0x1d3b9e[_0x13b3('0x2c')]['hasOwnProperty'](_0x13b3('0x48'))){_0x8e74fd[_0x13b3('0x1d')]=qs[_0x13b3('0x1d')](_0x1d3b9e['query'][_0x13b3('0x1d')]);_0x8e74fd[_0x13b3('0x1a')]=qs[_0x13b3('0x1a')](_0x1d3b9e['query'][_0x13b3('0x1a')]);}return _0x3263d0[_0x13b3('0x49')](_0x8e74fd);}})[_0x13b3('0x21')](function(_0x4f14e1){if(_0x4f14e1){return _0x4f14e1?{'count':_0x4be34c,'rows':_0x4f14e1}:null;}})[_0x13b3('0x21')](respondWithResult(_0x18ab46,null))[_0x13b3('0x3b')](handleError(_0x18ab46,null));};exports['getDescriptions']=function(_0x153e27,_0x55b09,_0x4d1f61){var _0x336d92={};var _0x4c0c35={};var _0x143723;var _0x389c78;return db[_0x13b3('0x36')][_0x13b3('0x44')]({'where':{'id':_0x153e27[_0x13b3('0x42')]['id']}})[_0x13b3('0x21')](handleEntityNotFound(_0x55b09,null))[_0x13b3('0x21')](function(_0x18016e){if(_0x18016e){_0x143723=_0x18016e;_0x4c0c35[_0x13b3('0x2b')]=_[_0x13b3('0x3d')](db[_0x13b3('0x45')]['rawAttributes']);_0x4c0c35[_0x13b3('0x2c')]=_[_0x13b3('0x3d')](_0x153e27[_0x13b3('0x2c')]);_0x4c0c35[_0x13b3('0x2d')]=_[_0x13b3('0x2e')](_0x4c0c35['model'],_0x4c0c35[_0x13b3('0x2c')]);_0x336d92['attributes']=_[_0x13b3('0x2e')](_0x4c0c35[_0x13b3('0x2b')],qs['fields'](_0x153e27[_0x13b3('0x2c')][_0x13b3('0x2f')]));_0x336d92[_0x13b3('0x30')]=_0x336d92[_0x13b3('0x30')][_0x13b3('0x3e')]?_0x336d92['attributes']:_0x4c0c35[_0x13b3('0x2b')];_0x336d92['order']=qs[_0x13b3('0x32')](_0x153e27[_0x13b3('0x2c')][_0x13b3('0x32')]);_0x336d92[_0x13b3('0x34')]=qs['filters'](_['pick'](_0x153e27[_0x13b3('0x2c')],_0x4c0c35['filters']));if(_0x153e27[_0x13b3('0x2c')][_0x13b3('0x33')]){_0x336d92[_0x13b3('0x34')]=_[_0x13b3('0x35')](_0x336d92['where'],{'$or':_[_0x13b3('0x26')](_0x336d92[_0x13b3('0x30')],function(_0x5bf727){var _0x1c97f9={};_0x1c97f9[_0x5bf727]={'$like':'%'+_0x153e27[_0x13b3('0x2c')][_0x13b3('0x33')]+'%'};return _0x1c97f9;})});}_0x336d92=_[_0x13b3('0x35')]({},_0x336d92,_0x153e27[_0x13b3('0x4a')]);return _0x143723['getDescriptions'](_0x336d92);}})[_0x13b3('0x21')](function(_0x15c0ea){if(_0x15c0ea){_0x389c78=_0x15c0ea[_0x13b3('0x3e')];if(!_0x153e27['query'][_0x13b3('0x31')]('nolimit')){_0x336d92['limit']=qs[_0x13b3('0x1d')](_0x153e27[_0x13b3('0x2c')][_0x13b3('0x1d')]);_0x336d92[_0x13b3('0x1a')]=qs['offset'](_0x153e27[_0x13b3('0x2c')][_0x13b3('0x1a')]);}return _0x143723[_0x13b3('0x4b')](_0x336d92);}})[_0x13b3('0x21')](function(_0x3dc681){if(_0x3dc681){return _0x3dc681?{'count':_0x389c78,'rows':_0x3dc681}:null;}})[_0x13b3('0x21')](respondWithResult(_0x55b09,null))[_0x13b3('0x3b')](handleError(_0x55b09,null));};