Built motion from commit fa4c4286.|2.6.29
[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 _0x8841=['update','find','destroy','getFields','findOne','Dynamics365Field','pick','hasOwnProperty','getSubjects','length','getDescriptions','rimraf','zip-dir','fast-json-patch','moment','bluebird','mustache','util','path','sox','to-csv','ejs','lodash','squel','jsforce','desk.js','querystring','papaparse','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/license/util','../../mysqldb','end','status','json','offset','limit','undefined','count','set','apply','then','error','stack','name','send','index','map','Dynamics365Configuration','rawAttributes','fieldName','key','model','query','keys','filters','intersection','attributes','fields','nolimit','order','sort','where','filter','merge','type','VIRTUAL','options','includeAll','include','findAll','show','params','catch','create','body'];(function(_0xbcb51e,_0x400eb3){var _0x13cbb6=function(_0x522fb5){while(--_0x522fb5){_0xbcb51e['push'](_0xbcb51e['shift']());}};_0x13cbb6(++_0x400eb3);}(_0x8841,0xad));var _0x1884=function(_0x4152de,_0x540823){_0x4152de=_0x4152de-0x0;var _0x43f87a=_0x8841[_0x4152de];return _0x43f87a;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0x1884('0x0'));var zipdir=require(_0x1884('0x1'));var jsonpatch=require(_0x1884('0x2'));var rp=require('request-promise');var moment=require(_0x1884('0x3'));var BPromise=require(_0x1884('0x4'));var Mustache=require(_0x1884('0x5'));var util=require(_0x1884('0x6'));var path=require(_0x1884('0x7'));var sox=require(_0x1884('0x8'));var csv=require(_0x1884('0x9'));var ejs=require(_0x1884('0xa'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0x1884('0xb'));var squel=require(_0x1884('0xc'));var crypto=require('crypto');var jsforce=require(_0x1884('0xd'));var deskjs=require(_0x1884('0xe'));var toCsv=require(_0x1884('0x9'));var querystring=require(_0x1884('0xf'));var Papa=require(_0x1884('0x10'));var Redis=require(_0x1884('0x11'));var authService=require('../../components/auth/service');var qs=require(_0x1884('0x12'));var as=require(_0x1884('0x13'));var hardwareService=require(_0x1884('0x14'));var logger=require(_0x1884('0x15'))(_0x1884('0x16'));var utils=require(_0x1884('0x17'));var config=require('../../config/environment');var licenseUtil=require(_0x1884('0x18'));var db=require(_0x1884('0x19'))['db'];function respondWithStatusCode(_0x22f339,_0x22ced0){_0x22ced0=_0x22ced0||0xcc;return function(_0x14a7e7){if(_0x14a7e7){return _0x22f339['sendStatus'](_0x22ced0);}return _0x22f339['status'](_0x22ced0)[_0x1884('0x1a')]();};}function respondWithResult(_0x28a452,_0x323d9c){_0x323d9c=_0x323d9c||0xc8;return function(_0x14ca48){if(_0x14ca48){return _0x28a452[_0x1884('0x1b')](_0x323d9c)[_0x1884('0x1c')](_0x14ca48);}};}function respondWithFilteredResult(_0x221d06,_0x1e69f0){return function(_0x151ace){if(_0x151ace){var _0xf93dc5=typeof _0x1e69f0[_0x1884('0x1d')]==='undefined'&&typeof _0x1e69f0[_0x1884('0x1e')]===_0x1884('0x1f');var _0x59369b=_0x151ace['count'];var _0x2634dd=_0xf93dc5?0x0:_0x1e69f0[_0x1884('0x1d')];var _0x59252e=_0xf93dc5?_0x151ace[_0x1884('0x20')]:_0x1e69f0['offset']+_0x1e69f0[_0x1884('0x1e')];var _0x424e87;if(_0x59252e>=_0x59369b){_0x59252e=_0x59369b;_0x424e87=0xc8;}else{_0x424e87=0xce;}_0x221d06[_0x1884('0x1b')](_0x424e87);return _0x221d06[_0x1884('0x21')]('Content-Range',_0x2634dd+'-'+_0x59252e+'/'+_0x59369b)[_0x1884('0x1c')](_0x151ace);}return null;};}function patchUpdates(_0x5e4577){return function(_0x5a974b){try{jsonpatch[_0x1884('0x22')](_0x5a974b,_0x5e4577,!![]);}catch(_0x21a3b3){return BPromise['reject'](_0x21a3b3);}return _0x5a974b['save']();};}function saveUpdates(_0x2eca5d,_0x14f13c){return function(_0x990d95){if(_0x990d95){return _0x990d95['update'](_0x2eca5d)[_0x1884('0x23')](function(_0x17a73b){return _0x17a73b;});}return null;};}function removeEntity(_0x5b83a8,_0x21812a){return function(_0x5430b7){if(_0x5430b7){return _0x5430b7['destroy']()[_0x1884('0x23')](function(){_0x5b83a8[_0x1884('0x1b')](0xcc)['end']();});}};}function handleEntityNotFound(_0x5b2f03,_0x370dcf){return function(_0x1b247b){if(!_0x1b247b){_0x5b2f03['sendStatus'](0x194);}return _0x1b247b;};}function handleError(_0x321377,_0x398548){_0x398548=_0x398548||0x1f4;return function(_0x3a7abb){logger[_0x1884('0x24')](_0x3a7abb[_0x1884('0x25')]);if(_0x3a7abb[_0x1884('0x26')]){delete _0x3a7abb['name'];}_0x321377[_0x1884('0x1b')](_0x398548)[_0x1884('0x27')](_0x3a7abb);};}exports[_0x1884('0x28')]=function(_0xcbe3f5,_0x52767d){var _0x592042={},_0x168b04={},_0x1abc01={'count':0x0,'rows':[]};var _0x21ce0e=_[_0x1884('0x29')](db[_0x1884('0x2a')][_0x1884('0x2b')],function(_0x3b3e0c){return{'name':_0x3b3e0c[_0x1884('0x2c')],'type':_0x3b3e0c['type'][_0x1884('0x2d')]};});_0x168b04[_0x1884('0x2e')]=_['map'](_0x21ce0e,_0x1884('0x26'));_0x168b04[_0x1884('0x2f')]=_[_0x1884('0x30')](_0xcbe3f5[_0x1884('0x2f')]);_0x168b04[_0x1884('0x31')]=_[_0x1884('0x32')](_0x168b04['model'],_0x168b04[_0x1884('0x2f')]);_0x592042[_0x1884('0x33')]=_[_0x1884('0x32')](_0x168b04[_0x1884('0x2e')],qs[_0x1884('0x34')](_0xcbe3f5['query']['fields']));_0x592042[_0x1884('0x33')]=_0x592042[_0x1884('0x33')]['length']?_0x592042[_0x1884('0x33')]:_0x168b04[_0x1884('0x2e')];if(!_0xcbe3f5['query']['hasOwnProperty'](_0x1884('0x35'))){_0x592042[_0x1884('0x1e')]=qs[_0x1884('0x1e')](_0xcbe3f5['query']['limit']);_0x592042[_0x1884('0x1d')]=qs['offset'](_0xcbe3f5[_0x1884('0x2f')]['offset']);}_0x592042[_0x1884('0x36')]=qs[_0x1884('0x37')](_0xcbe3f5['query'][_0x1884('0x37')]);_0x592042[_0x1884('0x38')]=qs[_0x1884('0x31')](_['pick'](_0xcbe3f5[_0x1884('0x2f')],_0x168b04[_0x1884('0x31')]),_0x21ce0e);if(_0xcbe3f5['query'][_0x1884('0x39')]){_0x592042[_0x1884('0x38')]=_[_0x1884('0x3a')](_0x592042[_0x1884('0x38')],{'$or':_[_0x1884('0x29')](_0x21ce0e,function(_0x59a126){if(_0x59a126[_0x1884('0x3b')]!==_0x1884('0x3c')){var _0x2ed809={};_0x2ed809[_0x59a126[_0x1884('0x26')]]={'$like':'%'+_0xcbe3f5[_0x1884('0x2f')]['filter']+'%'};return _0x2ed809;}})});}_0x592042=_[_0x1884('0x3a')]({},_0x592042,_0xcbe3f5[_0x1884('0x3d')]);var _0x4f0069={'where':_0x592042[_0x1884('0x38')]};return db[_0x1884('0x2a')][_0x1884('0x20')](_0x4f0069)['then'](function(_0x4ba6e2){_0x1abc01[_0x1884('0x20')]=_0x4ba6e2;if(_0xcbe3f5[_0x1884('0x2f')][_0x1884('0x3e')]){_0x592042[_0x1884('0x3f')]=[{'all':!![]}];}return db[_0x1884('0x2a')][_0x1884('0x40')](_0x592042);})[_0x1884('0x23')](function(_0x10d614){_0x1abc01['rows']=_0x10d614;return _0x1abc01;})[_0x1884('0x23')](respondWithFilteredResult(_0x52767d,_0x592042))['catch'](handleError(_0x52767d,null));};exports[_0x1884('0x41')]=function(_0x265b33,_0x5bb8a5){var _0x21949f={'raw':![],'where':{'id':_0x265b33[_0x1884('0x42')]['id']}},_0x2ff34b={};_0x2ff34b[_0x1884('0x2e')]=_[_0x1884('0x30')](db[_0x1884('0x2a')]['rawAttributes']);_0x2ff34b[_0x1884('0x2f')]=_['keys'](_0x265b33[_0x1884('0x2f')]);_0x2ff34b[_0x1884('0x31')]=_[_0x1884('0x32')](_0x2ff34b[_0x1884('0x2e')],_0x2ff34b[_0x1884('0x2f')]);_0x21949f[_0x1884('0x33')]=_[_0x1884('0x32')](_0x2ff34b[_0x1884('0x2e')],qs[_0x1884('0x34')](_0x265b33[_0x1884('0x2f')][_0x1884('0x34')]));_0x21949f[_0x1884('0x33')]=_0x21949f[_0x1884('0x33')]['length']?_0x21949f[_0x1884('0x33')]:_0x2ff34b['model'];if(_0x265b33[_0x1884('0x2f')][_0x1884('0x3e')]){_0x21949f[_0x1884('0x3f')]=[{'all':!![]}];}_0x21949f=_[_0x1884('0x3a')]({},_0x21949f,_0x265b33[_0x1884('0x3d')]);return db[_0x1884('0x2a')]['find'](_0x21949f)[_0x1884('0x23')](handleEntityNotFound(_0x5bb8a5,null))[_0x1884('0x23')](respondWithResult(_0x5bb8a5,null))[_0x1884('0x43')](handleError(_0x5bb8a5,null));};exports['create']=function(_0x5c7701,_0x9c4b9a){return db['Dynamics365Configuration'][_0x1884('0x44')](_0x5c7701[_0x1884('0x45')],{})['then'](respondWithResult(_0x9c4b9a,0xc9))[_0x1884('0x43')](handleError(_0x9c4b9a,null));};exports[_0x1884('0x46')]=function(_0x34cf24,_0x4f92b9){if(_0x34cf24[_0x1884('0x45')]['id']){delete _0x34cf24[_0x1884('0x45')]['id'];}return db[_0x1884('0x2a')][_0x1884('0x47')]({'where':{'id':_0x34cf24[_0x1884('0x42')]['id']}})[_0x1884('0x23')](handleEntityNotFound(_0x4f92b9,null))[_0x1884('0x23')](saveUpdates(_0x34cf24['body'],null))[_0x1884('0x23')](respondWithResult(_0x4f92b9,null))['catch'](handleError(_0x4f92b9,null));};exports[_0x1884('0x48')]=function(_0x5dfe05,_0x2de542){return db['Dynamics365Configuration'][_0x1884('0x47')]({'where':{'id':_0x5dfe05[_0x1884('0x42')]['id']}})[_0x1884('0x23')](handleEntityNotFound(_0x2de542,null))['then'](removeEntity(_0x2de542,null))[_0x1884('0x43')](handleError(_0x2de542,null));};exports[_0x1884('0x49')]=function(_0x39346b,_0xe2660d,_0x10aa7a){var _0x3990db={};var _0x476340={};var _0x36aa4b;var _0x2b52ea;return db[_0x1884('0x2a')][_0x1884('0x4a')]({'where':{'id':_0x39346b[_0x1884('0x42')]['id']}})[_0x1884('0x23')](handleEntityNotFound(_0xe2660d,null))[_0x1884('0x23')](function(_0x39702b){if(_0x39702b){_0x36aa4b=_0x39702b;_0x476340[_0x1884('0x2e')]=_[_0x1884('0x30')](db[_0x1884('0x4b')]['rawAttributes']);_0x476340['query']=_[_0x1884('0x30')](_0x39346b['query']);_0x476340[_0x1884('0x31')]=_[_0x1884('0x32')](_0x476340[_0x1884('0x2e')],_0x476340[_0x1884('0x2f')]);_0x3990db[_0x1884('0x33')]=_['intersection'](_0x476340[_0x1884('0x2e')],qs[_0x1884('0x34')](_0x39346b[_0x1884('0x2f')][_0x1884('0x34')]));_0x3990db[_0x1884('0x33')]=_0x3990db[_0x1884('0x33')]['length']?_0x3990db[_0x1884('0x33')]:_0x476340[_0x1884('0x2e')];_0x3990db[_0x1884('0x36')]=qs[_0x1884('0x37')](_0x39346b[_0x1884('0x2f')]['sort']);_0x3990db[_0x1884('0x38')]=qs[_0x1884('0x31')](_[_0x1884('0x4c')](_0x39346b['query'],_0x476340[_0x1884('0x31')]));if(_0x39346b[_0x1884('0x2f')][_0x1884('0x39')]){_0x3990db[_0x1884('0x38')]=_[_0x1884('0x3a')](_0x3990db[_0x1884('0x38')],{'$or':_[_0x1884('0x29')](_0x3990db[_0x1884('0x33')],function(_0x4969bb){var _0x257e22={};_0x257e22[_0x4969bb]={'$like':'%'+_0x39346b['query'][_0x1884('0x39')]+'%'};return _0x257e22;})});}_0x3990db=_[_0x1884('0x3a')]({},_0x3990db,_0x39346b['options']);return _0x36aa4b['getFields'](_0x3990db);}})[_0x1884('0x23')](function(_0x368a3b){if(_0x368a3b){_0x2b52ea=_0x368a3b['length'];if(!_0x39346b[_0x1884('0x2f')][_0x1884('0x4d')](_0x1884('0x35'))){_0x3990db[_0x1884('0x1e')]=qs['limit'](_0x39346b[_0x1884('0x2f')][_0x1884('0x1e')]);_0x3990db[_0x1884('0x1d')]=qs[_0x1884('0x1d')](_0x39346b[_0x1884('0x2f')][_0x1884('0x1d')]);}return _0x36aa4b[_0x1884('0x49')](_0x3990db);}})[_0x1884('0x23')](function(_0x29961d){if(_0x29961d){return _0x29961d?{'count':_0x2b52ea,'rows':_0x29961d}:null;}})[_0x1884('0x23')](respondWithResult(_0xe2660d,null))[_0x1884('0x43')](handleError(_0xe2660d,null));};exports[_0x1884('0x4e')]=function(_0xc39b3,_0x8d8e88,_0x51e893){var _0x2e84e1={};var _0x18df5f={};var _0x33db7b;var _0x2fc06f;return db[_0x1884('0x2a')][_0x1884('0x4a')]({'where':{'id':_0xc39b3[_0x1884('0x42')]['id']}})['then'](handleEntityNotFound(_0x8d8e88,null))[_0x1884('0x23')](function(_0x248820){if(_0x248820){_0x33db7b=_0x248820;_0x18df5f[_0x1884('0x2e')]=_[_0x1884('0x30')](db['Dynamics365Field'][_0x1884('0x2b')]);_0x18df5f[_0x1884('0x2f')]=_[_0x1884('0x30')](_0xc39b3[_0x1884('0x2f')]);_0x18df5f[_0x1884('0x31')]=_[_0x1884('0x32')](_0x18df5f['model'],_0x18df5f[_0x1884('0x2f')]);_0x2e84e1['attributes']=_[_0x1884('0x32')](_0x18df5f[_0x1884('0x2e')],qs[_0x1884('0x34')](_0xc39b3['query'][_0x1884('0x34')]));_0x2e84e1[_0x1884('0x33')]=_0x2e84e1[_0x1884('0x33')][_0x1884('0x4f')]?_0x2e84e1['attributes']:_0x18df5f[_0x1884('0x2e')];_0x2e84e1[_0x1884('0x36')]=qs['sort'](_0xc39b3[_0x1884('0x2f')]['sort']);_0x2e84e1[_0x1884('0x38')]=qs[_0x1884('0x31')](_['pick'](_0xc39b3['query'],_0x18df5f['filters']));if(_0xc39b3[_0x1884('0x2f')][_0x1884('0x39')]){_0x2e84e1['where']=_[_0x1884('0x3a')](_0x2e84e1[_0x1884('0x38')],{'$or':_[_0x1884('0x29')](_0x2e84e1[_0x1884('0x33')],function(_0x360430){var _0xcc059a={};_0xcc059a[_0x360430]={'$like':'%'+_0xc39b3[_0x1884('0x2f')][_0x1884('0x39')]+'%'};return _0xcc059a;})});}_0x2e84e1=_[_0x1884('0x3a')]({},_0x2e84e1,_0xc39b3[_0x1884('0x3d')]);return _0x33db7b[_0x1884('0x4e')](_0x2e84e1);}})[_0x1884('0x23')](function(_0x3fb77d){if(_0x3fb77d){_0x2fc06f=_0x3fb77d[_0x1884('0x4f')];if(!_0xc39b3['query'][_0x1884('0x4d')]('nolimit')){_0x2e84e1[_0x1884('0x1e')]=qs[_0x1884('0x1e')](_0xc39b3['query'][_0x1884('0x1e')]);_0x2e84e1[_0x1884('0x1d')]=qs[_0x1884('0x1d')](_0xc39b3['query']['offset']);}return _0x33db7b[_0x1884('0x4e')](_0x2e84e1);}})[_0x1884('0x23')](function(_0x3bae08){if(_0x3bae08){return _0x3bae08?{'count':_0x2fc06f,'rows':_0x3bae08}:null;}})[_0x1884('0x23')](respondWithResult(_0x8d8e88,null))[_0x1884('0x43')](handleError(_0x8d8e88,null));};exports[_0x1884('0x50')]=function(_0x5d84bc,_0x4dba6f,_0x33fcf7){var _0x1a7d07={};var _0x5bcb35={};var _0x43852b;var _0x46b945;return db[_0x1884('0x2a')][_0x1884('0x4a')]({'where':{'id':_0x5d84bc[_0x1884('0x42')]['id']}})[_0x1884('0x23')](handleEntityNotFound(_0x4dba6f,null))[_0x1884('0x23')](function(_0x288d13){if(_0x288d13){_0x43852b=_0x288d13;_0x5bcb35[_0x1884('0x2e')]=_[_0x1884('0x30')](db['Dynamics365Field'][_0x1884('0x2b')]);_0x5bcb35[_0x1884('0x2f')]=_[_0x1884('0x30')](_0x5d84bc[_0x1884('0x2f')]);_0x5bcb35[_0x1884('0x31')]=_[_0x1884('0x32')](_0x5bcb35[_0x1884('0x2e')],_0x5bcb35[_0x1884('0x2f')]);_0x1a7d07[_0x1884('0x33')]=_['intersection'](_0x5bcb35[_0x1884('0x2e')],qs[_0x1884('0x34')](_0x5d84bc[_0x1884('0x2f')][_0x1884('0x34')]));_0x1a7d07[_0x1884('0x33')]=_0x1a7d07[_0x1884('0x33')]['length']?_0x1a7d07[_0x1884('0x33')]:_0x5bcb35[_0x1884('0x2e')];_0x1a7d07[_0x1884('0x36')]=qs[_0x1884('0x37')](_0x5d84bc[_0x1884('0x2f')]['sort']);_0x1a7d07['where']=qs['filters'](_[_0x1884('0x4c')](_0x5d84bc[_0x1884('0x2f')],_0x5bcb35[_0x1884('0x31')]));if(_0x5d84bc['query']['filter']){_0x1a7d07[_0x1884('0x38')]=_[_0x1884('0x3a')](_0x1a7d07['where'],{'$or':_[_0x1884('0x29')](_0x1a7d07[_0x1884('0x33')],function(_0x23aee5){var _0x30f06={};_0x30f06[_0x23aee5]={'$like':'%'+_0x5d84bc[_0x1884('0x2f')][_0x1884('0x39')]+'%'};return _0x30f06;})});}_0x1a7d07=_[_0x1884('0x3a')]({},_0x1a7d07,_0x5d84bc['options']);return _0x43852b['getDescriptions'](_0x1a7d07);}})[_0x1884('0x23')](function(_0x5750fc){if(_0x5750fc){_0x46b945=_0x5750fc[_0x1884('0x4f')];if(!_0x5d84bc[_0x1884('0x2f')][_0x1884('0x4d')](_0x1884('0x35'))){_0x1a7d07[_0x1884('0x1e')]=qs[_0x1884('0x1e')](_0x5d84bc[_0x1884('0x2f')][_0x1884('0x1e')]);_0x1a7d07[_0x1884('0x1d')]=qs['offset'](_0x5d84bc[_0x1884('0x2f')][_0x1884('0x1d')]);}return _0x43852b[_0x1884('0x50')](_0x1a7d07);}})['then'](function(_0x2146e9){if(_0x2146e9){return _0x2146e9?{'count':_0x46b945,'rows':_0x2146e9}:null;}})[_0x1884('0x23')](respondWithResult(_0x4dba6f,null))['catch'](handleError(_0x4dba6f,null));};