Built motion from commit 092f8824.|2.5.49
[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 _0xc074=['then','error','stack','name','Dynamics365Configuration','key','model','map','query','keys','filters','attributes','intersection','fields','length','hasOwnProperty','nolimit','sort','where','pick','filter','merge','type','VIRTUAL','includeAll','include','findAll','rows','params','rawAttributes','options','find','create','body','catch','findOne','Dynamics365Field','order','getFields','getSubjects','getDescriptions','rimraf','request-promise','moment','bluebird','mustache','util','path','sox','to-csv','lodash','squel','crypto','jsforce','papaparse','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','sendStatus','status','end','offset','limit','undefined','count','set','Content-Range','json','apply','update','destroy'];(function(_0x4acf7d,_0x410d3d){var _0x324d79=function(_0x3fc8dd){while(--_0x3fc8dd){_0x4acf7d['push'](_0x4acf7d['shift']());}};_0x324d79(++_0x410d3d);}(_0xc074,0x10d));var _0x4c07=function(_0x40df5f,_0x8fd59f){_0x40df5f=_0x40df5f-0x0;var _0x1573f1=_0xc074[_0x40df5f];return _0x1573f1;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0x4c07('0x0'));var zipdir=require('zip-dir');var jsonpatch=require('fast-json-patch');var rp=require(_0x4c07('0x1'));var moment=require(_0x4c07('0x2'));var BPromise=require(_0x4c07('0x3'));var Mustache=require(_0x4c07('0x4'));var util=require(_0x4c07('0x5'));var path=require(_0x4c07('0x6'));var sox=require(_0x4c07('0x7'));var csv=require(_0x4c07('0x8'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0x4c07('0x9'));var squel=require(_0x4c07('0xa'));var crypto=require(_0x4c07('0xb'));var jsforce=require(_0x4c07('0xc'));var deskjs=require('desk.js');var toCsv=require(_0x4c07('0x8'));var querystring=require('querystring');var Papa=require(_0x4c07('0xd'));var Redis=require(_0x4c07('0xe'));var authService=require('../../components/auth/service');var qs=require(_0x4c07('0xf'));var as=require(_0x4c07('0x10'));var hardwareService=require('../../config/license/hardware');var logger=require(_0x4c07('0x11'))(_0x4c07('0x12'));var utils=require(_0x4c07('0x13'));var config=require(_0x4c07('0x14'));var licenseUtil=require(_0x4c07('0x15'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x5d68d7,_0x9095e3){_0x9095e3=_0x9095e3||0xcc;return function(_0x39e8e3){if(_0x39e8e3){return _0x5d68d7[_0x4c07('0x16')](_0x9095e3);}return _0x5d68d7[_0x4c07('0x17')](_0x9095e3)[_0x4c07('0x18')]();};}function respondWithResult(_0x48fed4,_0x4fa595){_0x4fa595=_0x4fa595||0xc8;return function(_0x301806){if(_0x301806){return _0x48fed4[_0x4c07('0x17')](_0x4fa595)['json'](_0x301806);}};}function respondWithFilteredResult(_0x1fd172,_0xf3b230){return function(_0xabce0e){if(_0xabce0e){var _0x1b77e8=typeof _0xf3b230[_0x4c07('0x19')]==='undefined'&&typeof _0xf3b230[_0x4c07('0x1a')]===_0x4c07('0x1b');var _0x9301e1=_0xabce0e[_0x4c07('0x1c')];var _0x48bc4f=_0x1b77e8?0x0:_0xf3b230[_0x4c07('0x19')];var _0x8e27ec=_0x1b77e8?_0xabce0e[_0x4c07('0x1c')]:_0xf3b230[_0x4c07('0x19')]+_0xf3b230[_0x4c07('0x1a')];var _0xa6382;if(_0x8e27ec>=_0x9301e1){_0x8e27ec=_0x9301e1;_0xa6382=0xc8;}else{_0xa6382=0xce;}_0x1fd172['status'](_0xa6382);return _0x1fd172[_0x4c07('0x1d')](_0x4c07('0x1e'),_0x48bc4f+'-'+_0x8e27ec+'/'+_0x9301e1)[_0x4c07('0x1f')](_0xabce0e);}return null;};}function patchUpdates(_0x528ec5){return function(_0x344a6b){try{jsonpatch[_0x4c07('0x20')](_0x344a6b,_0x528ec5,!![]);}catch(_0x7a2228){return BPromise['reject'](_0x7a2228);}return _0x344a6b['save']();};}function saveUpdates(_0xd912e8,_0x296a20){return function(_0x4d9392){if(_0x4d9392){return _0x4d9392[_0x4c07('0x21')](_0xd912e8)['then'](function(_0x1eeca4){return _0x1eeca4;});}return null;};}function removeEntity(_0x4dc712,_0x37ca2b){return function(_0x284cda){if(_0x284cda){return _0x284cda[_0x4c07('0x22')]()[_0x4c07('0x23')](function(){_0x4dc712[_0x4c07('0x17')](0xcc)[_0x4c07('0x18')]();});}};}function handleEntityNotFound(_0x5c546f,_0x5d0803){return function(_0x31d6be){if(!_0x31d6be){_0x5c546f[_0x4c07('0x16')](0x194);}return _0x31d6be;};}function handleError(_0x4ea8cf,_0x1dd7fc){_0x1dd7fc=_0x1dd7fc||0x1f4;return function(_0x3f0258){logger[_0x4c07('0x24')](_0x3f0258[_0x4c07('0x25')]);if(_0x3f0258[_0x4c07('0x26')]){delete _0x3f0258[_0x4c07('0x26')];}_0x4ea8cf[_0x4c07('0x17')](_0x1dd7fc)['send'](_0x3f0258);};}exports['index']=function(_0x14b333,_0x19a7dc){var _0x367309={},_0x3ff7e0={},_0x36ba4a={'count':0x0,'rows':[]};var _0x168de7=_['map'](db[_0x4c07('0x27')]['rawAttributes'],function(_0xf90c69){return{'name':_0xf90c69['fieldName'],'type':_0xf90c69['type'][_0x4c07('0x28')]};});_0x3ff7e0[_0x4c07('0x29')]=_[_0x4c07('0x2a')](_0x168de7,'name');_0x3ff7e0[_0x4c07('0x2b')]=_[_0x4c07('0x2c')](_0x14b333[_0x4c07('0x2b')]);_0x3ff7e0[_0x4c07('0x2d')]=_['intersection'](_0x3ff7e0[_0x4c07('0x29')],_0x3ff7e0[_0x4c07('0x2b')]);_0x367309[_0x4c07('0x2e')]=_[_0x4c07('0x2f')](_0x3ff7e0[_0x4c07('0x29')],qs[_0x4c07('0x30')](_0x14b333[_0x4c07('0x2b')][_0x4c07('0x30')]));_0x367309[_0x4c07('0x2e')]=_0x367309[_0x4c07('0x2e')][_0x4c07('0x31')]?_0x367309['attributes']:_0x3ff7e0[_0x4c07('0x29')];if(!_0x14b333[_0x4c07('0x2b')][_0x4c07('0x32')](_0x4c07('0x33'))){_0x367309[_0x4c07('0x1a')]=qs['limit'](_0x14b333[_0x4c07('0x2b')][_0x4c07('0x1a')]);_0x367309['offset']=qs[_0x4c07('0x19')](_0x14b333[_0x4c07('0x2b')][_0x4c07('0x19')]);}_0x367309['order']=qs[_0x4c07('0x34')](_0x14b333[_0x4c07('0x2b')][_0x4c07('0x34')]);_0x367309[_0x4c07('0x35')]=qs[_0x4c07('0x2d')](_[_0x4c07('0x36')](_0x14b333[_0x4c07('0x2b')],_0x3ff7e0[_0x4c07('0x2d')]),_0x168de7);if(_0x14b333[_0x4c07('0x2b')][_0x4c07('0x37')]){_0x367309[_0x4c07('0x35')]=_[_0x4c07('0x38')](_0x367309[_0x4c07('0x35')],{'$or':_['map'](_0x168de7,function(_0x493b5f){if(_0x493b5f[_0x4c07('0x39')]!==_0x4c07('0x3a')){var _0x1b2649={};_0x1b2649[_0x493b5f['name']]={'$like':'%'+_0x14b333[_0x4c07('0x2b')]['filter']+'%'};return _0x1b2649;}})});}_0x367309=_[_0x4c07('0x38')]({},_0x367309,_0x14b333['options']);var _0x5edb0f={'where':_0x367309[_0x4c07('0x35')]};return db['Dynamics365Configuration']['count'](_0x5edb0f)[_0x4c07('0x23')](function(_0x286d07){_0x36ba4a['count']=_0x286d07;if(_0x14b333[_0x4c07('0x2b')][_0x4c07('0x3b')]){_0x367309[_0x4c07('0x3c')]=[{'all':!![]}];}return db[_0x4c07('0x27')][_0x4c07('0x3d')](_0x367309);})[_0x4c07('0x23')](function(_0x285939){_0x36ba4a[_0x4c07('0x3e')]=_0x285939;return _0x36ba4a;})[_0x4c07('0x23')](respondWithFilteredResult(_0x19a7dc,_0x367309))['catch'](handleError(_0x19a7dc,null));};exports['show']=function(_0xe1a7d0,_0x237fc8){var _0x1ed5d4={'raw':![],'where':{'id':_0xe1a7d0[_0x4c07('0x3f')]['id']}},_0x5aa709={};_0x5aa709['model']=_[_0x4c07('0x2c')](db['Dynamics365Configuration'][_0x4c07('0x40')]);_0x5aa709[_0x4c07('0x2b')]=_[_0x4c07('0x2c')](_0xe1a7d0[_0x4c07('0x2b')]);_0x5aa709[_0x4c07('0x2d')]=_[_0x4c07('0x2f')](_0x5aa709[_0x4c07('0x29')],_0x5aa709[_0x4c07('0x2b')]);_0x1ed5d4[_0x4c07('0x2e')]=_['intersection'](_0x5aa709[_0x4c07('0x29')],qs['fields'](_0xe1a7d0[_0x4c07('0x2b')]['fields']));_0x1ed5d4[_0x4c07('0x2e')]=_0x1ed5d4[_0x4c07('0x2e')][_0x4c07('0x31')]?_0x1ed5d4[_0x4c07('0x2e')]:_0x5aa709[_0x4c07('0x29')];if(_0xe1a7d0[_0x4c07('0x2b')][_0x4c07('0x3b')]){_0x1ed5d4[_0x4c07('0x3c')]=[{'all':!![]}];}_0x1ed5d4=_[_0x4c07('0x38')]({},_0x1ed5d4,_0xe1a7d0[_0x4c07('0x41')]);return db[_0x4c07('0x27')][_0x4c07('0x42')](_0x1ed5d4)[_0x4c07('0x23')](handleEntityNotFound(_0x237fc8,null))[_0x4c07('0x23')](respondWithResult(_0x237fc8,null))['catch'](handleError(_0x237fc8,null));};exports[_0x4c07('0x43')]=function(_0x554320,_0x5153d2){return db['Dynamics365Configuration'][_0x4c07('0x43')](_0x554320[_0x4c07('0x44')],{})[_0x4c07('0x23')](respondWithResult(_0x5153d2,0xc9))['catch'](handleError(_0x5153d2,null));};exports[_0x4c07('0x21')]=function(_0x205d73,_0x15f969){if(_0x205d73[_0x4c07('0x44')]['id']){delete _0x205d73[_0x4c07('0x44')]['id'];}return db['Dynamics365Configuration'][_0x4c07('0x42')]({'where':{'id':_0x205d73[_0x4c07('0x3f')]['id']}})[_0x4c07('0x23')](handleEntityNotFound(_0x15f969,null))[_0x4c07('0x23')](saveUpdates(_0x205d73['body'],null))[_0x4c07('0x23')](respondWithResult(_0x15f969,null))[_0x4c07('0x45')](handleError(_0x15f969,null));};exports[_0x4c07('0x22')]=function(_0x3db3b3,_0x4e06de){return db['Dynamics365Configuration'][_0x4c07('0x42')]({'where':{'id':_0x3db3b3[_0x4c07('0x3f')]['id']}})[_0x4c07('0x23')](handleEntityNotFound(_0x4e06de,null))[_0x4c07('0x23')](removeEntity(_0x4e06de,null))[_0x4c07('0x45')](handleError(_0x4e06de,null));};exports['getFields']=function(_0x6dc2d3,_0x543933,_0x3d7596){var _0x4b25b2={};var _0x24621e={};var _0x22a52c;var _0x57b1ad;return db['Dynamics365Configuration'][_0x4c07('0x46')]({'where':{'id':_0x6dc2d3[_0x4c07('0x3f')]['id']}})[_0x4c07('0x23')](handleEntityNotFound(_0x543933,null))['then'](function(_0x3b3eae){if(_0x3b3eae){_0x22a52c=_0x3b3eae;_0x24621e[_0x4c07('0x29')]=_[_0x4c07('0x2c')](db[_0x4c07('0x47')]['rawAttributes']);_0x24621e['query']=_[_0x4c07('0x2c')](_0x6dc2d3['query']);_0x24621e[_0x4c07('0x2d')]=_[_0x4c07('0x2f')](_0x24621e[_0x4c07('0x29')],_0x24621e['query']);_0x4b25b2[_0x4c07('0x2e')]=_[_0x4c07('0x2f')](_0x24621e[_0x4c07('0x29')],qs[_0x4c07('0x30')](_0x6dc2d3['query'][_0x4c07('0x30')]));_0x4b25b2[_0x4c07('0x2e')]=_0x4b25b2[_0x4c07('0x2e')][_0x4c07('0x31')]?_0x4b25b2[_0x4c07('0x2e')]:_0x24621e[_0x4c07('0x29')];_0x4b25b2[_0x4c07('0x48')]=qs[_0x4c07('0x34')](_0x6dc2d3['query'][_0x4c07('0x34')]);_0x4b25b2[_0x4c07('0x35')]=qs[_0x4c07('0x2d')](_['pick'](_0x6dc2d3[_0x4c07('0x2b')],_0x24621e[_0x4c07('0x2d')]));if(_0x6dc2d3[_0x4c07('0x2b')][_0x4c07('0x37')]){_0x4b25b2[_0x4c07('0x35')]=_['merge'](_0x4b25b2[_0x4c07('0x35')],{'$or':_[_0x4c07('0x2a')](_0x4b25b2['attributes'],function(_0x4eca8a){var _0x423cf1={};_0x423cf1[_0x4eca8a]={'$like':'%'+_0x6dc2d3[_0x4c07('0x2b')][_0x4c07('0x37')]+'%'};return _0x423cf1;})});}_0x4b25b2=_[_0x4c07('0x38')]({},_0x4b25b2,_0x6dc2d3[_0x4c07('0x41')]);return _0x22a52c['getFields'](_0x4b25b2);}})['then'](function(_0x14743c){if(_0x14743c){_0x57b1ad=_0x14743c[_0x4c07('0x31')];if(!_0x6dc2d3[_0x4c07('0x2b')]['hasOwnProperty'](_0x4c07('0x33'))){_0x4b25b2['limit']=qs[_0x4c07('0x1a')](_0x6dc2d3['query']['limit']);_0x4b25b2[_0x4c07('0x19')]=qs[_0x4c07('0x19')](_0x6dc2d3[_0x4c07('0x2b')][_0x4c07('0x19')]);}return _0x22a52c[_0x4c07('0x49')](_0x4b25b2);}})[_0x4c07('0x23')](function(_0x32f15a){if(_0x32f15a){return _0x32f15a?{'count':_0x57b1ad,'rows':_0x32f15a}:null;}})[_0x4c07('0x23')](respondWithResult(_0x543933,null))[_0x4c07('0x45')](handleError(_0x543933,null));};exports[_0x4c07('0x4a')]=function(_0x29277a,_0x10e076,_0x2e7871){var _0x2d944d={};var _0x1ad3d7={};var _0x3ed048;var _0x1d2e59;return db['Dynamics365Configuration']['findOne']({'where':{'id':_0x29277a[_0x4c07('0x3f')]['id']}})[_0x4c07('0x23')](handleEntityNotFound(_0x10e076,null))[_0x4c07('0x23')](function(_0x531a4b){if(_0x531a4b){_0x3ed048=_0x531a4b;_0x1ad3d7[_0x4c07('0x29')]=_[_0x4c07('0x2c')](db[_0x4c07('0x47')]['rawAttributes']);_0x1ad3d7[_0x4c07('0x2b')]=_[_0x4c07('0x2c')](_0x29277a[_0x4c07('0x2b')]);_0x1ad3d7['filters']=_[_0x4c07('0x2f')](_0x1ad3d7[_0x4c07('0x29')],_0x1ad3d7[_0x4c07('0x2b')]);_0x2d944d[_0x4c07('0x2e')]=_[_0x4c07('0x2f')](_0x1ad3d7[_0x4c07('0x29')],qs[_0x4c07('0x30')](_0x29277a[_0x4c07('0x2b')][_0x4c07('0x30')]));_0x2d944d[_0x4c07('0x2e')]=_0x2d944d['attributes'][_0x4c07('0x31')]?_0x2d944d['attributes']:_0x1ad3d7[_0x4c07('0x29')];_0x2d944d[_0x4c07('0x48')]=qs['sort'](_0x29277a[_0x4c07('0x2b')][_0x4c07('0x34')]);_0x2d944d[_0x4c07('0x35')]=qs[_0x4c07('0x2d')](_[_0x4c07('0x36')](_0x29277a[_0x4c07('0x2b')],_0x1ad3d7['filters']));if(_0x29277a['query']['filter']){_0x2d944d[_0x4c07('0x35')]=_['merge'](_0x2d944d['where'],{'$or':_['map'](_0x2d944d[_0x4c07('0x2e')],function(_0xcee81c){var _0x4372a2={};_0x4372a2[_0xcee81c]={'$like':'%'+_0x29277a[_0x4c07('0x2b')][_0x4c07('0x37')]+'%'};return _0x4372a2;})});}_0x2d944d=_[_0x4c07('0x38')]({},_0x2d944d,_0x29277a[_0x4c07('0x41')]);return _0x3ed048['getSubjects'](_0x2d944d);}})[_0x4c07('0x23')](function(_0x4292e9){if(_0x4292e9){_0x1d2e59=_0x4292e9['length'];if(!_0x29277a[_0x4c07('0x2b')][_0x4c07('0x32')](_0x4c07('0x33'))){_0x2d944d['limit']=qs[_0x4c07('0x1a')](_0x29277a[_0x4c07('0x2b')][_0x4c07('0x1a')]);_0x2d944d[_0x4c07('0x19')]=qs[_0x4c07('0x19')](_0x29277a[_0x4c07('0x2b')]['offset']);}return _0x3ed048[_0x4c07('0x4a')](_0x2d944d);}})[_0x4c07('0x23')](function(_0x51fdc3){if(_0x51fdc3){return _0x51fdc3?{'count':_0x1d2e59,'rows':_0x51fdc3}:null;}})[_0x4c07('0x23')](respondWithResult(_0x10e076,null))['catch'](handleError(_0x10e076,null));};exports['getDescriptions']=function(_0x6e6e0a,_0x301859,_0x1c3d29){var _0x4572b8={};var _0x252051={};var _0x5b219d;var _0x249101;return db[_0x4c07('0x27')]['findOne']({'where':{'id':_0x6e6e0a['params']['id']}})[_0x4c07('0x23')](handleEntityNotFound(_0x301859,null))[_0x4c07('0x23')](function(_0x32d2c9){if(_0x32d2c9){_0x5b219d=_0x32d2c9;_0x252051['model']=_['keys'](db[_0x4c07('0x47')][_0x4c07('0x40')]);_0x252051[_0x4c07('0x2b')]=_['keys'](_0x6e6e0a[_0x4c07('0x2b')]);_0x252051['filters']=_['intersection'](_0x252051[_0x4c07('0x29')],_0x252051[_0x4c07('0x2b')]);_0x4572b8[_0x4c07('0x2e')]=_['intersection'](_0x252051[_0x4c07('0x29')],qs['fields'](_0x6e6e0a['query']['fields']));_0x4572b8[_0x4c07('0x2e')]=_0x4572b8[_0x4c07('0x2e')]['length']?_0x4572b8[_0x4c07('0x2e')]:_0x252051[_0x4c07('0x29')];_0x4572b8[_0x4c07('0x48')]=qs[_0x4c07('0x34')](_0x6e6e0a[_0x4c07('0x2b')][_0x4c07('0x34')]);_0x4572b8[_0x4c07('0x35')]=qs[_0x4c07('0x2d')](_[_0x4c07('0x36')](_0x6e6e0a[_0x4c07('0x2b')],_0x252051[_0x4c07('0x2d')]));if(_0x6e6e0a[_0x4c07('0x2b')][_0x4c07('0x37')]){_0x4572b8[_0x4c07('0x35')]=_[_0x4c07('0x38')](_0x4572b8[_0x4c07('0x35')],{'$or':_[_0x4c07('0x2a')](_0x4572b8[_0x4c07('0x2e')],function(_0x496ef9){var _0x43cf9d={};_0x43cf9d[_0x496ef9]={'$like':'%'+_0x6e6e0a[_0x4c07('0x2b')][_0x4c07('0x37')]+'%'};return _0x43cf9d;})});}_0x4572b8=_[_0x4c07('0x38')]({},_0x4572b8,_0x6e6e0a[_0x4c07('0x41')]);return _0x5b219d[_0x4c07('0x4b')](_0x4572b8);}})['then'](function(_0x37e3ec){if(_0x37e3ec){_0x249101=_0x37e3ec[_0x4c07('0x31')];if(!_0x6e6e0a[_0x4c07('0x2b')][_0x4c07('0x32')](_0x4c07('0x33'))){_0x4572b8[_0x4c07('0x1a')]=qs[_0x4c07('0x1a')](_0x6e6e0a[_0x4c07('0x2b')]['limit']);_0x4572b8['offset']=qs['offset'](_0x6e6e0a[_0x4c07('0x2b')][_0x4c07('0x19')]);}return _0x5b219d[_0x4c07('0x4b')](_0x4572b8);}})[_0x4c07('0x23')](function(_0x687183){if(_0x687183){return _0x687183?{'count':_0x249101,'rows':_0x687183}:null;}})[_0x4c07('0x23')](respondWithResult(_0x301859,null))[_0x4c07('0x45')](handleError(_0x301859,null));};