Built motion from commit 3c2ce842.|2.6.31
[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 _0xef0c=['Content-Range','reject','save','update','then','destroy','error','name','send','index','Dynamics365Configuration','fieldName','type','map','keys','filters','intersection','query','attributes','model','nolimit','order','sort','where','filter','merge','options','includeAll','findAll','rows','catch','show','params','rawAttributes','fields','length','include','find','create','body','getFields','findOne','Dynamics365Field','getSubjects','pick','getDescriptions','hasOwnProperty','rimraf','fast-json-patch','request-promise','bluebird','util','path','sox','to-csv','ejs','fs-extra','lodash','squel','crypto','jsforce','desk.js','querystring','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','api','../../config/utils','../../config/license/util','../../mysqldb','sendStatus','status','end','json','undefined','limit','count','offset'];(function(_0x240029,_0xa5229c){var _0x561c75=function(_0x2db3a6){while(--_0x2db3a6){_0x240029['push'](_0x240029['shift']());}};_0x561c75(++_0xa5229c);}(_0xef0c,0x1bf));var _0xcef0=function(_0xd30ce,_0x1a5594){_0xd30ce=_0xd30ce-0x0;var _0x19ffde=_0xef0c[_0xd30ce];return _0x19ffde;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0xcef0('0x0'));var zipdir=require('zip-dir');var jsonpatch=require(_0xcef0('0x1'));var rp=require(_0xcef0('0x2'));var moment=require('moment');var BPromise=require(_0xcef0('0x3'));var Mustache=require('mustache');var util=require(_0xcef0('0x4'));var path=require(_0xcef0('0x5'));var sox=require(_0xcef0('0x6'));var csv=require(_0xcef0('0x7'));var ejs=require(_0xcef0('0x8'));var fs=require('fs');var fs_extra=require(_0xcef0('0x9'));var _=require(_0xcef0('0xa'));var squel=require(_0xcef0('0xb'));var crypto=require(_0xcef0('0xc'));var jsforce=require(_0xcef0('0xd'));var deskjs=require(_0xcef0('0xe'));var toCsv=require(_0xcef0('0x7'));var querystring=require(_0xcef0('0xf'));var Papa=require('papaparse');var Redis=require(_0xcef0('0x10'));var authService=require(_0xcef0('0x11'));var qs=require(_0xcef0('0x12'));var as=require(_0xcef0('0x13'));var hardwareService=require('../../config/license/hardware');var logger=require(_0xcef0('0x14'))(_0xcef0('0x15'));var utils=require(_0xcef0('0x16'));var config=require('../../config/environment');var licenseUtil=require(_0xcef0('0x17'));var db=require(_0xcef0('0x18'))['db'];function respondWithStatusCode(_0x2082f6,_0xb024e3){_0xb024e3=_0xb024e3||0xcc;return function(_0x3a980d){if(_0x3a980d){return _0x2082f6[_0xcef0('0x19')](_0xb024e3);}return _0x2082f6[_0xcef0('0x1a')](_0xb024e3)[_0xcef0('0x1b')]();};}function respondWithResult(_0x508076,_0x506c49){_0x506c49=_0x506c49||0xc8;return function(_0x4852c1){if(_0x4852c1){return _0x508076['status'](_0x506c49)[_0xcef0('0x1c')](_0x4852c1);}};}function respondWithFilteredResult(_0x4a1719,_0x4ccee6){return function(_0x5ddde9){if(_0x5ddde9){var _0x5626b6=typeof _0x4ccee6['offset']===_0xcef0('0x1d')&&typeof _0x4ccee6[_0xcef0('0x1e')]===_0xcef0('0x1d');var _0x2b88f0=_0x5ddde9['count'];var _0xd2feb9=_0x5626b6?0x0:_0x4ccee6['offset'];var _0x1e0c3f=_0x5626b6?_0x5ddde9[_0xcef0('0x1f')]:_0x4ccee6[_0xcef0('0x20')]+_0x4ccee6[_0xcef0('0x1e')];var _0x3eb3bb;if(_0x1e0c3f>=_0x2b88f0){_0x1e0c3f=_0x2b88f0;_0x3eb3bb=0xc8;}else{_0x3eb3bb=0xce;}_0x4a1719[_0xcef0('0x1a')](_0x3eb3bb);return _0x4a1719['set'](_0xcef0('0x21'),_0xd2feb9+'-'+_0x1e0c3f+'/'+_0x2b88f0)['json'](_0x5ddde9);}return null;};}function patchUpdates(_0x28d503){return function(_0x17617a){try{jsonpatch['apply'](_0x17617a,_0x28d503,!![]);}catch(_0x390169){return BPromise[_0xcef0('0x22')](_0x390169);}return _0x17617a[_0xcef0('0x23')]();};}function saveUpdates(_0x4aeeef,_0x4dd662){return function(_0x5f3ef2){if(_0x5f3ef2){return _0x5f3ef2[_0xcef0('0x24')](_0x4aeeef)[_0xcef0('0x25')](function(_0x4358f8){return _0x4358f8;});}return null;};}function removeEntity(_0x4d4203,_0x2b4c2c){return function(_0x1d30dd){if(_0x1d30dd){return _0x1d30dd[_0xcef0('0x26')]()['then'](function(){_0x4d4203[_0xcef0('0x1a')](0xcc)[_0xcef0('0x1b')]();});}};}function handleEntityNotFound(_0x1d503b,_0x185138){return function(_0xe6ed07){if(!_0xe6ed07){_0x1d503b[_0xcef0('0x19')](0x194);}return _0xe6ed07;};}function handleError(_0x371bde,_0x38209e){_0x38209e=_0x38209e||0x1f4;return function(_0x4959f1){logger[_0xcef0('0x27')](_0x4959f1['stack']);if(_0x4959f1[_0xcef0('0x28')]){delete _0x4959f1['name'];}_0x371bde[_0xcef0('0x1a')](_0x38209e)[_0xcef0('0x29')](_0x4959f1);};}exports[_0xcef0('0x2a')]=function(_0x7befc2,_0x1e903d){var _0x2687fc={},_0x39c7a9={},_0x18f558={'count':0x0,'rows':[]};var _0x5037e9=_['map'](db[_0xcef0('0x2b')]['rawAttributes'],function(_0x4d15e0){return{'name':_0x4d15e0[_0xcef0('0x2c')],'type':_0x4d15e0[_0xcef0('0x2d')]['key']};});_0x39c7a9['model']=_[_0xcef0('0x2e')](_0x5037e9,'name');_0x39c7a9['query']=_[_0xcef0('0x2f')](_0x7befc2['query']);_0x39c7a9[_0xcef0('0x30')]=_[_0xcef0('0x31')](_0x39c7a9['model'],_0x39c7a9[_0xcef0('0x32')]);_0x2687fc[_0xcef0('0x33')]=_[_0xcef0('0x31')](_0x39c7a9[_0xcef0('0x34')],qs['fields'](_0x7befc2['query']['fields']));_0x2687fc['attributes']=_0x2687fc['attributes']['length']?_0x2687fc[_0xcef0('0x33')]:_0x39c7a9['model'];if(!_0x7befc2[_0xcef0('0x32')]['hasOwnProperty'](_0xcef0('0x35'))){_0x2687fc['limit']=qs[_0xcef0('0x1e')](_0x7befc2['query'][_0xcef0('0x1e')]);_0x2687fc[_0xcef0('0x20')]=qs[_0xcef0('0x20')](_0x7befc2[_0xcef0('0x32')][_0xcef0('0x20')]);}_0x2687fc[_0xcef0('0x36')]=qs[_0xcef0('0x37')](_0x7befc2[_0xcef0('0x32')]['sort']);_0x2687fc[_0xcef0('0x38')]=qs[_0xcef0('0x30')](_['pick'](_0x7befc2[_0xcef0('0x32')],_0x39c7a9[_0xcef0('0x30')]),_0x5037e9);if(_0x7befc2['query'][_0xcef0('0x39')]){_0x2687fc[_0xcef0('0x38')]=_['merge'](_0x2687fc[_0xcef0('0x38')],{'$or':_['map'](_0x5037e9,function(_0x5f0d04){if(_0x5f0d04[_0xcef0('0x2d')]!=='VIRTUAL'){var _0x4376fb={};_0x4376fb[_0x5f0d04[_0xcef0('0x28')]]={'$like':'%'+_0x7befc2[_0xcef0('0x32')][_0xcef0('0x39')]+'%'};return _0x4376fb;}})});}_0x2687fc=_[_0xcef0('0x3a')]({},_0x2687fc,_0x7befc2[_0xcef0('0x3b')]);var _0x344baa={'where':_0x2687fc[_0xcef0('0x38')]};return db['Dynamics365Configuration'][_0xcef0('0x1f')](_0x344baa)[_0xcef0('0x25')](function(_0x16916c){_0x18f558[_0xcef0('0x1f')]=_0x16916c;if(_0x7befc2['query'][_0xcef0('0x3c')]){_0x2687fc['include']=[{'all':!![]}];}return db[_0xcef0('0x2b')][_0xcef0('0x3d')](_0x2687fc);})['then'](function(_0x170ba9){_0x18f558[_0xcef0('0x3e')]=_0x170ba9;return _0x18f558;})[_0xcef0('0x25')](respondWithFilteredResult(_0x1e903d,_0x2687fc))[_0xcef0('0x3f')](handleError(_0x1e903d,null));};exports[_0xcef0('0x40')]=function(_0x11cdeb,_0x27ec9f){var _0x255731={'raw':![],'where':{'id':_0x11cdeb[_0xcef0('0x41')]['id']}},_0x521d01={};_0x521d01['model']=_[_0xcef0('0x2f')](db['Dynamics365Configuration'][_0xcef0('0x42')]);_0x521d01[_0xcef0('0x32')]=_['keys'](_0x11cdeb[_0xcef0('0x32')]);_0x521d01[_0xcef0('0x30')]=_[_0xcef0('0x31')](_0x521d01[_0xcef0('0x34')],_0x521d01['query']);_0x255731[_0xcef0('0x33')]=_[_0xcef0('0x31')](_0x521d01[_0xcef0('0x34')],qs[_0xcef0('0x43')](_0x11cdeb['query'][_0xcef0('0x43')]));_0x255731[_0xcef0('0x33')]=_0x255731[_0xcef0('0x33')][_0xcef0('0x44')]?_0x255731[_0xcef0('0x33')]:_0x521d01[_0xcef0('0x34')];if(_0x11cdeb[_0xcef0('0x32')]['includeAll']){_0x255731[_0xcef0('0x45')]=[{'all':!![]}];}_0x255731=_['merge']({},_0x255731,_0x11cdeb[_0xcef0('0x3b')]);return db[_0xcef0('0x2b')][_0xcef0('0x46')](_0x255731)['then'](handleEntityNotFound(_0x27ec9f,null))[_0xcef0('0x25')](respondWithResult(_0x27ec9f,null))[_0xcef0('0x3f')](handleError(_0x27ec9f,null));};exports[_0xcef0('0x47')]=function(_0x408ea5,_0x221c6e){return db[_0xcef0('0x2b')][_0xcef0('0x47')](_0x408ea5[_0xcef0('0x48')],{})[_0xcef0('0x25')](respondWithResult(_0x221c6e,0xc9))[_0xcef0('0x3f')](handleError(_0x221c6e,null));};exports[_0xcef0('0x24')]=function(_0x59603b,_0x15c783){if(_0x59603b[_0xcef0('0x48')]['id']){delete _0x59603b['body']['id'];}return db[_0xcef0('0x2b')]['find']({'where':{'id':_0x59603b['params']['id']}})[_0xcef0('0x25')](handleEntityNotFound(_0x15c783,null))['then'](saveUpdates(_0x59603b[_0xcef0('0x48')],null))['then'](respondWithResult(_0x15c783,null))[_0xcef0('0x3f')](handleError(_0x15c783,null));};exports[_0xcef0('0x26')]=function(_0x2d975f,_0x21f4df){return db[_0xcef0('0x2b')][_0xcef0('0x46')]({'where':{'id':_0x2d975f[_0xcef0('0x41')]['id']}})[_0xcef0('0x25')](handleEntityNotFound(_0x21f4df,null))[_0xcef0('0x25')](removeEntity(_0x21f4df,null))[_0xcef0('0x3f')](handleError(_0x21f4df,null));};exports[_0xcef0('0x49')]=function(_0x44a87f,_0x454821,_0x970c4f){var _0x40130e={};var _0x237ba1={};var _0x6a85e;var _0x31d8f0;return db['Dynamics365Configuration'][_0xcef0('0x4a')]({'where':{'id':_0x44a87f[_0xcef0('0x41')]['id']}})['then'](handleEntityNotFound(_0x454821,null))[_0xcef0('0x25')](function(_0x1fb9fb){if(_0x1fb9fb){_0x6a85e=_0x1fb9fb;_0x237ba1['model']=_['keys'](db[_0xcef0('0x4b')][_0xcef0('0x42')]);_0x237ba1['query']=_[_0xcef0('0x2f')](_0x44a87f[_0xcef0('0x32')]);_0x237ba1[_0xcef0('0x30')]=_[_0xcef0('0x31')](_0x237ba1[_0xcef0('0x34')],_0x237ba1[_0xcef0('0x32')]);_0x40130e[_0xcef0('0x33')]=_[_0xcef0('0x31')](_0x237ba1['model'],qs[_0xcef0('0x43')](_0x44a87f[_0xcef0('0x32')][_0xcef0('0x43')]));_0x40130e[_0xcef0('0x33')]=_0x40130e[_0xcef0('0x33')][_0xcef0('0x44')]?_0x40130e[_0xcef0('0x33')]:_0x237ba1[_0xcef0('0x34')];_0x40130e[_0xcef0('0x36')]=qs[_0xcef0('0x37')](_0x44a87f['query'][_0xcef0('0x37')]);_0x40130e[_0xcef0('0x38')]=qs['filters'](_['pick'](_0x44a87f[_0xcef0('0x32')],_0x237ba1[_0xcef0('0x30')]));if(_0x44a87f[_0xcef0('0x32')]['filter']){_0x40130e[_0xcef0('0x38')]=_[_0xcef0('0x3a')](_0x40130e[_0xcef0('0x38')],{'$or':_['map'](_0x40130e[_0xcef0('0x33')],function(_0x1e6594){var _0x6d3b75={};_0x6d3b75[_0x1e6594]={'$like':'%'+_0x44a87f[_0xcef0('0x32')]['filter']+'%'};return _0x6d3b75;})});}_0x40130e=_[_0xcef0('0x3a')]({},_0x40130e,_0x44a87f[_0xcef0('0x3b')]);return _0x6a85e[_0xcef0('0x49')](_0x40130e);}})[_0xcef0('0x25')](function(_0x1f1244){if(_0x1f1244){_0x31d8f0=_0x1f1244[_0xcef0('0x44')];if(!_0x44a87f[_0xcef0('0x32')]['hasOwnProperty']('nolimit')){_0x40130e[_0xcef0('0x1e')]=qs[_0xcef0('0x1e')](_0x44a87f['query']['limit']);_0x40130e[_0xcef0('0x20')]=qs['offset'](_0x44a87f['query'][_0xcef0('0x20')]);}return _0x6a85e[_0xcef0('0x49')](_0x40130e);}})[_0xcef0('0x25')](function(_0x43ca4b){if(_0x43ca4b){return _0x43ca4b?{'count':_0x31d8f0,'rows':_0x43ca4b}:null;}})[_0xcef0('0x25')](respondWithResult(_0x454821,null))[_0xcef0('0x3f')](handleError(_0x454821,null));};exports[_0xcef0('0x4c')]=function(_0x29bb75,_0x3838a5,_0xf7e3b2){var _0xbb6eac={};var _0xdff04={};var _0x228056;var _0x3a9f6b;return db[_0xcef0('0x2b')][_0xcef0('0x4a')]({'where':{'id':_0x29bb75['params']['id']}})[_0xcef0('0x25')](handleEntityNotFound(_0x3838a5,null))[_0xcef0('0x25')](function(_0x1d9bbe){if(_0x1d9bbe){_0x228056=_0x1d9bbe;_0xdff04['model']=_[_0xcef0('0x2f')](db['Dynamics365Field'][_0xcef0('0x42')]);_0xdff04[_0xcef0('0x32')]=_[_0xcef0('0x2f')](_0x29bb75['query']);_0xdff04['filters']=_[_0xcef0('0x31')](_0xdff04[_0xcef0('0x34')],_0xdff04[_0xcef0('0x32')]);_0xbb6eac['attributes']=_[_0xcef0('0x31')](_0xdff04['model'],qs['fields'](_0x29bb75['query']['fields']));_0xbb6eac[_0xcef0('0x33')]=_0xbb6eac['attributes'][_0xcef0('0x44')]?_0xbb6eac[_0xcef0('0x33')]:_0xdff04[_0xcef0('0x34')];_0xbb6eac[_0xcef0('0x36')]=qs['sort'](_0x29bb75[_0xcef0('0x32')][_0xcef0('0x37')]);_0xbb6eac[_0xcef0('0x38')]=qs[_0xcef0('0x30')](_[_0xcef0('0x4d')](_0x29bb75['query'],_0xdff04[_0xcef0('0x30')]));if(_0x29bb75[_0xcef0('0x32')][_0xcef0('0x39')]){_0xbb6eac[_0xcef0('0x38')]=_[_0xcef0('0x3a')](_0xbb6eac[_0xcef0('0x38')],{'$or':_[_0xcef0('0x2e')](_0xbb6eac[_0xcef0('0x33')],function(_0x4ffcd8){var _0x5d3309={};_0x5d3309[_0x4ffcd8]={'$like':'%'+_0x29bb75[_0xcef0('0x32')]['filter']+'%'};return _0x5d3309;})});}_0xbb6eac=_[_0xcef0('0x3a')]({},_0xbb6eac,_0x29bb75[_0xcef0('0x3b')]);return _0x228056[_0xcef0('0x4c')](_0xbb6eac);}})[_0xcef0('0x25')](function(_0x5a3eb2){if(_0x5a3eb2){_0x3a9f6b=_0x5a3eb2['length'];if(!_0x29bb75[_0xcef0('0x32')]['hasOwnProperty'](_0xcef0('0x35'))){_0xbb6eac[_0xcef0('0x1e')]=qs[_0xcef0('0x1e')](_0x29bb75[_0xcef0('0x32')][_0xcef0('0x1e')]);_0xbb6eac[_0xcef0('0x20')]=qs['offset'](_0x29bb75[_0xcef0('0x32')][_0xcef0('0x20')]);}return _0x228056[_0xcef0('0x4c')](_0xbb6eac);}})[_0xcef0('0x25')](function(_0x4ab023){if(_0x4ab023){return _0x4ab023?{'count':_0x3a9f6b,'rows':_0x4ab023}:null;}})[_0xcef0('0x25')](respondWithResult(_0x3838a5,null))['catch'](handleError(_0x3838a5,null));};exports[_0xcef0('0x4e')]=function(_0x1aaae7,_0x1c2a17,_0x1796c5){var _0x59e07c={};var _0x1507bf={};var _0x2c88f3;var _0x136ea7;return db[_0xcef0('0x2b')][_0xcef0('0x4a')]({'where':{'id':_0x1aaae7[_0xcef0('0x41')]['id']}})['then'](handleEntityNotFound(_0x1c2a17,null))[_0xcef0('0x25')](function(_0x4d6dfd){if(_0x4d6dfd){_0x2c88f3=_0x4d6dfd;_0x1507bf[_0xcef0('0x34')]=_[_0xcef0('0x2f')](db['Dynamics365Field'][_0xcef0('0x42')]);_0x1507bf[_0xcef0('0x32')]=_['keys'](_0x1aaae7[_0xcef0('0x32')]);_0x1507bf['filters']=_[_0xcef0('0x31')](_0x1507bf[_0xcef0('0x34')],_0x1507bf['query']);_0x59e07c[_0xcef0('0x33')]=_[_0xcef0('0x31')](_0x1507bf['model'],qs[_0xcef0('0x43')](_0x1aaae7[_0xcef0('0x32')]['fields']));_0x59e07c[_0xcef0('0x33')]=_0x59e07c[_0xcef0('0x33')][_0xcef0('0x44')]?_0x59e07c['attributes']:_0x1507bf['model'];_0x59e07c[_0xcef0('0x36')]=qs['sort'](_0x1aaae7[_0xcef0('0x32')][_0xcef0('0x37')]);_0x59e07c[_0xcef0('0x38')]=qs[_0xcef0('0x30')](_[_0xcef0('0x4d')](_0x1aaae7[_0xcef0('0x32')],_0x1507bf[_0xcef0('0x30')]));if(_0x1aaae7['query'][_0xcef0('0x39')]){_0x59e07c['where']=_[_0xcef0('0x3a')](_0x59e07c[_0xcef0('0x38')],{'$or':_[_0xcef0('0x2e')](_0x59e07c[_0xcef0('0x33')],function(_0x3d74cf){var _0x800300={};_0x800300[_0x3d74cf]={'$like':'%'+_0x1aaae7[_0xcef0('0x32')]['filter']+'%'};return _0x800300;})});}_0x59e07c=_[_0xcef0('0x3a')]({},_0x59e07c,_0x1aaae7['options']);return _0x2c88f3[_0xcef0('0x4e')](_0x59e07c);}})[_0xcef0('0x25')](function(_0x1eae5d){if(_0x1eae5d){_0x136ea7=_0x1eae5d[_0xcef0('0x44')];if(!_0x1aaae7['query'][_0xcef0('0x4f')](_0xcef0('0x35'))){_0x59e07c[_0xcef0('0x1e')]=qs['limit'](_0x1aaae7['query'][_0xcef0('0x1e')]);_0x59e07c[_0xcef0('0x20')]=qs[_0xcef0('0x20')](_0x1aaae7['query'][_0xcef0('0x20')]);}return _0x2c88f3[_0xcef0('0x4e')](_0x59e07c);}})[_0xcef0('0x25')](function(_0x13ca45){if(_0x13ca45){return _0x13ca45?{'count':_0x136ea7,'rows':_0x13ca45}:null;}})[_0xcef0('0x25')](respondWithResult(_0x1c2a17,null))[_0xcef0('0x3f')](handleError(_0x1c2a17,null));};