Built motion from commit 47436d59.|2.6.7
[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 _0xd5b4=['squel','jsforce','desk.js','to-csv','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','api','../../config/utils','../../config/license/util','../../mysqldb','sendStatus','status','end','json','undefined','count','offset','limit','set','Content-Range','apply','save','update','then','destroy','error','stack','name','send','index','rawAttributes','fieldName','type','key','model','map','query','keys','intersection','fields','attributes','hasOwnProperty','order','sort','filters','pick','where','merge','VIRTUAL','options','Dynamics365Configuration','includeAll','rows','catch','show','length','find','create','body','params','getFields','findOne','Dynamics365Field','filter','nolimit','getSubjects','getDescriptions','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','bluebird','mustache','util','sox','fs-extra'];(function(_0x50b651,_0x2ce0c5){var _0x1ec2b0=function(_0x468b6d){while(--_0x468b6d){_0x50b651['push'](_0x50b651['shift']());}};_0x1ec2b0(++_0x2ce0c5);}(_0xd5b4,0xe9));var _0x4d5b=function(_0x1ae765,_0x395cc8){_0x1ae765=_0x1ae765-0x0;var _0x5eea74=_0xd5b4[_0x1ae765];return _0x5eea74;};'use strict';var emlformat=require(_0x4d5b('0x0'));var rimraf=require(_0x4d5b('0x1'));var zipdir=require(_0x4d5b('0x2'));var jsonpatch=require(_0x4d5b('0x3'));var rp=require(_0x4d5b('0x4'));var moment=require('moment');var BPromise=require(_0x4d5b('0x5'));var Mustache=require(_0x4d5b('0x6'));var util=require(_0x4d5b('0x7'));var path=require('path');var sox=require(_0x4d5b('0x8'));var csv=require('to-csv');var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0x4d5b('0x9'));var _=require('lodash');var squel=require(_0x4d5b('0xa'));var crypto=require('crypto');var jsforce=require(_0x4d5b('0xb'));var deskjs=require(_0x4d5b('0xc'));var toCsv=require(_0x4d5b('0xd'));var querystring=require(_0x4d5b('0xe'));var Papa=require(_0x4d5b('0xf'));var Redis=require(_0x4d5b('0x10'));var authService=require(_0x4d5b('0x11'));var qs=require(_0x4d5b('0x12'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x4d5b('0x13'));var logger=require('../../config/logger')(_0x4d5b('0x14'));var utils=require(_0x4d5b('0x15'));var config=require('../../config/environment');var licenseUtil=require(_0x4d5b('0x16'));var db=require(_0x4d5b('0x17'))['db'];function respondWithStatusCode(_0x1d64ab,_0x388a35){_0x388a35=_0x388a35||0xcc;return function(_0x48ea23){if(_0x48ea23){return _0x1d64ab[_0x4d5b('0x18')](_0x388a35);}return _0x1d64ab[_0x4d5b('0x19')](_0x388a35)[_0x4d5b('0x1a')]();};}function respondWithResult(_0x13fc4f,_0x2c4fdf){_0x2c4fdf=_0x2c4fdf||0xc8;return function(_0x2b4117){if(_0x2b4117){return _0x13fc4f[_0x4d5b('0x19')](_0x2c4fdf)[_0x4d5b('0x1b')](_0x2b4117);}};}function respondWithFilteredResult(_0x3449c8,_0x1129eb){return function(_0xbabdf3){if(_0xbabdf3){var _0x51c74c=typeof _0x1129eb['offset']==='undefined'&&typeof _0x1129eb['limit']===_0x4d5b('0x1c');var _0x19bded=_0xbabdf3[_0x4d5b('0x1d')];var _0x4ef058=_0x51c74c?0x0:_0x1129eb['offset'];var _0xc755e4=_0x51c74c?_0xbabdf3['count']:_0x1129eb[_0x4d5b('0x1e')]+_0x1129eb[_0x4d5b('0x1f')];var _0x1f3c0d;if(_0xc755e4>=_0x19bded){_0xc755e4=_0x19bded;_0x1f3c0d=0xc8;}else{_0x1f3c0d=0xce;}_0x3449c8[_0x4d5b('0x19')](_0x1f3c0d);return _0x3449c8[_0x4d5b('0x20')](_0x4d5b('0x21'),_0x4ef058+'-'+_0xc755e4+'/'+_0x19bded)['json'](_0xbabdf3);}return null;};}function patchUpdates(_0x37932a){return function(_0x2c9d0f){try{jsonpatch[_0x4d5b('0x22')](_0x2c9d0f,_0x37932a,!![]);}catch(_0x3ba0fe){return BPromise['reject'](_0x3ba0fe);}return _0x2c9d0f[_0x4d5b('0x23')]();};}function saveUpdates(_0x3cc62f,_0x4abf68){return function(_0x57fed4){if(_0x57fed4){return _0x57fed4[_0x4d5b('0x24')](_0x3cc62f)[_0x4d5b('0x25')](function(_0x468194){return _0x468194;});}return null;};}function removeEntity(_0x15114c,_0x1d1938){return function(_0x2ccb06){if(_0x2ccb06){return _0x2ccb06[_0x4d5b('0x26')]()[_0x4d5b('0x25')](function(){_0x15114c['status'](0xcc)[_0x4d5b('0x1a')]();});}};}function handleEntityNotFound(_0x4367ce,_0x31a87c){return function(_0xbff367){if(!_0xbff367){_0x4367ce[_0x4d5b('0x18')](0x194);}return _0xbff367;};}function handleError(_0x357bf0,_0x4e9de3){_0x4e9de3=_0x4e9de3||0x1f4;return function(_0x353dc1){logger[_0x4d5b('0x27')](_0x353dc1[_0x4d5b('0x28')]);if(_0x353dc1[_0x4d5b('0x29')]){delete _0x353dc1[_0x4d5b('0x29')];}_0x357bf0[_0x4d5b('0x19')](_0x4e9de3)[_0x4d5b('0x2a')](_0x353dc1);};}exports[_0x4d5b('0x2b')]=function(_0x18027b,_0x5d87d9){var _0x3e27e2={},_0x1021ea={},_0x1e3e7b={'count':0x0,'rows':[]};var _0x4175b1=_['map'](db['Dynamics365Configuration'][_0x4d5b('0x2c')],function(_0x1d5d72){return{'name':_0x1d5d72[_0x4d5b('0x2d')],'type':_0x1d5d72[_0x4d5b('0x2e')][_0x4d5b('0x2f')]};});_0x1021ea[_0x4d5b('0x30')]=_[_0x4d5b('0x31')](_0x4175b1,_0x4d5b('0x29'));_0x1021ea[_0x4d5b('0x32')]=_[_0x4d5b('0x33')](_0x18027b[_0x4d5b('0x32')]);_0x1021ea['filters']=_[_0x4d5b('0x34')](_0x1021ea['model'],_0x1021ea['query']);_0x3e27e2['attributes']=_[_0x4d5b('0x34')](_0x1021ea[_0x4d5b('0x30')],qs[_0x4d5b('0x35')](_0x18027b[_0x4d5b('0x32')][_0x4d5b('0x35')]));_0x3e27e2[_0x4d5b('0x36')]=_0x3e27e2['attributes']['length']?_0x3e27e2['attributes']:_0x1021ea[_0x4d5b('0x30')];if(!_0x18027b[_0x4d5b('0x32')][_0x4d5b('0x37')]('nolimit')){_0x3e27e2[_0x4d5b('0x1f')]=qs[_0x4d5b('0x1f')](_0x18027b[_0x4d5b('0x32')]['limit']);_0x3e27e2[_0x4d5b('0x1e')]=qs[_0x4d5b('0x1e')](_0x18027b[_0x4d5b('0x32')][_0x4d5b('0x1e')]);}_0x3e27e2[_0x4d5b('0x38')]=qs['sort'](_0x18027b[_0x4d5b('0x32')][_0x4d5b('0x39')]);_0x3e27e2['where']=qs[_0x4d5b('0x3a')](_[_0x4d5b('0x3b')](_0x18027b[_0x4d5b('0x32')],_0x1021ea[_0x4d5b('0x3a')]),_0x4175b1);if(_0x18027b[_0x4d5b('0x32')]['filter']){_0x3e27e2[_0x4d5b('0x3c')]=_[_0x4d5b('0x3d')](_0x3e27e2[_0x4d5b('0x3c')],{'$or':_[_0x4d5b('0x31')](_0x4175b1,function(_0x483eeb){if(_0x483eeb[_0x4d5b('0x2e')]!==_0x4d5b('0x3e')){var _0x292cf9={};_0x292cf9[_0x483eeb['name']]={'$like':'%'+_0x18027b[_0x4d5b('0x32')]['filter']+'%'};return _0x292cf9;}})});}_0x3e27e2=_['merge']({},_0x3e27e2,_0x18027b[_0x4d5b('0x3f')]);var _0x1cf017={'where':_0x3e27e2[_0x4d5b('0x3c')]};return db[_0x4d5b('0x40')][_0x4d5b('0x1d')](_0x1cf017)[_0x4d5b('0x25')](function(_0x36c9f1){_0x1e3e7b['count']=_0x36c9f1;if(_0x18027b[_0x4d5b('0x32')][_0x4d5b('0x41')]){_0x3e27e2['include']=[{'all':!![]}];}return db[_0x4d5b('0x40')]['findAll'](_0x3e27e2);})[_0x4d5b('0x25')](function(_0xa1ffaf){_0x1e3e7b[_0x4d5b('0x42')]=_0xa1ffaf;return _0x1e3e7b;})[_0x4d5b('0x25')](respondWithFilteredResult(_0x5d87d9,_0x3e27e2))[_0x4d5b('0x43')](handleError(_0x5d87d9,null));};exports[_0x4d5b('0x44')]=function(_0x591d3f,_0x4f9fc4){var _0x358d37={'raw':![],'where':{'id':_0x591d3f['params']['id']}},_0x4df71a={};_0x4df71a['model']=_[_0x4d5b('0x33')](db[_0x4d5b('0x40')][_0x4d5b('0x2c')]);_0x4df71a[_0x4d5b('0x32')]=_[_0x4d5b('0x33')](_0x591d3f[_0x4d5b('0x32')]);_0x4df71a[_0x4d5b('0x3a')]=_[_0x4d5b('0x34')](_0x4df71a[_0x4d5b('0x30')],_0x4df71a['query']);_0x358d37[_0x4d5b('0x36')]=_[_0x4d5b('0x34')](_0x4df71a[_0x4d5b('0x30')],qs[_0x4d5b('0x35')](_0x591d3f[_0x4d5b('0x32')]['fields']));_0x358d37['attributes']=_0x358d37[_0x4d5b('0x36')][_0x4d5b('0x45')]?_0x358d37[_0x4d5b('0x36')]:_0x4df71a[_0x4d5b('0x30')];if(_0x591d3f[_0x4d5b('0x32')][_0x4d5b('0x41')]){_0x358d37['include']=[{'all':!![]}];}_0x358d37=_[_0x4d5b('0x3d')]({},_0x358d37,_0x591d3f[_0x4d5b('0x3f')]);return db[_0x4d5b('0x40')][_0x4d5b('0x46')](_0x358d37)['then'](handleEntityNotFound(_0x4f9fc4,null))[_0x4d5b('0x25')](respondWithResult(_0x4f9fc4,null))[_0x4d5b('0x43')](handleError(_0x4f9fc4,null));};exports[_0x4d5b('0x47')]=function(_0x36c5a3,_0xbfdc44){return db[_0x4d5b('0x40')]['create'](_0x36c5a3['body'],{})['then'](respondWithResult(_0xbfdc44,0xc9))[_0x4d5b('0x43')](handleError(_0xbfdc44,null));};exports['update']=function(_0x32fb39,_0x570378){if(_0x32fb39[_0x4d5b('0x48')]['id']){delete _0x32fb39[_0x4d5b('0x48')]['id'];}return db[_0x4d5b('0x40')][_0x4d5b('0x46')]({'where':{'id':_0x32fb39[_0x4d5b('0x49')]['id']}})[_0x4d5b('0x25')](handleEntityNotFound(_0x570378,null))[_0x4d5b('0x25')](saveUpdates(_0x32fb39[_0x4d5b('0x48')],null))[_0x4d5b('0x25')](respondWithResult(_0x570378,null))['catch'](handleError(_0x570378,null));};exports[_0x4d5b('0x26')]=function(_0x2e8c93,_0x461971){return db[_0x4d5b('0x40')][_0x4d5b('0x46')]({'where':{'id':_0x2e8c93[_0x4d5b('0x49')]['id']}})[_0x4d5b('0x25')](handleEntityNotFound(_0x461971,null))[_0x4d5b('0x25')](removeEntity(_0x461971,null))[_0x4d5b('0x43')](handleError(_0x461971,null));};exports[_0x4d5b('0x4a')]=function(_0x3f97b3,_0x2b24c6,_0x7098a7){var _0x2a5428={};var _0x412336={};var _0x37cfb2;var _0xc76f8e;return db['Dynamics365Configuration'][_0x4d5b('0x4b')]({'where':{'id':_0x3f97b3[_0x4d5b('0x49')]['id']}})[_0x4d5b('0x25')](handleEntityNotFound(_0x2b24c6,null))[_0x4d5b('0x25')](function(_0x1da3ff){if(_0x1da3ff){_0x37cfb2=_0x1da3ff;_0x412336[_0x4d5b('0x30')]=_[_0x4d5b('0x33')](db[_0x4d5b('0x4c')][_0x4d5b('0x2c')]);_0x412336['query']=_[_0x4d5b('0x33')](_0x3f97b3[_0x4d5b('0x32')]);_0x412336[_0x4d5b('0x3a')]=_[_0x4d5b('0x34')](_0x412336['model'],_0x412336[_0x4d5b('0x32')]);_0x2a5428['attributes']=_[_0x4d5b('0x34')](_0x412336['model'],qs[_0x4d5b('0x35')](_0x3f97b3[_0x4d5b('0x32')][_0x4d5b('0x35')]));_0x2a5428['attributes']=_0x2a5428[_0x4d5b('0x36')][_0x4d5b('0x45')]?_0x2a5428[_0x4d5b('0x36')]:_0x412336['model'];_0x2a5428['order']=qs[_0x4d5b('0x39')](_0x3f97b3[_0x4d5b('0x32')][_0x4d5b('0x39')]);_0x2a5428[_0x4d5b('0x3c')]=qs[_0x4d5b('0x3a')](_[_0x4d5b('0x3b')](_0x3f97b3[_0x4d5b('0x32')],_0x412336[_0x4d5b('0x3a')]));if(_0x3f97b3['query'][_0x4d5b('0x4d')]){_0x2a5428[_0x4d5b('0x3c')]=_[_0x4d5b('0x3d')](_0x2a5428[_0x4d5b('0x3c')],{'$or':_[_0x4d5b('0x31')](_0x2a5428[_0x4d5b('0x36')],function(_0x17f973){var _0x4e16b5={};_0x4e16b5[_0x17f973]={'$like':'%'+_0x3f97b3[_0x4d5b('0x32')][_0x4d5b('0x4d')]+'%'};return _0x4e16b5;})});}_0x2a5428=_[_0x4d5b('0x3d')]({},_0x2a5428,_0x3f97b3['options']);return _0x37cfb2['getFields'](_0x2a5428);}})[_0x4d5b('0x25')](function(_0xb47b01){if(_0xb47b01){_0xc76f8e=_0xb47b01['length'];if(!_0x3f97b3[_0x4d5b('0x32')][_0x4d5b('0x37')](_0x4d5b('0x4e'))){_0x2a5428[_0x4d5b('0x1f')]=qs[_0x4d5b('0x1f')](_0x3f97b3[_0x4d5b('0x32')][_0x4d5b('0x1f')]);_0x2a5428['offset']=qs[_0x4d5b('0x1e')](_0x3f97b3['query'][_0x4d5b('0x1e')]);}return _0x37cfb2[_0x4d5b('0x4a')](_0x2a5428);}})[_0x4d5b('0x25')](function(_0x2807d5){if(_0x2807d5){return _0x2807d5?{'count':_0xc76f8e,'rows':_0x2807d5}:null;}})[_0x4d5b('0x25')](respondWithResult(_0x2b24c6,null))['catch'](handleError(_0x2b24c6,null));};exports[_0x4d5b('0x4f')]=function(_0x20ce60,_0x319974,_0x20fd2d){var _0x49f136={};var _0x1e8508={};var _0x4a5476;var _0x552353;return db[_0x4d5b('0x40')][_0x4d5b('0x4b')]({'where':{'id':_0x20ce60[_0x4d5b('0x49')]['id']}})[_0x4d5b('0x25')](handleEntityNotFound(_0x319974,null))[_0x4d5b('0x25')](function(_0x17e380){if(_0x17e380){_0x4a5476=_0x17e380;_0x1e8508[_0x4d5b('0x30')]=_[_0x4d5b('0x33')](db[_0x4d5b('0x4c')][_0x4d5b('0x2c')]);_0x1e8508[_0x4d5b('0x32')]=_[_0x4d5b('0x33')](_0x20ce60[_0x4d5b('0x32')]);_0x1e8508[_0x4d5b('0x3a')]=_[_0x4d5b('0x34')](_0x1e8508[_0x4d5b('0x30')],_0x1e8508[_0x4d5b('0x32')]);_0x49f136[_0x4d5b('0x36')]=_[_0x4d5b('0x34')](_0x1e8508['model'],qs[_0x4d5b('0x35')](_0x20ce60[_0x4d5b('0x32')]['fields']));_0x49f136['attributes']=_0x49f136[_0x4d5b('0x36')]['length']?_0x49f136[_0x4d5b('0x36')]:_0x1e8508[_0x4d5b('0x30')];_0x49f136[_0x4d5b('0x38')]=qs[_0x4d5b('0x39')](_0x20ce60[_0x4d5b('0x32')][_0x4d5b('0x39')]);_0x49f136[_0x4d5b('0x3c')]=qs[_0x4d5b('0x3a')](_[_0x4d5b('0x3b')](_0x20ce60[_0x4d5b('0x32')],_0x1e8508[_0x4d5b('0x3a')]));if(_0x20ce60[_0x4d5b('0x32')]['filter']){_0x49f136[_0x4d5b('0x3c')]=_['merge'](_0x49f136[_0x4d5b('0x3c')],{'$or':_['map'](_0x49f136['attributes'],function(_0x4c7bf4){var _0x5c1510={};_0x5c1510[_0x4c7bf4]={'$like':'%'+_0x20ce60[_0x4d5b('0x32')][_0x4d5b('0x4d')]+'%'};return _0x5c1510;})});}_0x49f136=_['merge']({},_0x49f136,_0x20ce60['options']);return _0x4a5476['getSubjects'](_0x49f136);}})['then'](function(_0x15c00b){if(_0x15c00b){_0x552353=_0x15c00b[_0x4d5b('0x45')];if(!_0x20ce60['query'][_0x4d5b('0x37')](_0x4d5b('0x4e'))){_0x49f136[_0x4d5b('0x1f')]=qs[_0x4d5b('0x1f')](_0x20ce60[_0x4d5b('0x32')]['limit']);_0x49f136['offset']=qs[_0x4d5b('0x1e')](_0x20ce60['query'][_0x4d5b('0x1e')]);}return _0x4a5476[_0x4d5b('0x4f')](_0x49f136);}})['then'](function(_0x1505ba){if(_0x1505ba){return _0x1505ba?{'count':_0x552353,'rows':_0x1505ba}:null;}})[_0x4d5b('0x25')](respondWithResult(_0x319974,null))[_0x4d5b('0x43')](handleError(_0x319974,null));};exports['getDescriptions']=function(_0x118f3f,_0x311693,_0x442b4a){var _0x5d929b={};var _0xd9cc71={};var _0x43d9e1;var _0x1877fa;return db['Dynamics365Configuration'][_0x4d5b('0x4b')]({'where':{'id':_0x118f3f[_0x4d5b('0x49')]['id']}})['then'](handleEntityNotFound(_0x311693,null))[_0x4d5b('0x25')](function(_0x4890d4){if(_0x4890d4){_0x43d9e1=_0x4890d4;_0xd9cc71[_0x4d5b('0x30')]=_[_0x4d5b('0x33')](db[_0x4d5b('0x4c')][_0x4d5b('0x2c')]);_0xd9cc71[_0x4d5b('0x32')]=_[_0x4d5b('0x33')](_0x118f3f[_0x4d5b('0x32')]);_0xd9cc71[_0x4d5b('0x3a')]=_[_0x4d5b('0x34')](_0xd9cc71[_0x4d5b('0x30')],_0xd9cc71['query']);_0x5d929b[_0x4d5b('0x36')]=_[_0x4d5b('0x34')](_0xd9cc71['model'],qs['fields'](_0x118f3f['query']['fields']));_0x5d929b[_0x4d5b('0x36')]=_0x5d929b['attributes'][_0x4d5b('0x45')]?_0x5d929b[_0x4d5b('0x36')]:_0xd9cc71[_0x4d5b('0x30')];_0x5d929b['order']=qs['sort'](_0x118f3f[_0x4d5b('0x32')]['sort']);_0x5d929b[_0x4d5b('0x3c')]=qs[_0x4d5b('0x3a')](_[_0x4d5b('0x3b')](_0x118f3f[_0x4d5b('0x32')],_0xd9cc71[_0x4d5b('0x3a')]));if(_0x118f3f[_0x4d5b('0x32')][_0x4d5b('0x4d')]){_0x5d929b['where']=_[_0x4d5b('0x3d')](_0x5d929b[_0x4d5b('0x3c')],{'$or':_[_0x4d5b('0x31')](_0x5d929b[_0x4d5b('0x36')],function(_0x215c31){var _0x58c132={};_0x58c132[_0x215c31]={'$like':'%'+_0x118f3f[_0x4d5b('0x32')][_0x4d5b('0x4d')]+'%'};return _0x58c132;})});}_0x5d929b=_['merge']({},_0x5d929b,_0x118f3f[_0x4d5b('0x3f')]);return _0x43d9e1[_0x4d5b('0x50')](_0x5d929b);}})[_0x4d5b('0x25')](function(_0xd44cd0){if(_0xd44cd0){_0x1877fa=_0xd44cd0[_0x4d5b('0x45')];if(!_0x118f3f[_0x4d5b('0x32')][_0x4d5b('0x37')](_0x4d5b('0x4e'))){_0x5d929b['limit']=qs[_0x4d5b('0x1f')](_0x118f3f['query'][_0x4d5b('0x1f')]);_0x5d929b[_0x4d5b('0x1e')]=qs[_0x4d5b('0x1e')](_0x118f3f['query'][_0x4d5b('0x1e')]);}return _0x43d9e1[_0x4d5b('0x50')](_0x5d929b);}})[_0x4d5b('0x25')](function(_0x948e4f){if(_0x948e4f){return _0x948e4f?{'count':_0x1877fa,'rows':_0x948e4f}:null;}})[_0x4d5b('0x25')](respondWithResult(_0x311693,null))[_0x4d5b('0x43')](handleError(_0x311693,null));};