Built motion from commit da617fac.|2.6.6
[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 _0xc2a7=['fast-json-patch','request-promise','moment','mustache','util','path','sox','to-csv','ejs','lodash','squel','crypto','desk.js','papaparse','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/environment','../../config/license/util','../../mysqldb','end','status','offset','undefined','limit','count','set','Content-Range','json','apply','reject','update','destroy','then','sendStatus','error','name','index','map','rawAttributes','fieldName','type','model','query','filters','intersection','attributes','fields','length','nolimit','sort','where','merge','VIRTUAL','options','includeAll','Dynamics365Configuration','findAll','rows','catch','show','keys','include','find','create','body','params','findOne','Dynamics365Field','order','pick','filter','hasOwnProperty','getFields','getSubjects','getDescriptions','eml-format','rimraf','zip-dir'];(function(_0x3dd15e,_0x1f0015){var _0x231fd0=function(_0x4f680a){while(--_0x4f680a){_0x3dd15e['push'](_0x3dd15e['shift']());}};_0x231fd0(++_0x1f0015);}(_0xc2a7,0x192));var _0x7c2a=function(_0x57b54c,_0x54ce0d){_0x57b54c=_0x57b54c-0x0;var _0x59cc19=_0xc2a7[_0x57b54c];return _0x59cc19;};'use strict';var emlformat=require(_0x7c2a('0x0'));var rimraf=require(_0x7c2a('0x1'));var zipdir=require(_0x7c2a('0x2'));var jsonpatch=require(_0x7c2a('0x3'));var rp=require(_0x7c2a('0x4'));var moment=require(_0x7c2a('0x5'));var BPromise=require('bluebird');var Mustache=require(_0x7c2a('0x6'));var util=require(_0x7c2a('0x7'));var path=require(_0x7c2a('0x8'));var sox=require(_0x7c2a('0x9'));var csv=require(_0x7c2a('0xa'));var ejs=require(_0x7c2a('0xb'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0x7c2a('0xc'));var squel=require(_0x7c2a('0xd'));var crypto=require(_0x7c2a('0xe'));var jsforce=require('jsforce');var deskjs=require(_0x7c2a('0xf'));var toCsv=require(_0x7c2a('0xa'));var querystring=require('querystring');var Papa=require(_0x7c2a('0x10'));var Redis=require(_0x7c2a('0x11'));var authService=require('../../components/auth/service');var qs=require(_0x7c2a('0x12'));var as=require(_0x7c2a('0x13'));var hardwareService=require(_0x7c2a('0x14'));var logger=require('../../config/logger')(_0x7c2a('0x15'));var utils=require('../../config/utils');var config=require(_0x7c2a('0x16'));var licenseUtil=require(_0x7c2a('0x17'));var db=require(_0x7c2a('0x18'))['db'];function respondWithStatusCode(_0x28ec0f,_0xab5d1e){_0xab5d1e=_0xab5d1e||0xcc;return function(_0x5d00d0){if(_0x5d00d0){return _0x28ec0f['sendStatus'](_0xab5d1e);}return _0x28ec0f['status'](_0xab5d1e)[_0x7c2a('0x19')]();};}function respondWithResult(_0x637205,_0x4532cd){_0x4532cd=_0x4532cd||0xc8;return function(_0x32033f){if(_0x32033f){return _0x637205[_0x7c2a('0x1a')](_0x4532cd)['json'](_0x32033f);}};}function respondWithFilteredResult(_0x435b74,_0x11734e){return function(_0x51f5b8){if(_0x51f5b8){var _0x484859=typeof _0x11734e[_0x7c2a('0x1b')]===_0x7c2a('0x1c')&&typeof _0x11734e[_0x7c2a('0x1d')]==='undefined';var _0x41d86f=_0x51f5b8[_0x7c2a('0x1e')];var _0x57de8f=_0x484859?0x0:_0x11734e[_0x7c2a('0x1b')];var _0x690180=_0x484859?_0x51f5b8[_0x7c2a('0x1e')]:_0x11734e['offset']+_0x11734e[_0x7c2a('0x1d')];var _0x205811;if(_0x690180>=_0x41d86f){_0x690180=_0x41d86f;_0x205811=0xc8;}else{_0x205811=0xce;}_0x435b74[_0x7c2a('0x1a')](_0x205811);return _0x435b74[_0x7c2a('0x1f')](_0x7c2a('0x20'),_0x57de8f+'-'+_0x690180+'/'+_0x41d86f)[_0x7c2a('0x21')](_0x51f5b8);}return null;};}function patchUpdates(_0x3475c9){return function(_0x58b2d0){try{jsonpatch[_0x7c2a('0x22')](_0x58b2d0,_0x3475c9,!![]);}catch(_0x488e88){return BPromise[_0x7c2a('0x23')](_0x488e88);}return _0x58b2d0['save']();};}function saveUpdates(_0x39b857,_0x49d2bd){return function(_0x29a9f8){if(_0x29a9f8){return _0x29a9f8[_0x7c2a('0x24')](_0x39b857)['then'](function(_0x91dc90){return _0x91dc90;});}return null;};}function removeEntity(_0x244ff2,_0x34c6b8){return function(_0x37b1be){if(_0x37b1be){return _0x37b1be[_0x7c2a('0x25')]()[_0x7c2a('0x26')](function(){_0x244ff2[_0x7c2a('0x1a')](0xcc)['end']();});}};}function handleEntityNotFound(_0x4b8e32,_0x521167){return function(_0x335d5e){if(!_0x335d5e){_0x4b8e32[_0x7c2a('0x27')](0x194);}return _0x335d5e;};}function handleError(_0x442f55,_0x38d041){_0x38d041=_0x38d041||0x1f4;return function(_0x41e8c8){logger[_0x7c2a('0x28')](_0x41e8c8['stack']);if(_0x41e8c8[_0x7c2a('0x29')]){delete _0x41e8c8[_0x7c2a('0x29')];}_0x442f55[_0x7c2a('0x1a')](_0x38d041)['send'](_0x41e8c8);};}exports[_0x7c2a('0x2a')]=function(_0x4e3974,_0x22f421){var _0xa7612e={},_0x35ecf0={},_0x2867d3={'count':0x0,'rows':[]};var _0x13d21c=_[_0x7c2a('0x2b')](db['Dynamics365Configuration'][_0x7c2a('0x2c')],function(_0x19a2a5){return{'name':_0x19a2a5[_0x7c2a('0x2d')],'type':_0x19a2a5[_0x7c2a('0x2e')]['key']};});_0x35ecf0[_0x7c2a('0x2f')]=_[_0x7c2a('0x2b')](_0x13d21c,'name');_0x35ecf0[_0x7c2a('0x30')]=_['keys'](_0x4e3974[_0x7c2a('0x30')]);_0x35ecf0[_0x7c2a('0x31')]=_[_0x7c2a('0x32')](_0x35ecf0[_0x7c2a('0x2f')],_0x35ecf0[_0x7c2a('0x30')]);_0xa7612e[_0x7c2a('0x33')]=_[_0x7c2a('0x32')](_0x35ecf0[_0x7c2a('0x2f')],qs[_0x7c2a('0x34')](_0x4e3974[_0x7c2a('0x30')][_0x7c2a('0x34')]));_0xa7612e['attributes']=_0xa7612e[_0x7c2a('0x33')][_0x7c2a('0x35')]?_0xa7612e['attributes']:_0x35ecf0[_0x7c2a('0x2f')];if(!_0x4e3974[_0x7c2a('0x30')]['hasOwnProperty'](_0x7c2a('0x36'))){_0xa7612e[_0x7c2a('0x1d')]=qs[_0x7c2a('0x1d')](_0x4e3974['query']['limit']);_0xa7612e[_0x7c2a('0x1b')]=qs[_0x7c2a('0x1b')](_0x4e3974['query']['offset']);}_0xa7612e['order']=qs[_0x7c2a('0x37')](_0x4e3974[_0x7c2a('0x30')][_0x7c2a('0x37')]);_0xa7612e[_0x7c2a('0x38')]=qs[_0x7c2a('0x31')](_['pick'](_0x4e3974[_0x7c2a('0x30')],_0x35ecf0[_0x7c2a('0x31')]),_0x13d21c);if(_0x4e3974[_0x7c2a('0x30')]['filter']){_0xa7612e['where']=_[_0x7c2a('0x39')](_0xa7612e[_0x7c2a('0x38')],{'$or':_[_0x7c2a('0x2b')](_0x13d21c,function(_0x51924a){if(_0x51924a[_0x7c2a('0x2e')]!==_0x7c2a('0x3a')){var _0x3ac228={};_0x3ac228[_0x51924a[_0x7c2a('0x29')]]={'$like':'%'+_0x4e3974['query']['filter']+'%'};return _0x3ac228;}})});}_0xa7612e=_[_0x7c2a('0x39')]({},_0xa7612e,_0x4e3974[_0x7c2a('0x3b')]);var _0x46919e={'where':_0xa7612e['where']};return db['Dynamics365Configuration']['count'](_0x46919e)[_0x7c2a('0x26')](function(_0x532064){_0x2867d3[_0x7c2a('0x1e')]=_0x532064;if(_0x4e3974[_0x7c2a('0x30')][_0x7c2a('0x3c')]){_0xa7612e['include']=[{'all':!![]}];}return db[_0x7c2a('0x3d')][_0x7c2a('0x3e')](_0xa7612e);})[_0x7c2a('0x26')](function(_0x10d953){_0x2867d3[_0x7c2a('0x3f')]=_0x10d953;return _0x2867d3;})[_0x7c2a('0x26')](respondWithFilteredResult(_0x22f421,_0xa7612e))[_0x7c2a('0x40')](handleError(_0x22f421,null));};exports[_0x7c2a('0x41')]=function(_0x20f81e,_0xa4d584){var _0x30343d={'raw':![],'where':{'id':_0x20f81e['params']['id']}},_0x10a851={};_0x10a851['model']=_[_0x7c2a('0x42')](db[_0x7c2a('0x3d')]['rawAttributes']);_0x10a851[_0x7c2a('0x30')]=_[_0x7c2a('0x42')](_0x20f81e['query']);_0x10a851['filters']=_[_0x7c2a('0x32')](_0x10a851[_0x7c2a('0x2f')],_0x10a851['query']);_0x30343d['attributes']=_[_0x7c2a('0x32')](_0x10a851[_0x7c2a('0x2f')],qs[_0x7c2a('0x34')](_0x20f81e[_0x7c2a('0x30')][_0x7c2a('0x34')]));_0x30343d[_0x7c2a('0x33')]=_0x30343d[_0x7c2a('0x33')][_0x7c2a('0x35')]?_0x30343d['attributes']:_0x10a851[_0x7c2a('0x2f')];if(_0x20f81e['query'][_0x7c2a('0x3c')]){_0x30343d[_0x7c2a('0x43')]=[{'all':!![]}];}_0x30343d=_[_0x7c2a('0x39')]({},_0x30343d,_0x20f81e[_0x7c2a('0x3b')]);return db[_0x7c2a('0x3d')][_0x7c2a('0x44')](_0x30343d)[_0x7c2a('0x26')](handleEntityNotFound(_0xa4d584,null))[_0x7c2a('0x26')](respondWithResult(_0xa4d584,null))['catch'](handleError(_0xa4d584,null));};exports['create']=function(_0x2952e4,_0x4fae0b){return db[_0x7c2a('0x3d')][_0x7c2a('0x45')](_0x2952e4['body'],{})[_0x7c2a('0x26')](respondWithResult(_0x4fae0b,0xc9))[_0x7c2a('0x40')](handleError(_0x4fae0b,null));};exports[_0x7c2a('0x24')]=function(_0x5cc987,_0x47654b){if(_0x5cc987[_0x7c2a('0x46')]['id']){delete _0x5cc987[_0x7c2a('0x46')]['id'];}return db[_0x7c2a('0x3d')][_0x7c2a('0x44')]({'where':{'id':_0x5cc987[_0x7c2a('0x47')]['id']}})['then'](handleEntityNotFound(_0x47654b,null))[_0x7c2a('0x26')](saveUpdates(_0x5cc987[_0x7c2a('0x46')],null))[_0x7c2a('0x26')](respondWithResult(_0x47654b,null))[_0x7c2a('0x40')](handleError(_0x47654b,null));};exports['destroy']=function(_0x3a0850,_0x95bf54){return db['Dynamics365Configuration'][_0x7c2a('0x44')]({'where':{'id':_0x3a0850['params']['id']}})[_0x7c2a('0x26')](handleEntityNotFound(_0x95bf54,null))[_0x7c2a('0x26')](removeEntity(_0x95bf54,null))[_0x7c2a('0x40')](handleError(_0x95bf54,null));};exports['getFields']=function(_0x2fd9e0,_0x59e8be,_0x2b4461){var _0x7aed67={};var _0x4a50b1={};var _0x478b94;var _0xa0e57e;return db['Dynamics365Configuration'][_0x7c2a('0x48')]({'where':{'id':_0x2fd9e0['params']['id']}})[_0x7c2a('0x26')](handleEntityNotFound(_0x59e8be,null))[_0x7c2a('0x26')](function(_0x2290c4){if(_0x2290c4){_0x478b94=_0x2290c4;_0x4a50b1['model']=_[_0x7c2a('0x42')](db[_0x7c2a('0x49')][_0x7c2a('0x2c')]);_0x4a50b1[_0x7c2a('0x30')]=_['keys'](_0x2fd9e0[_0x7c2a('0x30')]);_0x4a50b1['filters']=_['intersection'](_0x4a50b1[_0x7c2a('0x2f')],_0x4a50b1['query']);_0x7aed67[_0x7c2a('0x33')]=_['intersection'](_0x4a50b1[_0x7c2a('0x2f')],qs['fields'](_0x2fd9e0[_0x7c2a('0x30')][_0x7c2a('0x34')]));_0x7aed67[_0x7c2a('0x33')]=_0x7aed67[_0x7c2a('0x33')][_0x7c2a('0x35')]?_0x7aed67[_0x7c2a('0x33')]:_0x4a50b1[_0x7c2a('0x2f')];_0x7aed67[_0x7c2a('0x4a')]=qs[_0x7c2a('0x37')](_0x2fd9e0[_0x7c2a('0x30')][_0x7c2a('0x37')]);_0x7aed67[_0x7c2a('0x38')]=qs['filters'](_[_0x7c2a('0x4b')](_0x2fd9e0[_0x7c2a('0x30')],_0x4a50b1[_0x7c2a('0x31')]));if(_0x2fd9e0[_0x7c2a('0x30')][_0x7c2a('0x4c')]){_0x7aed67[_0x7c2a('0x38')]=_[_0x7c2a('0x39')](_0x7aed67[_0x7c2a('0x38')],{'$or':_[_0x7c2a('0x2b')](_0x7aed67[_0x7c2a('0x33')],function(_0x2f5671){var _0x1922e8={};_0x1922e8[_0x2f5671]={'$like':'%'+_0x2fd9e0[_0x7c2a('0x30')][_0x7c2a('0x4c')]+'%'};return _0x1922e8;})});}_0x7aed67=_[_0x7c2a('0x39')]({},_0x7aed67,_0x2fd9e0['options']);return _0x478b94['getFields'](_0x7aed67);}})[_0x7c2a('0x26')](function(_0x2d9ea6){if(_0x2d9ea6){_0xa0e57e=_0x2d9ea6[_0x7c2a('0x35')];if(!_0x2fd9e0[_0x7c2a('0x30')][_0x7c2a('0x4d')](_0x7c2a('0x36'))){_0x7aed67['limit']=qs[_0x7c2a('0x1d')](_0x2fd9e0[_0x7c2a('0x30')][_0x7c2a('0x1d')]);_0x7aed67[_0x7c2a('0x1b')]=qs[_0x7c2a('0x1b')](_0x2fd9e0['query'][_0x7c2a('0x1b')]);}return _0x478b94[_0x7c2a('0x4e')](_0x7aed67);}})['then'](function(_0x47bdf2){if(_0x47bdf2){return _0x47bdf2?{'count':_0xa0e57e,'rows':_0x47bdf2}:null;}})[_0x7c2a('0x26')](respondWithResult(_0x59e8be,null))['catch'](handleError(_0x59e8be,null));};exports[_0x7c2a('0x4f')]=function(_0x5b713b,_0x304b76,_0xa7682e){var _0x312d47={};var _0x7e3dcf={};var _0x2dbead;var _0x5f0e75;return db['Dynamics365Configuration'][_0x7c2a('0x48')]({'where':{'id':_0x5b713b[_0x7c2a('0x47')]['id']}})[_0x7c2a('0x26')](handleEntityNotFound(_0x304b76,null))['then'](function(_0x3b55df){if(_0x3b55df){_0x2dbead=_0x3b55df;_0x7e3dcf['model']=_[_0x7c2a('0x42')](db['Dynamics365Field'][_0x7c2a('0x2c')]);_0x7e3dcf['query']=_['keys'](_0x5b713b['query']);_0x7e3dcf[_0x7c2a('0x31')]=_['intersection'](_0x7e3dcf['model'],_0x7e3dcf[_0x7c2a('0x30')]);_0x312d47['attributes']=_['intersection'](_0x7e3dcf['model'],qs[_0x7c2a('0x34')](_0x5b713b[_0x7c2a('0x30')][_0x7c2a('0x34')]));_0x312d47['attributes']=_0x312d47['attributes']['length']?_0x312d47[_0x7c2a('0x33')]:_0x7e3dcf[_0x7c2a('0x2f')];_0x312d47[_0x7c2a('0x4a')]=qs['sort'](_0x5b713b[_0x7c2a('0x30')][_0x7c2a('0x37')]);_0x312d47[_0x7c2a('0x38')]=qs['filters'](_[_0x7c2a('0x4b')](_0x5b713b[_0x7c2a('0x30')],_0x7e3dcf[_0x7c2a('0x31')]));if(_0x5b713b[_0x7c2a('0x30')]['filter']){_0x312d47[_0x7c2a('0x38')]=_['merge'](_0x312d47['where'],{'$or':_[_0x7c2a('0x2b')](_0x312d47[_0x7c2a('0x33')],function(_0xb44a1d){var _0x34465a={};_0x34465a[_0xb44a1d]={'$like':'%'+_0x5b713b[_0x7c2a('0x30')][_0x7c2a('0x4c')]+'%'};return _0x34465a;})});}_0x312d47=_['merge']({},_0x312d47,_0x5b713b[_0x7c2a('0x3b')]);return _0x2dbead[_0x7c2a('0x4f')](_0x312d47);}})[_0x7c2a('0x26')](function(_0x5f4373){if(_0x5f4373){_0x5f0e75=_0x5f4373[_0x7c2a('0x35')];if(!_0x5b713b[_0x7c2a('0x30')][_0x7c2a('0x4d')](_0x7c2a('0x36'))){_0x312d47['limit']=qs[_0x7c2a('0x1d')](_0x5b713b['query'][_0x7c2a('0x1d')]);_0x312d47[_0x7c2a('0x1b')]=qs['offset'](_0x5b713b['query'][_0x7c2a('0x1b')]);}return _0x2dbead[_0x7c2a('0x4f')](_0x312d47);}})[_0x7c2a('0x26')](function(_0x28b7e3){if(_0x28b7e3){return _0x28b7e3?{'count':_0x5f0e75,'rows':_0x28b7e3}:null;}})[_0x7c2a('0x26')](respondWithResult(_0x304b76,null))[_0x7c2a('0x40')](handleError(_0x304b76,null));};exports[_0x7c2a('0x50')]=function(_0xff5741,_0xae9e4c,_0x1ceb7c){var _0x89f67d={};var _0x4e4190={};var _0x1d9fbc;var _0x39f1fd;return db[_0x7c2a('0x3d')][_0x7c2a('0x48')]({'where':{'id':_0xff5741[_0x7c2a('0x47')]['id']}})['then'](handleEntityNotFound(_0xae9e4c,null))[_0x7c2a('0x26')](function(_0x3ad768){if(_0x3ad768){_0x1d9fbc=_0x3ad768;_0x4e4190[_0x7c2a('0x2f')]=_[_0x7c2a('0x42')](db['Dynamics365Field'][_0x7c2a('0x2c')]);_0x4e4190['query']=_['keys'](_0xff5741['query']);_0x4e4190[_0x7c2a('0x31')]=_[_0x7c2a('0x32')](_0x4e4190[_0x7c2a('0x2f')],_0x4e4190[_0x7c2a('0x30')]);_0x89f67d[_0x7c2a('0x33')]=_[_0x7c2a('0x32')](_0x4e4190[_0x7c2a('0x2f')],qs['fields'](_0xff5741[_0x7c2a('0x30')][_0x7c2a('0x34')]));_0x89f67d[_0x7c2a('0x33')]=_0x89f67d[_0x7c2a('0x33')]['length']?_0x89f67d[_0x7c2a('0x33')]:_0x4e4190['model'];_0x89f67d[_0x7c2a('0x4a')]=qs['sort'](_0xff5741[_0x7c2a('0x30')][_0x7c2a('0x37')]);_0x89f67d[_0x7c2a('0x38')]=qs[_0x7c2a('0x31')](_[_0x7c2a('0x4b')](_0xff5741[_0x7c2a('0x30')],_0x4e4190['filters']));if(_0xff5741[_0x7c2a('0x30')][_0x7c2a('0x4c')]){_0x89f67d[_0x7c2a('0x38')]=_['merge'](_0x89f67d[_0x7c2a('0x38')],{'$or':_[_0x7c2a('0x2b')](_0x89f67d['attributes'],function(_0x39e403){var _0x286d3d={};_0x286d3d[_0x39e403]={'$like':'%'+_0xff5741['query'][_0x7c2a('0x4c')]+'%'};return _0x286d3d;})});}_0x89f67d=_[_0x7c2a('0x39')]({},_0x89f67d,_0xff5741['options']);return _0x1d9fbc[_0x7c2a('0x50')](_0x89f67d);}})[_0x7c2a('0x26')](function(_0x182c00){if(_0x182c00){_0x39f1fd=_0x182c00[_0x7c2a('0x35')];if(!_0xff5741['query'][_0x7c2a('0x4d')](_0x7c2a('0x36'))){_0x89f67d[_0x7c2a('0x1d')]=qs[_0x7c2a('0x1d')](_0xff5741['query'][_0x7c2a('0x1d')]);_0x89f67d[_0x7c2a('0x1b')]=qs[_0x7c2a('0x1b')](_0xff5741[_0x7c2a('0x30')]['offset']);}return _0x1d9fbc[_0x7c2a('0x50')](_0x89f67d);}})[_0x7c2a('0x26')](function(_0x36a73a){if(_0x36a73a){return _0x36a73a?{'count':_0x39f1fd,'rows':_0x36a73a}:null;}})[_0x7c2a('0x26')](respondWithResult(_0xae9e4c,null))[_0x7c2a('0x40')](handleError(_0xae9e4c,null));};