Built motion from commit 9d0783e6.|2.6.13
[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 _0x3387=['includeAll','findAll','catch','show','params','options','find','create','body','destroy','getFields','findOne','Dynamics365Field','pick','hasOwnProperty','getSubjects','getDescriptions','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','util','sox','ejs','fs-extra','lodash','squel','crypto','desk.js','querystring','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','api','../../config/utils','../../config/license/util','../../mysqldb','sendStatus','status','json','offset','undefined','count','limit','set','Content-Range','save','update','then','end','error','stack','name','send','rawAttributes','fieldName','type','model','map','query','keys','filters','intersection','fields','attributes','length','nolimit','order','sort','where','merge','VIRTUAL','filter','Dynamics365Configuration'];(function(_0x5e6c4d,_0x53b8a6){var _0x23855c=function(_0x3e2ce2){while(--_0x3e2ce2){_0x5e6c4d['push'](_0x5e6c4d['shift']());}};_0x23855c(++_0x53b8a6);}(_0x3387,0xf5));var _0x7338=function(_0x2d32ae,_0x77b33c){_0x2d32ae=_0x2d32ae-0x0;var _0x2520f1=_0x3387[_0x2d32ae];return _0x2520f1;};'use strict';var emlformat=require(_0x7338('0x0'));var rimraf=require(_0x7338('0x1'));var zipdir=require(_0x7338('0x2'));var jsonpatch=require(_0x7338('0x3'));var rp=require(_0x7338('0x4'));var moment=require('moment');var BPromise=require('bluebird');var Mustache=require('mustache');var util=require(_0x7338('0x5'));var path=require('path');var sox=require(_0x7338('0x6'));var csv=require('to-csv');var ejs=require(_0x7338('0x7'));var fs=require('fs');var fs_extra=require(_0x7338('0x8'));var _=require(_0x7338('0x9'));var squel=require(_0x7338('0xa'));var crypto=require(_0x7338('0xb'));var jsforce=require('jsforce');var deskjs=require(_0x7338('0xc'));var toCsv=require('to-csv');var querystring=require(_0x7338('0xd'));var Papa=require('papaparse');var Redis=require(_0x7338('0xe'));var authService=require('../../components/auth/service');var qs=require(_0x7338('0xf'));var as=require(_0x7338('0x10'));var hardwareService=require('../../config/license/hardware');var logger=require(_0x7338('0x11'))(_0x7338('0x12'));var utils=require(_0x7338('0x13'));var config=require('../../config/environment');var licenseUtil=require(_0x7338('0x14'));var db=require(_0x7338('0x15'))['db'];function respondWithStatusCode(_0x5ed849,_0xf3b86d){_0xf3b86d=_0xf3b86d||0xcc;return function(_0xf114fe){if(_0xf114fe){return _0x5ed849[_0x7338('0x16')](_0xf3b86d);}return _0x5ed849[_0x7338('0x17')](_0xf3b86d)['end']();};}function respondWithResult(_0x2e3a58,_0x2aca15){_0x2aca15=_0x2aca15||0xc8;return function(_0x4bfeff){if(_0x4bfeff){return _0x2e3a58[_0x7338('0x17')](_0x2aca15)[_0x7338('0x18')](_0x4bfeff);}};}function respondWithFilteredResult(_0x36f58b,_0x4c0cfd){return function(_0x1c9e94){if(_0x1c9e94){var _0x540f73=typeof _0x4c0cfd[_0x7338('0x19')]===_0x7338('0x1a')&&typeof _0x4c0cfd['limit']===_0x7338('0x1a');var _0x47f7e5=_0x1c9e94[_0x7338('0x1b')];var _0x4c7b9a=_0x540f73?0x0:_0x4c0cfd[_0x7338('0x19')];var _0x16ed73=_0x540f73?_0x1c9e94[_0x7338('0x1b')]:_0x4c0cfd[_0x7338('0x19')]+_0x4c0cfd[_0x7338('0x1c')];var _0x5f42d3;if(_0x16ed73>=_0x47f7e5){_0x16ed73=_0x47f7e5;_0x5f42d3=0xc8;}else{_0x5f42d3=0xce;}_0x36f58b[_0x7338('0x17')](_0x5f42d3);return _0x36f58b[_0x7338('0x1d')](_0x7338('0x1e'),_0x4c7b9a+'-'+_0x16ed73+'/'+_0x47f7e5)[_0x7338('0x18')](_0x1c9e94);}return null;};}function patchUpdates(_0x2f49c5){return function(_0x187e49){try{jsonpatch['apply'](_0x187e49,_0x2f49c5,!![]);}catch(_0x439472){return BPromise['reject'](_0x439472);}return _0x187e49[_0x7338('0x1f')]();};}function saveUpdates(_0x30c647,_0x48fc36){return function(_0x7af13b){if(_0x7af13b){return _0x7af13b[_0x7338('0x20')](_0x30c647)[_0x7338('0x21')](function(_0x4ee9e0){return _0x4ee9e0;});}return null;};}function removeEntity(_0x24e145,_0x20e013){return function(_0x2e0da4){if(_0x2e0da4){return _0x2e0da4['destroy']()[_0x7338('0x21')](function(){_0x24e145['status'](0xcc)[_0x7338('0x22')]();});}};}function handleEntityNotFound(_0x24e4f0,_0x5c230d){return function(_0x1b4168){if(!_0x1b4168){_0x24e4f0[_0x7338('0x16')](0x194);}return _0x1b4168;};}function handleError(_0x1cf9c1,_0x5075a6){_0x5075a6=_0x5075a6||0x1f4;return function(_0x4f8e8c){logger[_0x7338('0x23')](_0x4f8e8c[_0x7338('0x24')]);if(_0x4f8e8c[_0x7338('0x25')]){delete _0x4f8e8c[_0x7338('0x25')];}_0x1cf9c1[_0x7338('0x17')](_0x5075a6)[_0x7338('0x26')](_0x4f8e8c);};}exports['index']=function(_0x2e9597,_0x54cba3){var _0xb73f80={},_0x26bb89={},_0x3d7a67={'count':0x0,'rows':[]};var _0x59fe72=_['map'](db['Dynamics365Configuration'][_0x7338('0x27')],function(_0x5625fa){return{'name':_0x5625fa[_0x7338('0x28')],'type':_0x5625fa[_0x7338('0x29')]['key']};});_0x26bb89[_0x7338('0x2a')]=_[_0x7338('0x2b')](_0x59fe72,'name');_0x26bb89[_0x7338('0x2c')]=_[_0x7338('0x2d')](_0x2e9597[_0x7338('0x2c')]);_0x26bb89[_0x7338('0x2e')]=_[_0x7338('0x2f')](_0x26bb89[_0x7338('0x2a')],_0x26bb89[_0x7338('0x2c')]);_0xb73f80['attributes']=_[_0x7338('0x2f')](_0x26bb89['model'],qs[_0x7338('0x30')](_0x2e9597[_0x7338('0x2c')][_0x7338('0x30')]));_0xb73f80[_0x7338('0x31')]=_0xb73f80[_0x7338('0x31')][_0x7338('0x32')]?_0xb73f80['attributes']:_0x26bb89[_0x7338('0x2a')];if(!_0x2e9597[_0x7338('0x2c')]['hasOwnProperty'](_0x7338('0x33'))){_0xb73f80[_0x7338('0x1c')]=qs['limit'](_0x2e9597[_0x7338('0x2c')][_0x7338('0x1c')]);_0xb73f80[_0x7338('0x19')]=qs[_0x7338('0x19')](_0x2e9597[_0x7338('0x2c')][_0x7338('0x19')]);}_0xb73f80[_0x7338('0x34')]=qs[_0x7338('0x35')](_0x2e9597[_0x7338('0x2c')]['sort']);_0xb73f80[_0x7338('0x36')]=qs['filters'](_['pick'](_0x2e9597[_0x7338('0x2c')],_0x26bb89[_0x7338('0x2e')]),_0x59fe72);if(_0x2e9597[_0x7338('0x2c')]['filter']){_0xb73f80[_0x7338('0x36')]=_[_0x7338('0x37')](_0xb73f80[_0x7338('0x36')],{'$or':_['map'](_0x59fe72,function(_0x191492){if(_0x191492['type']!==_0x7338('0x38')){var _0x23700c={};_0x23700c[_0x191492[_0x7338('0x25')]]={'$like':'%'+_0x2e9597[_0x7338('0x2c')][_0x7338('0x39')]+'%'};return _0x23700c;}})});}_0xb73f80=_[_0x7338('0x37')]({},_0xb73f80,_0x2e9597['options']);var _0x325649={'where':_0xb73f80[_0x7338('0x36')]};return db[_0x7338('0x3a')]['count'](_0x325649)[_0x7338('0x21')](function(_0x155aa3){_0x3d7a67[_0x7338('0x1b')]=_0x155aa3;if(_0x2e9597[_0x7338('0x2c')][_0x7338('0x3b')]){_0xb73f80['include']=[{'all':!![]}];}return db['Dynamics365Configuration'][_0x7338('0x3c')](_0xb73f80);})[_0x7338('0x21')](function(_0x2ce2d5){_0x3d7a67['rows']=_0x2ce2d5;return _0x3d7a67;})[_0x7338('0x21')](respondWithFilteredResult(_0x54cba3,_0xb73f80))[_0x7338('0x3d')](handleError(_0x54cba3,null));};exports[_0x7338('0x3e')]=function(_0x1e5c85,_0x23a504){var _0x14e7cf={'raw':![],'where':{'id':_0x1e5c85[_0x7338('0x3f')]['id']}},_0x995e70={};_0x995e70['model']=_['keys'](db[_0x7338('0x3a')][_0x7338('0x27')]);_0x995e70['query']=_[_0x7338('0x2d')](_0x1e5c85[_0x7338('0x2c')]);_0x995e70[_0x7338('0x2e')]=_['intersection'](_0x995e70[_0x7338('0x2a')],_0x995e70['query']);_0x14e7cf[_0x7338('0x31')]=_[_0x7338('0x2f')](_0x995e70[_0x7338('0x2a')],qs['fields'](_0x1e5c85[_0x7338('0x2c')][_0x7338('0x30')]));_0x14e7cf[_0x7338('0x31')]=_0x14e7cf[_0x7338('0x31')][_0x7338('0x32')]?_0x14e7cf['attributes']:_0x995e70[_0x7338('0x2a')];if(_0x1e5c85[_0x7338('0x2c')][_0x7338('0x3b')]){_0x14e7cf['include']=[{'all':!![]}];}_0x14e7cf=_[_0x7338('0x37')]({},_0x14e7cf,_0x1e5c85[_0x7338('0x40')]);return db['Dynamics365Configuration'][_0x7338('0x41')](_0x14e7cf)[_0x7338('0x21')](handleEntityNotFound(_0x23a504,null))[_0x7338('0x21')](respondWithResult(_0x23a504,null))[_0x7338('0x3d')](handleError(_0x23a504,null));};exports[_0x7338('0x42')]=function(_0x4c6f16,_0x29eceb){return db[_0x7338('0x3a')]['create'](_0x4c6f16[_0x7338('0x43')],{})[_0x7338('0x21')](respondWithResult(_0x29eceb,0xc9))[_0x7338('0x3d')](handleError(_0x29eceb,null));};exports['update']=function(_0x569e77,_0x4bee15){if(_0x569e77[_0x7338('0x43')]['id']){delete _0x569e77['body']['id'];}return db[_0x7338('0x3a')][_0x7338('0x41')]({'where':{'id':_0x569e77[_0x7338('0x3f')]['id']}})[_0x7338('0x21')](handleEntityNotFound(_0x4bee15,null))[_0x7338('0x21')](saveUpdates(_0x569e77['body'],null))[_0x7338('0x21')](respondWithResult(_0x4bee15,null))['catch'](handleError(_0x4bee15,null));};exports[_0x7338('0x44')]=function(_0x483905,_0x4c412d){return db[_0x7338('0x3a')][_0x7338('0x41')]({'where':{'id':_0x483905[_0x7338('0x3f')]['id']}})['then'](handleEntityNotFound(_0x4c412d,null))[_0x7338('0x21')](removeEntity(_0x4c412d,null))[_0x7338('0x3d')](handleError(_0x4c412d,null));};exports[_0x7338('0x45')]=function(_0x55f644,_0xb5ff87,_0x708001){var _0x219f90={};var _0x40d8b5={};var _0x239491;var _0x3bbf44;return db[_0x7338('0x3a')][_0x7338('0x46')]({'where':{'id':_0x55f644[_0x7338('0x3f')]['id']}})[_0x7338('0x21')](handleEntityNotFound(_0xb5ff87,null))[_0x7338('0x21')](function(_0x44496f){if(_0x44496f){_0x239491=_0x44496f;_0x40d8b5[_0x7338('0x2a')]=_[_0x7338('0x2d')](db[_0x7338('0x47')]['rawAttributes']);_0x40d8b5[_0x7338('0x2c')]=_[_0x7338('0x2d')](_0x55f644[_0x7338('0x2c')]);_0x40d8b5[_0x7338('0x2e')]=_['intersection'](_0x40d8b5[_0x7338('0x2a')],_0x40d8b5[_0x7338('0x2c')]);_0x219f90['attributes']=_[_0x7338('0x2f')](_0x40d8b5[_0x7338('0x2a')],qs[_0x7338('0x30')](_0x55f644[_0x7338('0x2c')]['fields']));_0x219f90['attributes']=_0x219f90[_0x7338('0x31')]['length']?_0x219f90['attributes']:_0x40d8b5[_0x7338('0x2a')];_0x219f90[_0x7338('0x34')]=qs['sort'](_0x55f644['query'][_0x7338('0x35')]);_0x219f90[_0x7338('0x36')]=qs[_0x7338('0x2e')](_[_0x7338('0x48')](_0x55f644[_0x7338('0x2c')],_0x40d8b5[_0x7338('0x2e')]));if(_0x55f644[_0x7338('0x2c')][_0x7338('0x39')]){_0x219f90['where']=_['merge'](_0x219f90[_0x7338('0x36')],{'$or':_[_0x7338('0x2b')](_0x219f90[_0x7338('0x31')],function(_0x3cc3ac){var _0x2bc9b6={};_0x2bc9b6[_0x3cc3ac]={'$like':'%'+_0x55f644[_0x7338('0x2c')][_0x7338('0x39')]+'%'};return _0x2bc9b6;})});}_0x219f90=_[_0x7338('0x37')]({},_0x219f90,_0x55f644['options']);return _0x239491[_0x7338('0x45')](_0x219f90);}})[_0x7338('0x21')](function(_0x19d81d){if(_0x19d81d){_0x3bbf44=_0x19d81d[_0x7338('0x32')];if(!_0x55f644[_0x7338('0x2c')][_0x7338('0x49')](_0x7338('0x33'))){_0x219f90[_0x7338('0x1c')]=qs[_0x7338('0x1c')](_0x55f644[_0x7338('0x2c')]['limit']);_0x219f90['offset']=qs['offset'](_0x55f644[_0x7338('0x2c')][_0x7338('0x19')]);}return _0x239491[_0x7338('0x45')](_0x219f90);}})[_0x7338('0x21')](function(_0x280bfd){if(_0x280bfd){return _0x280bfd?{'count':_0x3bbf44,'rows':_0x280bfd}:null;}})['then'](respondWithResult(_0xb5ff87,null))[_0x7338('0x3d')](handleError(_0xb5ff87,null));};exports[_0x7338('0x4a')]=function(_0x1bbd36,_0x1af6f3,_0xbfcc76){var _0x3e3bfd={};var _0x41eb35={};var _0x542ce8;var _0x37ead3;return db[_0x7338('0x3a')]['findOne']({'where':{'id':_0x1bbd36[_0x7338('0x3f')]['id']}})['then'](handleEntityNotFound(_0x1af6f3,null))[_0x7338('0x21')](function(_0x5f47af){if(_0x5f47af){_0x542ce8=_0x5f47af;_0x41eb35[_0x7338('0x2a')]=_['keys'](db[_0x7338('0x47')][_0x7338('0x27')]);_0x41eb35[_0x7338('0x2c')]=_['keys'](_0x1bbd36['query']);_0x41eb35[_0x7338('0x2e')]=_[_0x7338('0x2f')](_0x41eb35['model'],_0x41eb35[_0x7338('0x2c')]);_0x3e3bfd[_0x7338('0x31')]=_[_0x7338('0x2f')](_0x41eb35['model'],qs['fields'](_0x1bbd36['query'][_0x7338('0x30')]));_0x3e3bfd['attributes']=_0x3e3bfd[_0x7338('0x31')][_0x7338('0x32')]?_0x3e3bfd['attributes']:_0x41eb35['model'];_0x3e3bfd[_0x7338('0x34')]=qs[_0x7338('0x35')](_0x1bbd36[_0x7338('0x2c')][_0x7338('0x35')]);_0x3e3bfd[_0x7338('0x36')]=qs[_0x7338('0x2e')](_[_0x7338('0x48')](_0x1bbd36[_0x7338('0x2c')],_0x41eb35['filters']));if(_0x1bbd36[_0x7338('0x2c')][_0x7338('0x39')]){_0x3e3bfd[_0x7338('0x36')]=_[_0x7338('0x37')](_0x3e3bfd[_0x7338('0x36')],{'$or':_[_0x7338('0x2b')](_0x3e3bfd[_0x7338('0x31')],function(_0x224493){var _0x2a1666={};_0x2a1666[_0x224493]={'$like':'%'+_0x1bbd36['query'][_0x7338('0x39')]+'%'};return _0x2a1666;})});}_0x3e3bfd=_['merge']({},_0x3e3bfd,_0x1bbd36[_0x7338('0x40')]);return _0x542ce8[_0x7338('0x4a')](_0x3e3bfd);}})[_0x7338('0x21')](function(_0x409cd2){if(_0x409cd2){_0x37ead3=_0x409cd2[_0x7338('0x32')];if(!_0x1bbd36[_0x7338('0x2c')][_0x7338('0x49')](_0x7338('0x33'))){_0x3e3bfd[_0x7338('0x1c')]=qs[_0x7338('0x1c')](_0x1bbd36[_0x7338('0x2c')][_0x7338('0x1c')]);_0x3e3bfd[_0x7338('0x19')]=qs[_0x7338('0x19')](_0x1bbd36[_0x7338('0x2c')][_0x7338('0x19')]);}return _0x542ce8['getSubjects'](_0x3e3bfd);}})[_0x7338('0x21')](function(_0x2ce4cb){if(_0x2ce4cb){return _0x2ce4cb?{'count':_0x37ead3,'rows':_0x2ce4cb}:null;}})[_0x7338('0x21')](respondWithResult(_0x1af6f3,null))[_0x7338('0x3d')](handleError(_0x1af6f3,null));};exports[_0x7338('0x4b')]=function(_0xe0d567,_0x2f8ccf,_0x1d75b6){var _0x11673b={};var _0x46813c={};var _0x20a21c;var _0x2452a4;return db[_0x7338('0x3a')][_0x7338('0x46')]({'where':{'id':_0xe0d567[_0x7338('0x3f')]['id']}})[_0x7338('0x21')](handleEntityNotFound(_0x2f8ccf,null))['then'](function(_0x42b7cd){if(_0x42b7cd){_0x20a21c=_0x42b7cd;_0x46813c[_0x7338('0x2a')]=_['keys'](db[_0x7338('0x47')][_0x7338('0x27')]);_0x46813c[_0x7338('0x2c')]=_['keys'](_0xe0d567[_0x7338('0x2c')]);_0x46813c['filters']=_[_0x7338('0x2f')](_0x46813c[_0x7338('0x2a')],_0x46813c[_0x7338('0x2c')]);_0x11673b['attributes']=_['intersection'](_0x46813c[_0x7338('0x2a')],qs['fields'](_0xe0d567[_0x7338('0x2c')][_0x7338('0x30')]));_0x11673b[_0x7338('0x31')]=_0x11673b[_0x7338('0x31')][_0x7338('0x32')]?_0x11673b[_0x7338('0x31')]:_0x46813c['model'];_0x11673b[_0x7338('0x34')]=qs[_0x7338('0x35')](_0xe0d567[_0x7338('0x2c')][_0x7338('0x35')]);_0x11673b[_0x7338('0x36')]=qs[_0x7338('0x2e')](_['pick'](_0xe0d567[_0x7338('0x2c')],_0x46813c[_0x7338('0x2e')]));if(_0xe0d567[_0x7338('0x2c')][_0x7338('0x39')]){_0x11673b[_0x7338('0x36')]=_[_0x7338('0x37')](_0x11673b[_0x7338('0x36')],{'$or':_['map'](_0x11673b[_0x7338('0x31')],function(_0x5dbddb){var _0x19a2ca={};_0x19a2ca[_0x5dbddb]={'$like':'%'+_0xe0d567[_0x7338('0x2c')]['filter']+'%'};return _0x19a2ca;})});}_0x11673b=_[_0x7338('0x37')]({},_0x11673b,_0xe0d567[_0x7338('0x40')]);return _0x20a21c[_0x7338('0x4b')](_0x11673b);}})['then'](function(_0x564473){if(_0x564473){_0x2452a4=_0x564473[_0x7338('0x32')];if(!_0xe0d567['query'][_0x7338('0x49')](_0x7338('0x33'))){_0x11673b['limit']=qs[_0x7338('0x1c')](_0xe0d567[_0x7338('0x2c')]['limit']);_0x11673b[_0x7338('0x19')]=qs['offset'](_0xe0d567[_0x7338('0x2c')]['offset']);}return _0x20a21c['getDescriptions'](_0x11673b);}})[_0x7338('0x21')](function(_0x3e231b){if(_0x3e231b){return _0x3e231b?{'count':_0x2452a4,'rows':_0x3e231b}:null;}})['then'](respondWithResult(_0x2f8ccf,null))[_0x7338('0x3d')](handleError(_0x2f8ccf,null));};