Built motion from commit 1fa89557.|2.6.10
[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 _0xe51f=['intersection','fields','hasOwnProperty','nolimit','sort','where','pick','merge','type','VIRTUAL','filter','include','findAll','rows','catch','show','rawAttributes','length','includeAll','options','create','body','find','params','getFields','findOne','order','getSubjects','Dynamics365Field','getDescriptions','eml-format','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','sox','to-csv','fs-extra','lodash','squel','crypto','jsforce','querystring','papaparse','../../components/auth/service','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','json','offset','undefined','limit','count','reject','save','update','destroy','then','error','stack','name','send','index','map','Dynamics365Configuration','fieldName','key','model','keys','filters','query','attributes'];(function(_0x592e40,_0x2ed011){var _0x5d4288=function(_0x366e87){while(--_0x366e87){_0x592e40['push'](_0x592e40['shift']());}};_0x5d4288(++_0x2ed011);}(_0xe51f,0x162));var _0xfe51=function(_0x4fc3e3,_0x309969){_0x4fc3e3=_0x4fc3e3-0x0;var _0x19306b=_0xe51f[_0x4fc3e3];return _0x19306b;};'use strict';var emlformat=require(_0xfe51('0x0'));var rimraf=require('rimraf');var zipdir=require(_0xfe51('0x1'));var jsonpatch=require(_0xfe51('0x2'));var rp=require(_0xfe51('0x3'));var moment=require(_0xfe51('0x4'));var BPromise=require(_0xfe51('0x5'));var Mustache=require(_0xfe51('0x6'));var util=require(_0xfe51('0x7'));var path=require(_0xfe51('0x8'));var sox=require(_0xfe51('0x9'));var csv=require(_0xfe51('0xa'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0xfe51('0xb'));var _=require(_0xfe51('0xc'));var squel=require(_0xfe51('0xd'));var crypto=require(_0xfe51('0xe'));var jsforce=require(_0xfe51('0xf'));var deskjs=require('desk.js');var toCsv=require('to-csv');var querystring=require(_0xfe51('0x10'));var Papa=require(_0xfe51('0x11'));var Redis=require('ioredis');var authService=require(_0xfe51('0x12'));var qs=require('../../components/parsers/qs');var as=require('../../components/parsers/advancedSearch');var hardwareService=require('../../config/license/hardware');var logger=require(_0xfe51('0x13'))(_0xfe51('0x14'));var utils=require(_0xfe51('0x15'));var config=require(_0xfe51('0x16'));var licenseUtil=require(_0xfe51('0x17'));var db=require(_0xfe51('0x18'))['db'];function respondWithStatusCode(_0x5d9435,_0x445f24){_0x445f24=_0x445f24||0xcc;return function(_0x1a8cf2){if(_0x1a8cf2){return _0x5d9435[_0xfe51('0x19')](_0x445f24);}return _0x5d9435[_0xfe51('0x1a')](_0x445f24)['end']();};}function respondWithResult(_0xf71754,_0x3c5e17){_0x3c5e17=_0x3c5e17||0xc8;return function(_0x165c73){if(_0x165c73){return _0xf71754[_0xfe51('0x1a')](_0x3c5e17)[_0xfe51('0x1b')](_0x165c73);}};}function respondWithFilteredResult(_0x477ba2,_0x326d25){return function(_0x5cef98){if(_0x5cef98){var _0x3b3e89=typeof _0x326d25[_0xfe51('0x1c')]===_0xfe51('0x1d')&&typeof _0x326d25[_0xfe51('0x1e')]===_0xfe51('0x1d');var _0x2f161a=_0x5cef98['count'];var _0x31020e=_0x3b3e89?0x0:_0x326d25['offset'];var _0x1db14e=_0x3b3e89?_0x5cef98[_0xfe51('0x1f')]:_0x326d25[_0xfe51('0x1c')]+_0x326d25[_0xfe51('0x1e')];var _0x35d4dc;if(_0x1db14e>=_0x2f161a){_0x1db14e=_0x2f161a;_0x35d4dc=0xc8;}else{_0x35d4dc=0xce;}_0x477ba2['status'](_0x35d4dc);return _0x477ba2['set']('Content-Range',_0x31020e+'-'+_0x1db14e+'/'+_0x2f161a)[_0xfe51('0x1b')](_0x5cef98);}return null;};}function patchUpdates(_0x432f3d){return function(_0x4d9a54){try{jsonpatch['apply'](_0x4d9a54,_0x432f3d,!![]);}catch(_0x58e19d){return BPromise[_0xfe51('0x20')](_0x58e19d);}return _0x4d9a54[_0xfe51('0x21')]();};}function saveUpdates(_0x3617f9,_0x58293c){return function(_0x57de89){if(_0x57de89){return _0x57de89[_0xfe51('0x22')](_0x3617f9)['then'](function(_0x8dc94b){return _0x8dc94b;});}return null;};}function removeEntity(_0x24bec8,_0x15cb02){return function(_0x16fa03){if(_0x16fa03){return _0x16fa03[_0xfe51('0x23')]()[_0xfe51('0x24')](function(){_0x24bec8['status'](0xcc)['end']();});}};}function handleEntityNotFound(_0x4f8c58,_0x3a62e5){return function(_0x542329){if(!_0x542329){_0x4f8c58[_0xfe51('0x19')](0x194);}return _0x542329;};}function handleError(_0x52069c,_0x2396e1){_0x2396e1=_0x2396e1||0x1f4;return function(_0x2bc366){logger[_0xfe51('0x25')](_0x2bc366[_0xfe51('0x26')]);if(_0x2bc366[_0xfe51('0x27')]){delete _0x2bc366['name'];}_0x52069c['status'](_0x2396e1)[_0xfe51('0x28')](_0x2bc366);};}exports[_0xfe51('0x29')]=function(_0x528754,_0x5e37c4){var _0x5e5d10={},_0x5e2bfa={},_0x3a6dbc={'count':0x0,'rows':[]};var _0xb024a8=_[_0xfe51('0x2a')](db[_0xfe51('0x2b')]['rawAttributes'],function(_0x2cb3fe){return{'name':_0x2cb3fe[_0xfe51('0x2c')],'type':_0x2cb3fe['type'][_0xfe51('0x2d')]};});_0x5e2bfa[_0xfe51('0x2e')]=_[_0xfe51('0x2a')](_0xb024a8,_0xfe51('0x27'));_0x5e2bfa['query']=_[_0xfe51('0x2f')](_0x528754['query']);_0x5e2bfa[_0xfe51('0x30')]=_['intersection'](_0x5e2bfa['model'],_0x5e2bfa[_0xfe51('0x31')]);_0x5e5d10[_0xfe51('0x32')]=_[_0xfe51('0x33')](_0x5e2bfa[_0xfe51('0x2e')],qs[_0xfe51('0x34')](_0x528754[_0xfe51('0x31')][_0xfe51('0x34')]));_0x5e5d10['attributes']=_0x5e5d10[_0xfe51('0x32')]['length']?_0x5e5d10[_0xfe51('0x32')]:_0x5e2bfa[_0xfe51('0x2e')];if(!_0x528754[_0xfe51('0x31')][_0xfe51('0x35')](_0xfe51('0x36'))){_0x5e5d10[_0xfe51('0x1e')]=qs[_0xfe51('0x1e')](_0x528754[_0xfe51('0x31')][_0xfe51('0x1e')]);_0x5e5d10[_0xfe51('0x1c')]=qs[_0xfe51('0x1c')](_0x528754['query'][_0xfe51('0x1c')]);}_0x5e5d10['order']=qs[_0xfe51('0x37')](_0x528754[_0xfe51('0x31')]['sort']);_0x5e5d10[_0xfe51('0x38')]=qs[_0xfe51('0x30')](_[_0xfe51('0x39')](_0x528754[_0xfe51('0x31')],_0x5e2bfa[_0xfe51('0x30')]),_0xb024a8);if(_0x528754['query']['filter']){_0x5e5d10['where']=_[_0xfe51('0x3a')](_0x5e5d10[_0xfe51('0x38')],{'$or':_['map'](_0xb024a8,function(_0x6eb9f5){if(_0x6eb9f5[_0xfe51('0x3b')]!==_0xfe51('0x3c')){var _0x559a70={};_0x559a70[_0x6eb9f5[_0xfe51('0x27')]]={'$like':'%'+_0x528754[_0xfe51('0x31')][_0xfe51('0x3d')]+'%'};return _0x559a70;}})});}_0x5e5d10=_[_0xfe51('0x3a')]({},_0x5e5d10,_0x528754['options']);var _0x4570fe={'where':_0x5e5d10[_0xfe51('0x38')]};return db[_0xfe51('0x2b')][_0xfe51('0x1f')](_0x4570fe)[_0xfe51('0x24')](function(_0x33e4c5){_0x3a6dbc[_0xfe51('0x1f')]=_0x33e4c5;if(_0x528754[_0xfe51('0x31')]['includeAll']){_0x5e5d10[_0xfe51('0x3e')]=[{'all':!![]}];}return db[_0xfe51('0x2b')][_0xfe51('0x3f')](_0x5e5d10);})[_0xfe51('0x24')](function(_0x4a8986){_0x3a6dbc[_0xfe51('0x40')]=_0x4a8986;return _0x3a6dbc;})['then'](respondWithFilteredResult(_0x5e37c4,_0x5e5d10))[_0xfe51('0x41')](handleError(_0x5e37c4,null));};exports[_0xfe51('0x42')]=function(_0x580185,_0x12b0fe){var _0x5399ca={'raw':![],'where':{'id':_0x580185['params']['id']}},_0x47b4fe={};_0x47b4fe[_0xfe51('0x2e')]=_[_0xfe51('0x2f')](db[_0xfe51('0x2b')][_0xfe51('0x43')]);_0x47b4fe[_0xfe51('0x31')]=_[_0xfe51('0x2f')](_0x580185['query']);_0x47b4fe[_0xfe51('0x30')]=_[_0xfe51('0x33')](_0x47b4fe[_0xfe51('0x2e')],_0x47b4fe[_0xfe51('0x31')]);_0x5399ca[_0xfe51('0x32')]=_[_0xfe51('0x33')](_0x47b4fe['model'],qs[_0xfe51('0x34')](_0x580185[_0xfe51('0x31')][_0xfe51('0x34')]));_0x5399ca[_0xfe51('0x32')]=_0x5399ca[_0xfe51('0x32')][_0xfe51('0x44')]?_0x5399ca[_0xfe51('0x32')]:_0x47b4fe['model'];if(_0x580185[_0xfe51('0x31')][_0xfe51('0x45')]){_0x5399ca['include']=[{'all':!![]}];}_0x5399ca=_['merge']({},_0x5399ca,_0x580185[_0xfe51('0x46')]);return db['Dynamics365Configuration']['find'](_0x5399ca)[_0xfe51('0x24')](handleEntityNotFound(_0x12b0fe,null))[_0xfe51('0x24')](respondWithResult(_0x12b0fe,null))[_0xfe51('0x41')](handleError(_0x12b0fe,null));};exports[_0xfe51('0x47')]=function(_0x1bb4df,_0x4d5086){return db['Dynamics365Configuration'][_0xfe51('0x47')](_0x1bb4df[_0xfe51('0x48')],{})[_0xfe51('0x24')](respondWithResult(_0x4d5086,0xc9))[_0xfe51('0x41')](handleError(_0x4d5086,null));};exports[_0xfe51('0x22')]=function(_0x58c839,_0x17f3f3){if(_0x58c839[_0xfe51('0x48')]['id']){delete _0x58c839['body']['id'];}return db[_0xfe51('0x2b')][_0xfe51('0x49')]({'where':{'id':_0x58c839[_0xfe51('0x4a')]['id']}})[_0xfe51('0x24')](handleEntityNotFound(_0x17f3f3,null))[_0xfe51('0x24')](saveUpdates(_0x58c839['body'],null))[_0xfe51('0x24')](respondWithResult(_0x17f3f3,null))[_0xfe51('0x41')](handleError(_0x17f3f3,null));};exports[_0xfe51('0x23')]=function(_0x4004d6,_0x22442a){return db[_0xfe51('0x2b')][_0xfe51('0x49')]({'where':{'id':_0x4004d6[_0xfe51('0x4a')]['id']}})[_0xfe51('0x24')](handleEntityNotFound(_0x22442a,null))[_0xfe51('0x24')](removeEntity(_0x22442a,null))[_0xfe51('0x41')](handleError(_0x22442a,null));};exports[_0xfe51('0x4b')]=function(_0x553ac0,_0x405f08,_0x1dc397){var _0x14cf2b={};var _0x189fd8={};var _0x15aa61;var _0x5759bc;return db[_0xfe51('0x2b')][_0xfe51('0x4c')]({'where':{'id':_0x553ac0['params']['id']}})[_0xfe51('0x24')](handleEntityNotFound(_0x405f08,null))['then'](function(_0x3fd998){if(_0x3fd998){_0x15aa61=_0x3fd998;_0x189fd8[_0xfe51('0x2e')]=_['keys'](db['Dynamics365Field'][_0xfe51('0x43')]);_0x189fd8[_0xfe51('0x31')]=_[_0xfe51('0x2f')](_0x553ac0[_0xfe51('0x31')]);_0x189fd8['filters']=_[_0xfe51('0x33')](_0x189fd8[_0xfe51('0x2e')],_0x189fd8[_0xfe51('0x31')]);_0x14cf2b[_0xfe51('0x32')]=_[_0xfe51('0x33')](_0x189fd8[_0xfe51('0x2e')],qs[_0xfe51('0x34')](_0x553ac0[_0xfe51('0x31')][_0xfe51('0x34')]));_0x14cf2b['attributes']=_0x14cf2b[_0xfe51('0x32')]['length']?_0x14cf2b[_0xfe51('0x32')]:_0x189fd8[_0xfe51('0x2e')];_0x14cf2b[_0xfe51('0x4d')]=qs[_0xfe51('0x37')](_0x553ac0[_0xfe51('0x31')][_0xfe51('0x37')]);_0x14cf2b[_0xfe51('0x38')]=qs[_0xfe51('0x30')](_[_0xfe51('0x39')](_0x553ac0[_0xfe51('0x31')],_0x189fd8[_0xfe51('0x30')]));if(_0x553ac0[_0xfe51('0x31')][_0xfe51('0x3d')]){_0x14cf2b[_0xfe51('0x38')]=_['merge'](_0x14cf2b[_0xfe51('0x38')],{'$or':_[_0xfe51('0x2a')](_0x14cf2b[_0xfe51('0x32')],function(_0x136d00){var _0x44f01c={};_0x44f01c[_0x136d00]={'$like':'%'+_0x553ac0['query'][_0xfe51('0x3d')]+'%'};return _0x44f01c;})});}_0x14cf2b=_[_0xfe51('0x3a')]({},_0x14cf2b,_0x553ac0[_0xfe51('0x46')]);return _0x15aa61[_0xfe51('0x4b')](_0x14cf2b);}})[_0xfe51('0x24')](function(_0x95ec24){if(_0x95ec24){_0x5759bc=_0x95ec24[_0xfe51('0x44')];if(!_0x553ac0[_0xfe51('0x31')][_0xfe51('0x35')](_0xfe51('0x36'))){_0x14cf2b[_0xfe51('0x1e')]=qs[_0xfe51('0x1e')](_0x553ac0['query']['limit']);_0x14cf2b[_0xfe51('0x1c')]=qs[_0xfe51('0x1c')](_0x553ac0[_0xfe51('0x31')][_0xfe51('0x1c')]);}return _0x15aa61[_0xfe51('0x4b')](_0x14cf2b);}})['then'](function(_0x48aefe){if(_0x48aefe){return _0x48aefe?{'count':_0x5759bc,'rows':_0x48aefe}:null;}})['then'](respondWithResult(_0x405f08,null))[_0xfe51('0x41')](handleError(_0x405f08,null));};exports[_0xfe51('0x4e')]=function(_0x44c8fc,_0x231bd3,_0x1d0cfd){var _0x850a61={};var _0x69dc6e={};var _0x375d41;var _0x10f157;return db[_0xfe51('0x2b')]['findOne']({'where':{'id':_0x44c8fc[_0xfe51('0x4a')]['id']}})[_0xfe51('0x24')](handleEntityNotFound(_0x231bd3,null))[_0xfe51('0x24')](function(_0x3f915f){if(_0x3f915f){_0x375d41=_0x3f915f;_0x69dc6e[_0xfe51('0x2e')]=_[_0xfe51('0x2f')](db[_0xfe51('0x4f')][_0xfe51('0x43')]);_0x69dc6e['query']=_[_0xfe51('0x2f')](_0x44c8fc[_0xfe51('0x31')]);_0x69dc6e[_0xfe51('0x30')]=_['intersection'](_0x69dc6e[_0xfe51('0x2e')],_0x69dc6e[_0xfe51('0x31')]);_0x850a61['attributes']=_['intersection'](_0x69dc6e[_0xfe51('0x2e')],qs[_0xfe51('0x34')](_0x44c8fc[_0xfe51('0x31')][_0xfe51('0x34')]));_0x850a61[_0xfe51('0x32')]=_0x850a61[_0xfe51('0x32')][_0xfe51('0x44')]?_0x850a61[_0xfe51('0x32')]:_0x69dc6e['model'];_0x850a61[_0xfe51('0x4d')]=qs[_0xfe51('0x37')](_0x44c8fc[_0xfe51('0x31')]['sort']);_0x850a61[_0xfe51('0x38')]=qs[_0xfe51('0x30')](_['pick'](_0x44c8fc[_0xfe51('0x31')],_0x69dc6e['filters']));if(_0x44c8fc[_0xfe51('0x31')][_0xfe51('0x3d')]){_0x850a61[_0xfe51('0x38')]=_[_0xfe51('0x3a')](_0x850a61[_0xfe51('0x38')],{'$or':_[_0xfe51('0x2a')](_0x850a61[_0xfe51('0x32')],function(_0x276652){var _0x530e96={};_0x530e96[_0x276652]={'$like':'%'+_0x44c8fc[_0xfe51('0x31')][_0xfe51('0x3d')]+'%'};return _0x530e96;})});}_0x850a61=_[_0xfe51('0x3a')]({},_0x850a61,_0x44c8fc[_0xfe51('0x46')]);return _0x375d41[_0xfe51('0x4e')](_0x850a61);}})['then'](function(_0x2fc9b6){if(_0x2fc9b6){_0x10f157=_0x2fc9b6[_0xfe51('0x44')];if(!_0x44c8fc['query']['hasOwnProperty']('nolimit')){_0x850a61[_0xfe51('0x1e')]=qs[_0xfe51('0x1e')](_0x44c8fc['query'][_0xfe51('0x1e')]);_0x850a61[_0xfe51('0x1c')]=qs[_0xfe51('0x1c')](_0x44c8fc[_0xfe51('0x31')][_0xfe51('0x1c')]);}return _0x375d41[_0xfe51('0x4e')](_0x850a61);}})['then'](function(_0x3020d9){if(_0x3020d9){return _0x3020d9?{'count':_0x10f157,'rows':_0x3020d9}:null;}})[_0xfe51('0x24')](respondWithResult(_0x231bd3,null))['catch'](handleError(_0x231bd3,null));};exports[_0xfe51('0x50')]=function(_0x4fc6d8,_0x2a7cfc,_0x34ac71){var _0x537bc1={};var _0x590beb={};var _0x4eae9;var _0x3e1c53;return db[_0xfe51('0x2b')][_0xfe51('0x4c')]({'where':{'id':_0x4fc6d8['params']['id']}})[_0xfe51('0x24')](handleEntityNotFound(_0x2a7cfc,null))[_0xfe51('0x24')](function(_0x34db29){if(_0x34db29){_0x4eae9=_0x34db29;_0x590beb['model']=_[_0xfe51('0x2f')](db[_0xfe51('0x4f')][_0xfe51('0x43')]);_0x590beb[_0xfe51('0x31')]=_['keys'](_0x4fc6d8[_0xfe51('0x31')]);_0x590beb[_0xfe51('0x30')]=_[_0xfe51('0x33')](_0x590beb[_0xfe51('0x2e')],_0x590beb[_0xfe51('0x31')]);_0x537bc1['attributes']=_[_0xfe51('0x33')](_0x590beb['model'],qs['fields'](_0x4fc6d8[_0xfe51('0x31')][_0xfe51('0x34')]));_0x537bc1[_0xfe51('0x32')]=_0x537bc1[_0xfe51('0x32')][_0xfe51('0x44')]?_0x537bc1[_0xfe51('0x32')]:_0x590beb[_0xfe51('0x2e')];_0x537bc1[_0xfe51('0x4d')]=qs[_0xfe51('0x37')](_0x4fc6d8['query'][_0xfe51('0x37')]);_0x537bc1[_0xfe51('0x38')]=qs[_0xfe51('0x30')](_['pick'](_0x4fc6d8['query'],_0x590beb[_0xfe51('0x30')]));if(_0x4fc6d8[_0xfe51('0x31')][_0xfe51('0x3d')]){_0x537bc1[_0xfe51('0x38')]=_[_0xfe51('0x3a')](_0x537bc1[_0xfe51('0x38')],{'$or':_['map'](_0x537bc1['attributes'],function(_0x1434f7){var _0x1edbbc={};_0x1edbbc[_0x1434f7]={'$like':'%'+_0x4fc6d8[_0xfe51('0x31')][_0xfe51('0x3d')]+'%'};return _0x1edbbc;})});}_0x537bc1=_[_0xfe51('0x3a')]({},_0x537bc1,_0x4fc6d8['options']);return _0x4eae9['getDescriptions'](_0x537bc1);}})[_0xfe51('0x24')](function(_0x321f23){if(_0x321f23){_0x3e1c53=_0x321f23['length'];if(!_0x4fc6d8['query'][_0xfe51('0x35')](_0xfe51('0x36'))){_0x537bc1[_0xfe51('0x1e')]=qs[_0xfe51('0x1e')](_0x4fc6d8[_0xfe51('0x31')][_0xfe51('0x1e')]);_0x537bc1[_0xfe51('0x1c')]=qs['offset'](_0x4fc6d8[_0xfe51('0x31')][_0xfe51('0x1c')]);}return _0x4eae9[_0xfe51('0x50')](_0x537bc1);}})[_0xfe51('0x24')](function(_0x3b8a09){if(_0x3b8a09){return _0x3b8a09?{'count':_0x3e1c53,'rows':_0x3b8a09}:null;}})[_0xfe51('0x24')](respondWithResult(_0x2a7cfc,null))[_0xfe51('0x41')](handleError(_0x2a7cfc,null));};