Built motion from commit 19a84241.|2.5.34
[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 _0x11fe=['keys','Dynamics365Field','nolimit','getSubjects','options','getDescriptions','eml-format','rimraf','zip-dir','fast-json-patch','moment','bluebird','mustache','util','path','sox','to-csv','fs-extra','lodash','squel','crypto','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../config/utils','../../config/environment','../../config/license/util','status','end','json','offset','undefined','limit','count','Content-Range','apply','save','then','destroy','error','stack','name','send','map','rawAttributes','type','key','query','filters','intersection','model','fields','attributes','length','hasOwnProperty','order','sort','where','pick','filter','merge','Dynamics365Configuration','findAll','rows','show','params','include','find','catch','create','body','update','getFields','findOne'];(function(_0x29a160,_0x51f6b7){var _0x1d25f1=function(_0x2851c9){while(--_0x2851c9){_0x29a160['push'](_0x29a160['shift']());}};_0x1d25f1(++_0x51f6b7);}(_0x11fe,0x9e));var _0xe11f=function(_0x7d96,_0x34c79c){_0x7d96=_0x7d96-0x0;var _0x4e4b7b=_0x11fe[_0x7d96];return _0x4e4b7b;};'use strict';var emlformat=require(_0xe11f('0x0'));var rimraf=require(_0xe11f('0x1'));var zipdir=require(_0xe11f('0x2'));var jsonpatch=require(_0xe11f('0x3'));var rp=require('request-promise');var moment=require(_0xe11f('0x4'));var BPromise=require(_0xe11f('0x5'));var Mustache=require(_0xe11f('0x6'));var util=require(_0xe11f('0x7'));var path=require(_0xe11f('0x8'));var sox=require(_0xe11f('0x9'));var csv=require(_0xe11f('0xa'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0xe11f('0xb'));var _=require(_0xe11f('0xc'));var squel=require(_0xe11f('0xd'));var crypto=require(_0xe11f('0xe'));var jsforce=require('jsforce');var deskjs=require('desk.js');var toCsv=require('to-csv');var querystring=require('querystring');var Papa=require('papaparse');var Redis=require(_0xe11f('0xf'));var authService=require('../../components/auth/service');var qs=require(_0xe11f('0x10'));var as=require(_0xe11f('0x11'));var hardwareService=require(_0xe11f('0x12'));var logger=require(_0xe11f('0x13'))('api');var utils=require(_0xe11f('0x14'));var config=require(_0xe11f('0x15'));var licenseUtil=require(_0xe11f('0x16'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x225d24,_0x2523ff){_0x2523ff=_0x2523ff||0xcc;return function(_0x4ae672){if(_0x4ae672){return _0x225d24['sendStatus'](_0x2523ff);}return _0x225d24[_0xe11f('0x17')](_0x2523ff)[_0xe11f('0x18')]();};}function respondWithResult(_0x3deff7,_0x2a3e83){_0x2a3e83=_0x2a3e83||0xc8;return function(_0x30709d){if(_0x30709d){return _0x3deff7[_0xe11f('0x17')](_0x2a3e83)[_0xe11f('0x19')](_0x30709d);}};}function respondWithFilteredResult(_0xb52996,_0x446579){return function(_0x2f0feb){if(_0x2f0feb){var _0x4d3edd=typeof _0x446579[_0xe11f('0x1a')]===_0xe11f('0x1b')&&typeof _0x446579[_0xe11f('0x1c')]===_0xe11f('0x1b');var _0x2b815d=_0x2f0feb['count'];var _0x2468b4=_0x4d3edd?0x0:_0x446579[_0xe11f('0x1a')];var _0x523c42=_0x4d3edd?_0x2f0feb[_0xe11f('0x1d')]:_0x446579['offset']+_0x446579[_0xe11f('0x1c')];var _0x8ef872;if(_0x523c42>=_0x2b815d){_0x523c42=_0x2b815d;_0x8ef872=0xc8;}else{_0x8ef872=0xce;}_0xb52996[_0xe11f('0x17')](_0x8ef872);return _0xb52996['set'](_0xe11f('0x1e'),_0x2468b4+'-'+_0x523c42+'/'+_0x2b815d)[_0xe11f('0x19')](_0x2f0feb);}return null;};}function patchUpdates(_0x438ff0){return function(_0x55f71c){try{jsonpatch[_0xe11f('0x1f')](_0x55f71c,_0x438ff0,!![]);}catch(_0x3a6cc4){return BPromise['reject'](_0x3a6cc4);}return _0x55f71c[_0xe11f('0x20')]();};}function saveUpdates(_0x419f30,_0x15d4fe){return function(_0x3ed6bc){if(_0x3ed6bc){return _0x3ed6bc['update'](_0x419f30)[_0xe11f('0x21')](function(_0x64458f){return _0x64458f;});}return null;};}function removeEntity(_0x4b2e08,_0x56b112){return function(_0x210965){if(_0x210965){return _0x210965[_0xe11f('0x22')]()['then'](function(){_0x4b2e08[_0xe11f('0x17')](0xcc)[_0xe11f('0x18')]();});}};}function handleEntityNotFound(_0x55fafc,_0x1c21e3){return function(_0x327fa2){if(!_0x327fa2){_0x55fafc['sendStatus'](0x194);}return _0x327fa2;};}function handleError(_0x2ef9c3,_0x14970f){_0x14970f=_0x14970f||0x1f4;return function(_0x2db000){logger[_0xe11f('0x23')](_0x2db000[_0xe11f('0x24')]);if(_0x2db000[_0xe11f('0x25')]){delete _0x2db000[_0xe11f('0x25')];}_0x2ef9c3[_0xe11f('0x17')](_0x14970f)[_0xe11f('0x26')](_0x2db000);};}exports['index']=function(_0x1e8c3c,_0x50883a){var _0x4e9255={},_0x364a7d={},_0x5931b7={'count':0x0,'rows':[]};var _0x4f623a=_[_0xe11f('0x27')](db['Dynamics365Configuration'][_0xe11f('0x28')],function(_0x5b5dae){return{'name':_0x5b5dae['fieldName'],'type':_0x5b5dae[_0xe11f('0x29')][_0xe11f('0x2a')]};});_0x364a7d['model']=_['map'](_0x4f623a,_0xe11f('0x25'));_0x364a7d[_0xe11f('0x2b')]=_['keys'](_0x1e8c3c[_0xe11f('0x2b')]);_0x364a7d[_0xe11f('0x2c')]=_[_0xe11f('0x2d')](_0x364a7d[_0xe11f('0x2e')],_0x364a7d[_0xe11f('0x2b')]);_0x4e9255['attributes']=_[_0xe11f('0x2d')](_0x364a7d[_0xe11f('0x2e')],qs[_0xe11f('0x2f')](_0x1e8c3c['query'][_0xe11f('0x2f')]));_0x4e9255['attributes']=_0x4e9255[_0xe11f('0x30')][_0xe11f('0x31')]?_0x4e9255[_0xe11f('0x30')]:_0x364a7d[_0xe11f('0x2e')];if(!_0x1e8c3c[_0xe11f('0x2b')][_0xe11f('0x32')]('nolimit')){_0x4e9255[_0xe11f('0x1c')]=qs[_0xe11f('0x1c')](_0x1e8c3c[_0xe11f('0x2b')][_0xe11f('0x1c')]);_0x4e9255[_0xe11f('0x1a')]=qs[_0xe11f('0x1a')](_0x1e8c3c[_0xe11f('0x2b')][_0xe11f('0x1a')]);}_0x4e9255[_0xe11f('0x33')]=qs[_0xe11f('0x34')](_0x1e8c3c[_0xe11f('0x2b')]['sort']);_0x4e9255[_0xe11f('0x35')]=qs['filters'](_[_0xe11f('0x36')](_0x1e8c3c[_0xe11f('0x2b')],_0x364a7d[_0xe11f('0x2c')]),_0x4f623a);if(_0x1e8c3c[_0xe11f('0x2b')][_0xe11f('0x37')]){_0x4e9255['where']=_[_0xe11f('0x38')](_0x4e9255[_0xe11f('0x35')],{'$or':_[_0xe11f('0x27')](_0x4f623a,function(_0x28b474){if(_0x28b474['type']!=='VIRTUAL'){var _0x14a5c9={};_0x14a5c9[_0x28b474[_0xe11f('0x25')]]={'$like':'%'+_0x1e8c3c[_0xe11f('0x2b')][_0xe11f('0x37')]+'%'};return _0x14a5c9;}})});}_0x4e9255=_[_0xe11f('0x38')]({},_0x4e9255,_0x1e8c3c['options']);var _0x1f34ce={'where':_0x4e9255['where']};return db[_0xe11f('0x39')][_0xe11f('0x1d')](_0x1f34ce)[_0xe11f('0x21')](function(_0x3aca25){_0x5931b7['count']=_0x3aca25;if(_0x1e8c3c[_0xe11f('0x2b')]['includeAll']){_0x4e9255['include']=[{'all':!![]}];}return db[_0xe11f('0x39')][_0xe11f('0x3a')](_0x4e9255);})['then'](function(_0x507e19){_0x5931b7[_0xe11f('0x3b')]=_0x507e19;return _0x5931b7;})[_0xe11f('0x21')](respondWithFilteredResult(_0x50883a,_0x4e9255))['catch'](handleError(_0x50883a,null));};exports[_0xe11f('0x3c')]=function(_0x50cfa0,_0x47a8f7){var _0x2f18d2={'raw':![],'where':{'id':_0x50cfa0[_0xe11f('0x3d')]['id']}},_0x865e1c={};_0x865e1c[_0xe11f('0x2e')]=_['keys'](db[_0xe11f('0x39')][_0xe11f('0x28')]);_0x865e1c[_0xe11f('0x2b')]=_['keys'](_0x50cfa0['query']);_0x865e1c['filters']=_[_0xe11f('0x2d')](_0x865e1c[_0xe11f('0x2e')],_0x865e1c[_0xe11f('0x2b')]);_0x2f18d2['attributes']=_['intersection'](_0x865e1c[_0xe11f('0x2e')],qs[_0xe11f('0x2f')](_0x50cfa0[_0xe11f('0x2b')]['fields']));_0x2f18d2[_0xe11f('0x30')]=_0x2f18d2[_0xe11f('0x30')]['length']?_0x2f18d2[_0xe11f('0x30')]:_0x865e1c[_0xe11f('0x2e')];if(_0x50cfa0['query']['includeAll']){_0x2f18d2[_0xe11f('0x3e')]=[{'all':!![]}];}_0x2f18d2=_[_0xe11f('0x38')]({},_0x2f18d2,_0x50cfa0['options']);return db[_0xe11f('0x39')][_0xe11f('0x3f')](_0x2f18d2)[_0xe11f('0x21')](handleEntityNotFound(_0x47a8f7,null))[_0xe11f('0x21')](respondWithResult(_0x47a8f7,null))[_0xe11f('0x40')](handleError(_0x47a8f7,null));};exports[_0xe11f('0x41')]=function(_0x6f1014,_0xc36623){return db[_0xe11f('0x39')][_0xe11f('0x41')](_0x6f1014[_0xe11f('0x42')],{})[_0xe11f('0x21')](respondWithResult(_0xc36623,0xc9))[_0xe11f('0x40')](handleError(_0xc36623,null));};exports[_0xe11f('0x43')]=function(_0x224960,_0x1a78e3){if(_0x224960[_0xe11f('0x42')]['id']){delete _0x224960[_0xe11f('0x42')]['id'];}return db[_0xe11f('0x39')]['find']({'where':{'id':_0x224960[_0xe11f('0x3d')]['id']}})[_0xe11f('0x21')](handleEntityNotFound(_0x1a78e3,null))['then'](saveUpdates(_0x224960[_0xe11f('0x42')],null))['then'](respondWithResult(_0x1a78e3,null))[_0xe11f('0x40')](handleError(_0x1a78e3,null));};exports[_0xe11f('0x22')]=function(_0x2544b0,_0x133509){return db[_0xe11f('0x39')][_0xe11f('0x3f')]({'where':{'id':_0x2544b0[_0xe11f('0x3d')]['id']}})[_0xe11f('0x21')](handleEntityNotFound(_0x133509,null))['then'](removeEntity(_0x133509,null))[_0xe11f('0x40')](handleError(_0x133509,null));};exports[_0xe11f('0x44')]=function(_0x3a2fa8,_0x2e7a39,_0x382375){var _0x46f6bb={};var _0x95eac3={};var _0x121f7b;var _0x2c8d1a;return db[_0xe11f('0x39')][_0xe11f('0x45')]({'where':{'id':_0x3a2fa8[_0xe11f('0x3d')]['id']}})[_0xe11f('0x21')](handleEntityNotFound(_0x2e7a39,null))[_0xe11f('0x21')](function(_0xf9293a){if(_0xf9293a){_0x121f7b=_0xf9293a;_0x95eac3[_0xe11f('0x2e')]=_[_0xe11f('0x46')](db[_0xe11f('0x47')][_0xe11f('0x28')]);_0x95eac3[_0xe11f('0x2b')]=_[_0xe11f('0x46')](_0x3a2fa8[_0xe11f('0x2b')]);_0x95eac3[_0xe11f('0x2c')]=_[_0xe11f('0x2d')](_0x95eac3['model'],_0x95eac3['query']);_0x46f6bb[_0xe11f('0x30')]=_[_0xe11f('0x2d')](_0x95eac3[_0xe11f('0x2e')],qs['fields'](_0x3a2fa8['query'][_0xe11f('0x2f')]));_0x46f6bb[_0xe11f('0x30')]=_0x46f6bb['attributes']['length']?_0x46f6bb[_0xe11f('0x30')]:_0x95eac3[_0xe11f('0x2e')];_0x46f6bb[_0xe11f('0x33')]=qs[_0xe11f('0x34')](_0x3a2fa8[_0xe11f('0x2b')][_0xe11f('0x34')]);_0x46f6bb[_0xe11f('0x35')]=qs[_0xe11f('0x2c')](_[_0xe11f('0x36')](_0x3a2fa8[_0xe11f('0x2b')],_0x95eac3[_0xe11f('0x2c')]));if(_0x3a2fa8['query'][_0xe11f('0x37')]){_0x46f6bb[_0xe11f('0x35')]=_['merge'](_0x46f6bb[_0xe11f('0x35')],{'$or':_[_0xe11f('0x27')](_0x46f6bb[_0xe11f('0x30')],function(_0x50d436){var _0x2e215e={};_0x2e215e[_0x50d436]={'$like':'%'+_0x3a2fa8['query']['filter']+'%'};return _0x2e215e;})});}_0x46f6bb=_[_0xe11f('0x38')]({},_0x46f6bb,_0x3a2fa8['options']);return _0x121f7b[_0xe11f('0x44')](_0x46f6bb);}})[_0xe11f('0x21')](function(_0x13e3cb){if(_0x13e3cb){_0x2c8d1a=_0x13e3cb[_0xe11f('0x31')];if(!_0x3a2fa8[_0xe11f('0x2b')]['hasOwnProperty'](_0xe11f('0x48'))){_0x46f6bb[_0xe11f('0x1c')]=qs['limit'](_0x3a2fa8['query']['limit']);_0x46f6bb[_0xe11f('0x1a')]=qs[_0xe11f('0x1a')](_0x3a2fa8['query']['offset']);}return _0x121f7b[_0xe11f('0x44')](_0x46f6bb);}})['then'](function(_0x242a71){if(_0x242a71){return _0x242a71?{'count':_0x2c8d1a,'rows':_0x242a71}:null;}})[_0xe11f('0x21')](respondWithResult(_0x2e7a39,null))[_0xe11f('0x40')](handleError(_0x2e7a39,null));};exports[_0xe11f('0x49')]=function(_0x8695c9,_0x4a1a90,_0x285d0c){var _0x11d73f={};var _0x109ac4={};var _0x4e9b75;var _0x440b06;return db['Dynamics365Configuration'][_0xe11f('0x45')]({'where':{'id':_0x8695c9[_0xe11f('0x3d')]['id']}})[_0xe11f('0x21')](handleEntityNotFound(_0x4a1a90,null))[_0xe11f('0x21')](function(_0x49f591){if(_0x49f591){_0x4e9b75=_0x49f591;_0x109ac4[_0xe11f('0x2e')]=_[_0xe11f('0x46')](db['Dynamics365Field']['rawAttributes']);_0x109ac4[_0xe11f('0x2b')]=_[_0xe11f('0x46')](_0x8695c9[_0xe11f('0x2b')]);_0x109ac4[_0xe11f('0x2c')]=_[_0xe11f('0x2d')](_0x109ac4[_0xe11f('0x2e')],_0x109ac4[_0xe11f('0x2b')]);_0x11d73f[_0xe11f('0x30')]=_['intersection'](_0x109ac4[_0xe11f('0x2e')],qs[_0xe11f('0x2f')](_0x8695c9[_0xe11f('0x2b')][_0xe11f('0x2f')]));_0x11d73f[_0xe11f('0x30')]=_0x11d73f[_0xe11f('0x30')][_0xe11f('0x31')]?_0x11d73f[_0xe11f('0x30')]:_0x109ac4[_0xe11f('0x2e')];_0x11d73f[_0xe11f('0x33')]=qs[_0xe11f('0x34')](_0x8695c9['query'][_0xe11f('0x34')]);_0x11d73f['where']=qs[_0xe11f('0x2c')](_[_0xe11f('0x36')](_0x8695c9[_0xe11f('0x2b')],_0x109ac4[_0xe11f('0x2c')]));if(_0x8695c9[_0xe11f('0x2b')]['filter']){_0x11d73f[_0xe11f('0x35')]=_[_0xe11f('0x38')](_0x11d73f[_0xe11f('0x35')],{'$or':_['map'](_0x11d73f[_0xe11f('0x30')],function(_0xf0849b){var _0x1b7a8e={};_0x1b7a8e[_0xf0849b]={'$like':'%'+_0x8695c9[_0xe11f('0x2b')]['filter']+'%'};return _0x1b7a8e;})});}_0x11d73f=_[_0xe11f('0x38')]({},_0x11d73f,_0x8695c9[_0xe11f('0x4a')]);return _0x4e9b75[_0xe11f('0x49')](_0x11d73f);}})[_0xe11f('0x21')](function(_0x4a426d){if(_0x4a426d){_0x440b06=_0x4a426d['length'];if(!_0x8695c9[_0xe11f('0x2b')][_0xe11f('0x32')]('nolimit')){_0x11d73f['limit']=qs['limit'](_0x8695c9['query'][_0xe11f('0x1c')]);_0x11d73f[_0xe11f('0x1a')]=qs[_0xe11f('0x1a')](_0x8695c9['query'][_0xe11f('0x1a')]);}return _0x4e9b75['getSubjects'](_0x11d73f);}})['then'](function(_0x56d268){if(_0x56d268){return _0x56d268?{'count':_0x440b06,'rows':_0x56d268}:null;}})['then'](respondWithResult(_0x4a1a90,null))[_0xe11f('0x40')](handleError(_0x4a1a90,null));};exports['getDescriptions']=function(_0x3149cb,_0x28c8ce,_0x42d8ea){var _0x4513d3={};var _0x4b14ed={};var _0x59a337;var _0x2eddb8;return db[_0xe11f('0x39')]['findOne']({'where':{'id':_0x3149cb['params']['id']}})[_0xe11f('0x21')](handleEntityNotFound(_0x28c8ce,null))[_0xe11f('0x21')](function(_0x578ad1){if(_0x578ad1){_0x59a337=_0x578ad1;_0x4b14ed[_0xe11f('0x2e')]=_[_0xe11f('0x46')](db[_0xe11f('0x47')]['rawAttributes']);_0x4b14ed[_0xe11f('0x2b')]=_[_0xe11f('0x46')](_0x3149cb[_0xe11f('0x2b')]);_0x4b14ed[_0xe11f('0x2c')]=_[_0xe11f('0x2d')](_0x4b14ed[_0xe11f('0x2e')],_0x4b14ed[_0xe11f('0x2b')]);_0x4513d3['attributes']=_[_0xe11f('0x2d')](_0x4b14ed[_0xe11f('0x2e')],qs['fields'](_0x3149cb[_0xe11f('0x2b')]['fields']));_0x4513d3[_0xe11f('0x30')]=_0x4513d3[_0xe11f('0x30')]['length']?_0x4513d3[_0xe11f('0x30')]:_0x4b14ed[_0xe11f('0x2e')];_0x4513d3['order']=qs[_0xe11f('0x34')](_0x3149cb[_0xe11f('0x2b')][_0xe11f('0x34')]);_0x4513d3['where']=qs[_0xe11f('0x2c')](_[_0xe11f('0x36')](_0x3149cb[_0xe11f('0x2b')],_0x4b14ed['filters']));if(_0x3149cb[_0xe11f('0x2b')]['filter']){_0x4513d3[_0xe11f('0x35')]=_[_0xe11f('0x38')](_0x4513d3[_0xe11f('0x35')],{'$or':_[_0xe11f('0x27')](_0x4513d3['attributes'],function(_0x828728){var _0x3f9533={};_0x3f9533[_0x828728]={'$like':'%'+_0x3149cb[_0xe11f('0x2b')][_0xe11f('0x37')]+'%'};return _0x3f9533;})});}_0x4513d3=_['merge']({},_0x4513d3,_0x3149cb[_0xe11f('0x4a')]);return _0x59a337[_0xe11f('0x4b')](_0x4513d3);}})[_0xe11f('0x21')](function(_0x1b308d){if(_0x1b308d){_0x2eddb8=_0x1b308d[_0xe11f('0x31')];if(!_0x3149cb[_0xe11f('0x2b')][_0xe11f('0x32')](_0xe11f('0x48'))){_0x4513d3[_0xe11f('0x1c')]=qs[_0xe11f('0x1c')](_0x3149cb[_0xe11f('0x2b')][_0xe11f('0x1c')]);_0x4513d3[_0xe11f('0x1a')]=qs[_0xe11f('0x1a')](_0x3149cb[_0xe11f('0x2b')][_0xe11f('0x1a')]);}return _0x59a337[_0xe11f('0x4b')](_0x4513d3);}})[_0xe11f('0x21')](function(_0x416934){if(_0x416934){return _0x416934?{'count':_0x2eddb8,'rows':_0x416934}:null;}})['then'](respondWithResult(_0x28c8ce,null))[_0xe11f('0x40')](handleError(_0x28c8ce,null));};