Built motion from commit 775e2a94.|2.6.3
[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 _0x0bb1=['limit','count','set','Content-Range','update','then','destroy','error','stack','name','send','Dynamics365Configuration','rawAttributes','type','model','map','query','filters','attributes','intersection','fields','length','hasOwnProperty','nolimit','order','sort','where','pick','filter','merge','VIRTUAL','options','includeAll','findAll','show','params','keys','include','find','catch','create','body','findOne','Dynamics365Field','getFields','getSubjects','getDescriptions','rimraf','zip-dir','request-promise','bluebird','mustache','path','sox','to-csv','ejs','fs-extra','lodash','squel','jsforce','querystring','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','json','offset','undefined'];(function(_0x52cbe0,_0x332b2e){var _0x4bb9da=function(_0x4f8008){while(--_0x4f8008){_0x52cbe0['push'](_0x52cbe0['shift']());}};_0x4bb9da(++_0x332b2e);}(_0x0bb1,0x15f));var _0x10bb=function(_0x3ef4f1,_0x5f0f9b){_0x3ef4f1=_0x3ef4f1-0x0;var _0x69953c=_0x0bb1[_0x3ef4f1];return _0x69953c;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0x10bb('0x0'));var zipdir=require(_0x10bb('0x1'));var jsonpatch=require('fast-json-patch');var rp=require(_0x10bb('0x2'));var moment=require('moment');var BPromise=require(_0x10bb('0x3'));var Mustache=require(_0x10bb('0x4'));var util=require('util');var path=require(_0x10bb('0x5'));var sox=require(_0x10bb('0x6'));var csv=require(_0x10bb('0x7'));var ejs=require(_0x10bb('0x8'));var fs=require('fs');var fs_extra=require(_0x10bb('0x9'));var _=require(_0x10bb('0xa'));var squel=require(_0x10bb('0xb'));var crypto=require('crypto');var jsforce=require(_0x10bb('0xc'));var deskjs=require('desk.js');var toCsv=require(_0x10bb('0x7'));var querystring=require(_0x10bb('0xd'));var Papa=require('papaparse');var Redis=require(_0x10bb('0xe'));var authService=require(_0x10bb('0xf'));var qs=require(_0x10bb('0x10'));var as=require(_0x10bb('0x11'));var hardwareService=require(_0x10bb('0x12'));var logger=require(_0x10bb('0x13'))('api');var utils=require('../../config/utils');var config=require(_0x10bb('0x14'));var licenseUtil=require(_0x10bb('0x15'));var db=require(_0x10bb('0x16'))['db'];function respondWithStatusCode(_0x5e7414,_0x459683){_0x459683=_0x459683||0xcc;return function(_0x558b16){if(_0x558b16){return _0x5e7414[_0x10bb('0x17')](_0x459683);}return _0x5e7414[_0x10bb('0x18')](_0x459683)[_0x10bb('0x19')]();};}function respondWithResult(_0x189d26,_0x5cf86b){_0x5cf86b=_0x5cf86b||0xc8;return function(_0x370c36){if(_0x370c36){return _0x189d26['status'](_0x5cf86b)[_0x10bb('0x1a')](_0x370c36);}};}function respondWithFilteredResult(_0x379a83,_0x37fab4){return function(_0x187161){if(_0x187161){var _0x4a3f2c=typeof _0x37fab4[_0x10bb('0x1b')]===_0x10bb('0x1c')&&typeof _0x37fab4[_0x10bb('0x1d')]==='undefined';var _0x2bd605=_0x187161[_0x10bb('0x1e')];var _0x3d2e78=_0x4a3f2c?0x0:_0x37fab4[_0x10bb('0x1b')];var _0x4b0411=_0x4a3f2c?_0x187161[_0x10bb('0x1e')]:_0x37fab4['offset']+_0x37fab4[_0x10bb('0x1d')];var _0x24d408;if(_0x4b0411>=_0x2bd605){_0x4b0411=_0x2bd605;_0x24d408=0xc8;}else{_0x24d408=0xce;}_0x379a83[_0x10bb('0x18')](_0x24d408);return _0x379a83[_0x10bb('0x1f')](_0x10bb('0x20'),_0x3d2e78+'-'+_0x4b0411+'/'+_0x2bd605)[_0x10bb('0x1a')](_0x187161);}return null;};}function patchUpdates(_0xfd6cb0){return function(_0x5aa344){try{jsonpatch['apply'](_0x5aa344,_0xfd6cb0,!![]);}catch(_0x2cfe85){return BPromise['reject'](_0x2cfe85);}return _0x5aa344['save']();};}function saveUpdates(_0x21c888,_0x424fec){return function(_0x426dab){if(_0x426dab){return _0x426dab[_0x10bb('0x21')](_0x21c888)[_0x10bb('0x22')](function(_0x4c1e71){return _0x4c1e71;});}return null;};}function removeEntity(_0x5b846d,_0x383208){return function(_0xfa6956){if(_0xfa6956){return _0xfa6956[_0x10bb('0x23')]()[_0x10bb('0x22')](function(){_0x5b846d[_0x10bb('0x18')](0xcc)['end']();});}};}function handleEntityNotFound(_0xd455c6,_0x2f08a6){return function(_0x363633){if(!_0x363633){_0xd455c6[_0x10bb('0x17')](0x194);}return _0x363633;};}function handleError(_0x20dd38,_0x3b6490){_0x3b6490=_0x3b6490||0x1f4;return function(_0x2f044d){logger[_0x10bb('0x24')](_0x2f044d[_0x10bb('0x25')]);if(_0x2f044d[_0x10bb('0x26')]){delete _0x2f044d[_0x10bb('0x26')];}_0x20dd38[_0x10bb('0x18')](_0x3b6490)[_0x10bb('0x27')](_0x2f044d);};}exports['index']=function(_0x1782bb,_0x579851){var _0x569425={},_0x18f503={},_0x329432={'count':0x0,'rows':[]};var _0x1aefeb=_['map'](db[_0x10bb('0x28')][_0x10bb('0x29')],function(_0x5323e4){return{'name':_0x5323e4['fieldName'],'type':_0x5323e4[_0x10bb('0x2a')]['key']};});_0x18f503[_0x10bb('0x2b')]=_[_0x10bb('0x2c')](_0x1aefeb,_0x10bb('0x26'));_0x18f503['query']=_['keys'](_0x1782bb[_0x10bb('0x2d')]);_0x18f503[_0x10bb('0x2e')]=_['intersection'](_0x18f503[_0x10bb('0x2b')],_0x18f503['query']);_0x569425[_0x10bb('0x2f')]=_[_0x10bb('0x30')](_0x18f503[_0x10bb('0x2b')],qs[_0x10bb('0x31')](_0x1782bb[_0x10bb('0x2d')][_0x10bb('0x31')]));_0x569425[_0x10bb('0x2f')]=_0x569425['attributes'][_0x10bb('0x32')]?_0x569425[_0x10bb('0x2f')]:_0x18f503['model'];if(!_0x1782bb[_0x10bb('0x2d')][_0x10bb('0x33')](_0x10bb('0x34'))){_0x569425['limit']=qs[_0x10bb('0x1d')](_0x1782bb[_0x10bb('0x2d')][_0x10bb('0x1d')]);_0x569425['offset']=qs[_0x10bb('0x1b')](_0x1782bb[_0x10bb('0x2d')][_0x10bb('0x1b')]);}_0x569425[_0x10bb('0x35')]=qs[_0x10bb('0x36')](_0x1782bb[_0x10bb('0x2d')][_0x10bb('0x36')]);_0x569425[_0x10bb('0x37')]=qs[_0x10bb('0x2e')](_[_0x10bb('0x38')](_0x1782bb[_0x10bb('0x2d')],_0x18f503[_0x10bb('0x2e')]),_0x1aefeb);if(_0x1782bb['query'][_0x10bb('0x39')]){_0x569425[_0x10bb('0x37')]=_[_0x10bb('0x3a')](_0x569425[_0x10bb('0x37')],{'$or':_[_0x10bb('0x2c')](_0x1aefeb,function(_0x57a436){if(_0x57a436[_0x10bb('0x2a')]!==_0x10bb('0x3b')){var _0x4913da={};_0x4913da[_0x57a436[_0x10bb('0x26')]]={'$like':'%'+_0x1782bb[_0x10bb('0x2d')]['filter']+'%'};return _0x4913da;}})});}_0x569425=_['merge']({},_0x569425,_0x1782bb[_0x10bb('0x3c')]);var _0x59c249={'where':_0x569425[_0x10bb('0x37')]};return db['Dynamics365Configuration'][_0x10bb('0x1e')](_0x59c249)[_0x10bb('0x22')](function(_0x45450b){_0x329432['count']=_0x45450b;if(_0x1782bb[_0x10bb('0x2d')][_0x10bb('0x3d')]){_0x569425['include']=[{'all':!![]}];}return db[_0x10bb('0x28')][_0x10bb('0x3e')](_0x569425);})['then'](function(_0x9ebe07){_0x329432['rows']=_0x9ebe07;return _0x329432;})[_0x10bb('0x22')](respondWithFilteredResult(_0x579851,_0x569425))['catch'](handleError(_0x579851,null));};exports[_0x10bb('0x3f')]=function(_0x5ec431,_0x1b5016){var _0x496db2={'raw':![],'where':{'id':_0x5ec431[_0x10bb('0x40')]['id']}},_0x278e52={};_0x278e52[_0x10bb('0x2b')]=_[_0x10bb('0x41')](db[_0x10bb('0x28')][_0x10bb('0x29')]);_0x278e52[_0x10bb('0x2d')]=_[_0x10bb('0x41')](_0x5ec431['query']);_0x278e52['filters']=_['intersection'](_0x278e52[_0x10bb('0x2b')],_0x278e52['query']);_0x496db2['attributes']=_[_0x10bb('0x30')](_0x278e52[_0x10bb('0x2b')],qs[_0x10bb('0x31')](_0x5ec431[_0x10bb('0x2d')][_0x10bb('0x31')]));_0x496db2[_0x10bb('0x2f')]=_0x496db2['attributes']['length']?_0x496db2[_0x10bb('0x2f')]:_0x278e52[_0x10bb('0x2b')];if(_0x5ec431[_0x10bb('0x2d')][_0x10bb('0x3d')]){_0x496db2[_0x10bb('0x42')]=[{'all':!![]}];}_0x496db2=_[_0x10bb('0x3a')]({},_0x496db2,_0x5ec431[_0x10bb('0x3c')]);return db[_0x10bb('0x28')][_0x10bb('0x43')](_0x496db2)[_0x10bb('0x22')](handleEntityNotFound(_0x1b5016,null))['then'](respondWithResult(_0x1b5016,null))[_0x10bb('0x44')](handleError(_0x1b5016,null));};exports['create']=function(_0x1733d0,_0x4a378e){return db[_0x10bb('0x28')][_0x10bb('0x45')](_0x1733d0[_0x10bb('0x46')],{})[_0x10bb('0x22')](respondWithResult(_0x4a378e,0xc9))[_0x10bb('0x44')](handleError(_0x4a378e,null));};exports['update']=function(_0x158b6f,_0x799220){if(_0x158b6f[_0x10bb('0x46')]['id']){delete _0x158b6f[_0x10bb('0x46')]['id'];}return db[_0x10bb('0x28')]['find']({'where':{'id':_0x158b6f[_0x10bb('0x40')]['id']}})[_0x10bb('0x22')](handleEntityNotFound(_0x799220,null))[_0x10bb('0x22')](saveUpdates(_0x158b6f['body'],null))[_0x10bb('0x22')](respondWithResult(_0x799220,null))[_0x10bb('0x44')](handleError(_0x799220,null));};exports['destroy']=function(_0x5b0610,_0x48738a){return db['Dynamics365Configuration']['find']({'where':{'id':_0x5b0610[_0x10bb('0x40')]['id']}})[_0x10bb('0x22')](handleEntityNotFound(_0x48738a,null))[_0x10bb('0x22')](removeEntity(_0x48738a,null))[_0x10bb('0x44')](handleError(_0x48738a,null));};exports['getFields']=function(_0x26fd2b,_0x473d42,_0x3ee2c6){var _0x59093b={};var _0x2ee893={};var _0xf41690;var _0x15326f;return db['Dynamics365Configuration'][_0x10bb('0x47')]({'where':{'id':_0x26fd2b[_0x10bb('0x40')]['id']}})['then'](handleEntityNotFound(_0x473d42,null))[_0x10bb('0x22')](function(_0x472ddf){if(_0x472ddf){_0xf41690=_0x472ddf;_0x2ee893[_0x10bb('0x2b')]=_[_0x10bb('0x41')](db[_0x10bb('0x48')][_0x10bb('0x29')]);_0x2ee893[_0x10bb('0x2d')]=_['keys'](_0x26fd2b[_0x10bb('0x2d')]);_0x2ee893[_0x10bb('0x2e')]=_[_0x10bb('0x30')](_0x2ee893[_0x10bb('0x2b')],_0x2ee893[_0x10bb('0x2d')]);_0x59093b[_0x10bb('0x2f')]=_['intersection'](_0x2ee893[_0x10bb('0x2b')],qs[_0x10bb('0x31')](_0x26fd2b[_0x10bb('0x2d')][_0x10bb('0x31')]));_0x59093b['attributes']=_0x59093b[_0x10bb('0x2f')]['length']?_0x59093b['attributes']:_0x2ee893[_0x10bb('0x2b')];_0x59093b['order']=qs[_0x10bb('0x36')](_0x26fd2b[_0x10bb('0x2d')][_0x10bb('0x36')]);_0x59093b[_0x10bb('0x37')]=qs['filters'](_[_0x10bb('0x38')](_0x26fd2b[_0x10bb('0x2d')],_0x2ee893[_0x10bb('0x2e')]));if(_0x26fd2b[_0x10bb('0x2d')][_0x10bb('0x39')]){_0x59093b[_0x10bb('0x37')]=_[_0x10bb('0x3a')](_0x59093b['where'],{'$or':_[_0x10bb('0x2c')](_0x59093b['attributes'],function(_0x2d3db1){var _0x1bccd2={};_0x1bccd2[_0x2d3db1]={'$like':'%'+_0x26fd2b['query'][_0x10bb('0x39')]+'%'};return _0x1bccd2;})});}_0x59093b=_['merge']({},_0x59093b,_0x26fd2b[_0x10bb('0x3c')]);return _0xf41690[_0x10bb('0x49')](_0x59093b);}})[_0x10bb('0x22')](function(_0x3e489e){if(_0x3e489e){_0x15326f=_0x3e489e['length'];if(!_0x26fd2b[_0x10bb('0x2d')][_0x10bb('0x33')](_0x10bb('0x34'))){_0x59093b[_0x10bb('0x1d')]=qs[_0x10bb('0x1d')](_0x26fd2b[_0x10bb('0x2d')][_0x10bb('0x1d')]);_0x59093b[_0x10bb('0x1b')]=qs[_0x10bb('0x1b')](_0x26fd2b[_0x10bb('0x2d')][_0x10bb('0x1b')]);}return _0xf41690[_0x10bb('0x49')](_0x59093b);}})[_0x10bb('0x22')](function(_0x286e79){if(_0x286e79){return _0x286e79?{'count':_0x15326f,'rows':_0x286e79}:null;}})[_0x10bb('0x22')](respondWithResult(_0x473d42,null))['catch'](handleError(_0x473d42,null));};exports[_0x10bb('0x4a')]=function(_0x2d77a7,_0x5d140a,_0x239790){var _0x5689e4={};var _0x46ed67={};var _0x25af22;var _0xf8848;return db[_0x10bb('0x28')][_0x10bb('0x47')]({'where':{'id':_0x2d77a7[_0x10bb('0x40')]['id']}})['then'](handleEntityNotFound(_0x5d140a,null))[_0x10bb('0x22')](function(_0x57662e){if(_0x57662e){_0x25af22=_0x57662e;_0x46ed67['model']=_[_0x10bb('0x41')](db['Dynamics365Field']['rawAttributes']);_0x46ed67[_0x10bb('0x2d')]=_['keys'](_0x2d77a7[_0x10bb('0x2d')]);_0x46ed67[_0x10bb('0x2e')]=_[_0x10bb('0x30')](_0x46ed67[_0x10bb('0x2b')],_0x46ed67[_0x10bb('0x2d')]);_0x5689e4['attributes']=_[_0x10bb('0x30')](_0x46ed67[_0x10bb('0x2b')],qs['fields'](_0x2d77a7[_0x10bb('0x2d')]['fields']));_0x5689e4[_0x10bb('0x2f')]=_0x5689e4[_0x10bb('0x2f')]['length']?_0x5689e4[_0x10bb('0x2f')]:_0x46ed67[_0x10bb('0x2b')];_0x5689e4[_0x10bb('0x35')]=qs['sort'](_0x2d77a7[_0x10bb('0x2d')][_0x10bb('0x36')]);_0x5689e4['where']=qs[_0x10bb('0x2e')](_[_0x10bb('0x38')](_0x2d77a7[_0x10bb('0x2d')],_0x46ed67[_0x10bb('0x2e')]));if(_0x2d77a7[_0x10bb('0x2d')][_0x10bb('0x39')]){_0x5689e4['where']=_['merge'](_0x5689e4[_0x10bb('0x37')],{'$or':_[_0x10bb('0x2c')](_0x5689e4[_0x10bb('0x2f')],function(_0x1fcade){var _0x1b9827={};_0x1b9827[_0x1fcade]={'$like':'%'+_0x2d77a7[_0x10bb('0x2d')]['filter']+'%'};return _0x1b9827;})});}_0x5689e4=_[_0x10bb('0x3a')]({},_0x5689e4,_0x2d77a7[_0x10bb('0x3c')]);return _0x25af22[_0x10bb('0x4a')](_0x5689e4);}})[_0x10bb('0x22')](function(_0x24f4ce){if(_0x24f4ce){_0xf8848=_0x24f4ce[_0x10bb('0x32')];if(!_0x2d77a7['query']['hasOwnProperty'](_0x10bb('0x34'))){_0x5689e4['limit']=qs['limit'](_0x2d77a7[_0x10bb('0x2d')][_0x10bb('0x1d')]);_0x5689e4[_0x10bb('0x1b')]=qs['offset'](_0x2d77a7[_0x10bb('0x2d')]['offset']);}return _0x25af22['getSubjects'](_0x5689e4);}})[_0x10bb('0x22')](function(_0x1a282e){if(_0x1a282e){return _0x1a282e?{'count':_0xf8848,'rows':_0x1a282e}:null;}})[_0x10bb('0x22')](respondWithResult(_0x5d140a,null))[_0x10bb('0x44')](handleError(_0x5d140a,null));};exports[_0x10bb('0x4b')]=function(_0x224834,_0x375071,_0x2178ad){var _0x514197={};var _0x336d9d={};var _0x2a7dab;var _0x43ebff;return db[_0x10bb('0x28')]['findOne']({'where':{'id':_0x224834['params']['id']}})['then'](handleEntityNotFound(_0x375071,null))[_0x10bb('0x22')](function(_0x3cf7f5){if(_0x3cf7f5){_0x2a7dab=_0x3cf7f5;_0x336d9d[_0x10bb('0x2b')]=_['keys'](db[_0x10bb('0x48')]['rawAttributes']);_0x336d9d[_0x10bb('0x2d')]=_[_0x10bb('0x41')](_0x224834['query']);_0x336d9d[_0x10bb('0x2e')]=_[_0x10bb('0x30')](_0x336d9d[_0x10bb('0x2b')],_0x336d9d[_0x10bb('0x2d')]);_0x514197['attributes']=_[_0x10bb('0x30')](_0x336d9d[_0x10bb('0x2b')],qs[_0x10bb('0x31')](_0x224834[_0x10bb('0x2d')]['fields']));_0x514197[_0x10bb('0x2f')]=_0x514197[_0x10bb('0x2f')][_0x10bb('0x32')]?_0x514197[_0x10bb('0x2f')]:_0x336d9d['model'];_0x514197['order']=qs[_0x10bb('0x36')](_0x224834[_0x10bb('0x2d')]['sort']);_0x514197[_0x10bb('0x37')]=qs[_0x10bb('0x2e')](_['pick'](_0x224834[_0x10bb('0x2d')],_0x336d9d[_0x10bb('0x2e')]));if(_0x224834[_0x10bb('0x2d')]['filter']){_0x514197[_0x10bb('0x37')]=_['merge'](_0x514197[_0x10bb('0x37')],{'$or':_[_0x10bb('0x2c')](_0x514197[_0x10bb('0x2f')],function(_0x1c34d6){var _0x1bc7c8={};_0x1bc7c8[_0x1c34d6]={'$like':'%'+_0x224834[_0x10bb('0x2d')]['filter']+'%'};return _0x1bc7c8;})});}_0x514197=_[_0x10bb('0x3a')]({},_0x514197,_0x224834['options']);return _0x2a7dab[_0x10bb('0x4b')](_0x514197);}})['then'](function(_0x228191){if(_0x228191){_0x43ebff=_0x228191[_0x10bb('0x32')];if(!_0x224834[_0x10bb('0x2d')][_0x10bb('0x33')](_0x10bb('0x34'))){_0x514197[_0x10bb('0x1d')]=qs[_0x10bb('0x1d')](_0x224834['query']['limit']);_0x514197['offset']=qs['offset'](_0x224834['query'][_0x10bb('0x1b')]);}return _0x2a7dab[_0x10bb('0x4b')](_0x514197);}})['then'](function(_0x2bc3e5){if(_0x2bc3e5){return _0x2bc3e5?{'count':_0x43ebff,'rows':_0x2bc3e5}:null;}})[_0x10bb('0x22')](respondWithResult(_0x375071,null))[_0x10bb('0x44')](handleError(_0x375071,null));};