d330b8fd8e36bb1ab487fad2d5b8b35dba5f7f90
[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 _0x398a=['save','update','destroy','sendStatus','stack','name','send','index','map','rawAttributes','fieldName','type','key','model','query','keys','filters','intersection','attributes','fields','length','hasOwnProperty','limit','order','sort','where','filter','merge','VIRTUAL','includeAll','findAll','rows','show','options','Dynamics365Configuration','create','body','find','params','getFields','findOne','pick','nolimit','getSubjects','Dynamics365Field','getDescriptions','html-pdf','eml-format','zip-dir','moment','bluebird','mustache','util','path','to-csv','ejs','lodash','squel','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','../../config/environment','../../config/license/util','../../mysqldb','client','http','request','then','info','Dynamics365Configuration,\x20%s,\x20%s','request\x20sent','debug','Dynamics365Configuration,\x20%s,\x20%s,\x20%s','stringify','error','code','message','catch','status','end','json','count','offset','set','apply'];(function(_0x5b8b97,_0x6b4dfa){var _0x1fdf84=function(_0x2ced4c){while(--_0x2ced4c){_0x5b8b97['push'](_0x5b8b97['shift']());}};_0x1fdf84(++_0x6b4dfa);}(_0x398a,0xe0));var _0xa398=function(_0x296d9d,_0x5425df){_0x296d9d=_0x296d9d-0x0;var _0x117d39=_0x398a[_0x296d9d];return _0x117d39;};'use strict';var pdf=require(_0xa398('0x0'));var emlformat=require(_0xa398('0x1'));var rimraf=require('rimraf');var zipdir=require(_0xa398('0x2'));var jsonpatch=require('fast-json-patch');var rp=require('request-promise');var moment=require(_0xa398('0x3'));var BPromise=require(_0xa398('0x4'));var Mustache=require(_0xa398('0x5'));var util=require(_0xa398('0x6'));var path=require(_0xa398('0x7'));var sox=require('sox');var csv=require(_0xa398('0x8'));var ejs=require(_0xa398('0x9'));var fs=require('fs');var _=require(_0xa398('0xa'));var squel=require(_0xa398('0xb'));var crypto=require('crypto');var jsforce=require('jsforce');var deskjs=require(_0xa398('0xc'));var toCsv=require(_0xa398('0x8'));var querystring=require(_0xa398('0xd'));var Papa=require(_0xa398('0xe'));var Redis=require(_0xa398('0xf'));var authService=require(_0xa398('0x10'));var qs=require(_0xa398('0x11'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0xa398('0x12'));var logger=require('../../config/logger')('api');var utils=require('../../config/utils');var config=require(_0xa398('0x13'));var licenseUtil=require(_0xa398('0x14'));var db=require(_0xa398('0x15'))['db'];var jayson=require('jayson/promise');var client=jayson[_0xa398('0x16')][_0xa398('0x17')]({'port':0x232a});function respondWithRpcPromise(_0x564594,_0xc0408f,_0x35337b,_0x50a055){return new BPromise(function(_0x31edaf,_0xa9b1b9){var _0x3f6cfa=_0x50a055||client;return _0x3f6cfa[_0xa398('0x18')](_0x564594,_0x35337b)[_0xa398('0x19')](function(_0x2d4f48){logger[_0xa398('0x1a')](_0xa398('0x1b'),_0xc0408f,_0xa398('0x1c'));logger[_0xa398('0x1d')](_0xa398('0x1e'),_0xc0408f,'request\x20sent',JSON[_0xa398('0x1f')](_0x2d4f48));if(_0x2d4f48[_0xa398('0x20')]){if(_0x2d4f48[_0xa398('0x20')][_0xa398('0x21')]===0x1f4){logger[_0xa398('0x20')]('Dynamics365Configuration,\x20%s,\x20%s',_0xc0408f,_0x2d4f48[_0xa398('0x20')][_0xa398('0x22')]);return _0xa9b1b9(_0x2d4f48[_0xa398('0x20')]['message']);}logger[_0xa398('0x20')](_0xa398('0x1b'),_0xc0408f,_0x2d4f48[_0xa398('0x20')][_0xa398('0x22')]);return _0x31edaf(_0x2d4f48[_0xa398('0x20')]['message']);}else{logger[_0xa398('0x1a')](_0xa398('0x1b'),_0xc0408f,'request\x20sent');_0x31edaf(_0x2d4f48['result'][_0xa398('0x22')]);}})[_0xa398('0x23')](function(_0xc9c444){logger[_0xa398('0x20')](_0xa398('0x1b'),_0xc0408f,_0xc9c444);_0xa9b1b9(_0xc9c444);});});}function respondWithStatusCode(_0x371b5b,_0x60ef9c){_0x60ef9c=_0x60ef9c||0xcc;return function(_0x46ea32){if(_0x46ea32){return _0x371b5b['sendStatus'](_0x60ef9c);}return _0x371b5b[_0xa398('0x24')](_0x60ef9c)[_0xa398('0x25')]();};}function respondWithResult(_0x1da6eb,_0x1ac09d){_0x1ac09d=_0x1ac09d||0xc8;return function(_0x2ade1b){if(_0x2ade1b){return _0x1da6eb[_0xa398('0x24')](_0x1ac09d)[_0xa398('0x26')](_0x2ade1b);}};}function respondWithFilteredResult(_0x3c402f,_0x49d2e7){return function(_0x124d17){if(_0x124d17){var _0xe9b29a=_0x124d17[_0xa398('0x27')],_0x3a030a=_0x49d2e7[_0xa398('0x28')],_0x224492=_0x49d2e7[_0xa398('0x28')]+_0x49d2e7['limit'],_0x3c9c31;if(_0x224492>=_0xe9b29a){_0x224492=_0xe9b29a;_0x3c9c31=0xc8;}else{_0x3c9c31=0xce;}_0x3c402f[_0xa398('0x24')](_0x3c9c31);return _0x3c402f[_0xa398('0x29')]('Content-Range',_0x3a030a+'-'+_0x224492+'/'+_0xe9b29a)[_0xa398('0x26')](_0x124d17);}return null;};}function patchUpdates(_0x3bae3f){return function(_0x5d4d63){try{jsonpatch[_0xa398('0x2a')](_0x5d4d63,_0x3bae3f,!![]);}catch(_0x659042){return BPromise['reject'](_0x659042);}return _0x5d4d63[_0xa398('0x2b')]();};}function saveUpdates(_0x3b7d94,_0x22acdd){return function(_0x236a77){if(_0x236a77){return _0x236a77[_0xa398('0x2c')](_0x3b7d94)[_0xa398('0x19')](function(_0x5c218d){return _0x5c218d;});}return null;};}function removeEntity(_0x4431c8,_0x6420d){return function(_0x5de411){if(_0x5de411){return _0x5de411[_0xa398('0x2d')]()[_0xa398('0x19')](function(){_0x4431c8[_0xa398('0x24')](0xcc)[_0xa398('0x25')]();});}};}function handleEntityNotFound(_0xde93e7,_0x31c46a){return function(_0x1494e6){if(!_0x1494e6){_0xde93e7[_0xa398('0x2e')](0x194);}return _0x1494e6;};}function handleError(_0x5ca8c9,_0x2d0576){_0x2d0576=_0x2d0576||0x1f4;return function(_0x328e3d){logger[_0xa398('0x20')](_0x328e3d[_0xa398('0x2f')]);if(_0x328e3d['name']){delete _0x328e3d[_0xa398('0x30')];}_0x5ca8c9[_0xa398('0x24')](_0x2d0576)[_0xa398('0x31')](_0x328e3d);};}exports[_0xa398('0x32')]=function(_0x1bc024,_0x484ed5){var _0x5409a6={},_0x21560b={},_0x5e6b09={'count':0x0,'rows':[]};var _0x171fff=_[_0xa398('0x33')](db['Dynamics365Configuration'][_0xa398('0x34')],function(_0x385959){return{'name':_0x385959[_0xa398('0x35')],'type':_0x385959[_0xa398('0x36')][_0xa398('0x37')]};});_0x21560b[_0xa398('0x38')]=_[_0xa398('0x33')](_0x171fff,'name');_0x21560b[_0xa398('0x39')]=_[_0xa398('0x3a')](_0x1bc024[_0xa398('0x39')]);_0x21560b[_0xa398('0x3b')]=_[_0xa398('0x3c')](_0x21560b[_0xa398('0x38')],_0x21560b[_0xa398('0x39')]);_0x5409a6[_0xa398('0x3d')]=_['intersection'](_0x21560b[_0xa398('0x38')],qs[_0xa398('0x3e')](_0x1bc024[_0xa398('0x39')][_0xa398('0x3e')]));_0x5409a6[_0xa398('0x3d')]=_0x5409a6[_0xa398('0x3d')][_0xa398('0x3f')]?_0x5409a6[_0xa398('0x3d')]:_0x21560b[_0xa398('0x38')];if(!_0x1bc024[_0xa398('0x39')][_0xa398('0x40')]('nolimit')){_0x5409a6[_0xa398('0x41')]=qs[_0xa398('0x41')](_0x1bc024[_0xa398('0x39')]['limit']);_0x5409a6[_0xa398('0x28')]=qs[_0xa398('0x28')](_0x1bc024[_0xa398('0x39')][_0xa398('0x28')]);}_0x5409a6[_0xa398('0x42')]=qs[_0xa398('0x43')](_0x1bc024[_0xa398('0x39')]['sort']);_0x5409a6[_0xa398('0x44')]=qs[_0xa398('0x3b')](_['pick'](_0x1bc024['query'],_0x21560b['filters']),_0x171fff);if(_0x1bc024[_0xa398('0x39')][_0xa398('0x45')]){_0x5409a6[_0xa398('0x44')]=_[_0xa398('0x46')](_0x5409a6[_0xa398('0x44')],{'$or':_[_0xa398('0x33')](_0x171fff,function(_0x3cc3f1){if(_0x3cc3f1['type']!==_0xa398('0x47')){var _0x332122={};_0x332122[_0x3cc3f1['name']]={'$like':'%'+_0x1bc024[_0xa398('0x39')][_0xa398('0x45')]+'%'};return _0x332122;}})});}_0x5409a6=_[_0xa398('0x46')]({},_0x5409a6,_0x1bc024['options']);var _0x45be46={'where':_0x5409a6[_0xa398('0x44')]};return db['Dynamics365Configuration'][_0xa398('0x27')](_0x45be46)[_0xa398('0x19')](function(_0x2adcfc){_0x5e6b09[_0xa398('0x27')]=_0x2adcfc;if(_0x1bc024['query'][_0xa398('0x48')]){_0x5409a6['include']=[{'all':!![]}];}return db['Dynamics365Configuration'][_0xa398('0x49')](_0x5409a6);})[_0xa398('0x19')](function(_0x16064c){_0x5e6b09[_0xa398('0x4a')]=_0x16064c;return _0x5e6b09;})[_0xa398('0x19')](respondWithFilteredResult(_0x484ed5,_0x5409a6))[_0xa398('0x23')](handleError(_0x484ed5,null));};exports[_0xa398('0x4b')]=function(_0x5549dc,_0x3ad5d4){var _0x76005b={'raw':![],'where':{'id':_0x5549dc['params']['id']}},_0x417087={};_0x417087[_0xa398('0x38')]=_[_0xa398('0x3a')](db['Dynamics365Configuration'][_0xa398('0x34')]);_0x417087['query']=_['keys'](_0x5549dc[_0xa398('0x39')]);_0x417087[_0xa398('0x3b')]=_[_0xa398('0x3c')](_0x417087['model'],_0x417087[_0xa398('0x39')]);_0x76005b[_0xa398('0x3d')]=_['intersection'](_0x417087[_0xa398('0x38')],qs[_0xa398('0x3e')](_0x5549dc[_0xa398('0x39')][_0xa398('0x3e')]));_0x76005b[_0xa398('0x3d')]=_0x76005b[_0xa398('0x3d')]['length']?_0x76005b[_0xa398('0x3d')]:_0x417087[_0xa398('0x38')];if(_0x5549dc[_0xa398('0x39')][_0xa398('0x48')]){_0x76005b['include']=[{'all':!![]}];}_0x76005b=_[_0xa398('0x46')]({},_0x76005b,_0x5549dc[_0xa398('0x4c')]);return db[_0xa398('0x4d')]['find'](_0x76005b)[_0xa398('0x19')](handleEntityNotFound(_0x3ad5d4,null))[_0xa398('0x19')](respondWithResult(_0x3ad5d4,null))[_0xa398('0x23')](handleError(_0x3ad5d4,null));};exports[_0xa398('0x4e')]=function(_0x1f30ad,_0x264242){return db[_0xa398('0x4d')][_0xa398('0x4e')](_0x1f30ad[_0xa398('0x4f')],{})[_0xa398('0x19')](respondWithResult(_0x264242,0xc9))['catch'](handleError(_0x264242,null));};exports[_0xa398('0x2c')]=function(_0x1d6234,_0x31584f){if(_0x1d6234[_0xa398('0x4f')]['id']){delete _0x1d6234['body']['id'];}return db[_0xa398('0x4d')][_0xa398('0x50')]({'where':{'id':_0x1d6234[_0xa398('0x51')]['id']}})[_0xa398('0x19')](handleEntityNotFound(_0x31584f,null))[_0xa398('0x19')](saveUpdates(_0x1d6234[_0xa398('0x4f')],null))['then'](respondWithResult(_0x31584f,null))['catch'](handleError(_0x31584f,null));};exports[_0xa398('0x2d')]=function(_0x1f32c6,_0x644273){return db['Dynamics365Configuration'][_0xa398('0x50')]({'where':{'id':_0x1f32c6[_0xa398('0x51')]['id']}})['then'](handleEntityNotFound(_0x644273,null))[_0xa398('0x19')](removeEntity(_0x644273,null))[_0xa398('0x23')](handleError(_0x644273,null));};exports[_0xa398('0x52')]=function(_0x416e9d,_0x5a579d,_0x13c3b1){var _0x18c9c8={};var _0x2c957e={};var _0x4a55dd;var _0x3ea821;return db[_0xa398('0x4d')][_0xa398('0x53')]({'where':{'id':_0x416e9d[_0xa398('0x51')]['id']}})[_0xa398('0x19')](handleEntityNotFound(_0x5a579d,null))[_0xa398('0x19')](function(_0x130ebc){if(_0x130ebc){_0x4a55dd=_0x130ebc;_0x2c957e['model']=_[_0xa398('0x3a')](db['Dynamics365Field'][_0xa398('0x34')]);_0x2c957e[_0xa398('0x39')]=_['keys'](_0x416e9d['query']);_0x2c957e[_0xa398('0x3b')]=_[_0xa398('0x3c')](_0x2c957e[_0xa398('0x38')],_0x2c957e[_0xa398('0x39')]);_0x18c9c8[_0xa398('0x3d')]=_[_0xa398('0x3c')](_0x2c957e['model'],qs['fields'](_0x416e9d[_0xa398('0x39')][_0xa398('0x3e')]));_0x18c9c8[_0xa398('0x3d')]=_0x18c9c8['attributes']['length']?_0x18c9c8[_0xa398('0x3d')]:_0x2c957e[_0xa398('0x38')];_0x18c9c8[_0xa398('0x42')]=qs[_0xa398('0x43')](_0x416e9d[_0xa398('0x39')]['sort']);_0x18c9c8[_0xa398('0x44')]=qs[_0xa398('0x3b')](_[_0xa398('0x54')](_0x416e9d[_0xa398('0x39')],_0x2c957e[_0xa398('0x3b')]));if(_0x416e9d['query']['filter']){_0x18c9c8[_0xa398('0x44')]=_['merge'](_0x18c9c8[_0xa398('0x44')],{'$or':_[_0xa398('0x33')](_0x18c9c8['attributes'],function(_0x10b860){var _0x490546={};_0x490546[_0x10b860]={'$like':'%'+_0x416e9d[_0xa398('0x39')]['filter']+'%'};return _0x490546;})});}_0x18c9c8=_['merge']({},_0x18c9c8,_0x416e9d[_0xa398('0x4c')]);return _0x4a55dd[_0xa398('0x52')](_0x18c9c8);}})[_0xa398('0x19')](function(_0x5d4c04){if(_0x5d4c04){_0x3ea821=_0x5d4c04[_0xa398('0x3f')];if(!_0x416e9d['query'][_0xa398('0x40')](_0xa398('0x55'))){_0x18c9c8['limit']=qs[_0xa398('0x41')](_0x416e9d[_0xa398('0x39')][_0xa398('0x41')]);_0x18c9c8[_0xa398('0x28')]=qs[_0xa398('0x28')](_0x416e9d[_0xa398('0x39')]['offset']);}return _0x4a55dd[_0xa398('0x52')](_0x18c9c8);}})['then'](function(_0x49b3bf){if(_0x49b3bf){return _0x49b3bf?{'count':_0x3ea821,'rows':_0x49b3bf}:null;}})[_0xa398('0x19')](respondWithResult(_0x5a579d,null))[_0xa398('0x23')](handleError(_0x5a579d,null));};exports['getSubjects']=function(_0x1f407e,_0x296371,_0x1eff0d){var _0x5c4ad1={};var _0x716ede={};var _0x3ce827;var _0x5cf9ac;return db[_0xa398('0x4d')][_0xa398('0x53')]({'where':{'id':_0x1f407e[_0xa398('0x51')]['id']}})[_0xa398('0x19')](handleEntityNotFound(_0x296371,null))[_0xa398('0x19')](function(_0x3d5f7d){if(_0x3d5f7d){_0x3ce827=_0x3d5f7d;_0x716ede[_0xa398('0x38')]=_[_0xa398('0x3a')](db['Dynamics365Field'][_0xa398('0x34')]);_0x716ede[_0xa398('0x39')]=_[_0xa398('0x3a')](_0x1f407e['query']);_0x716ede['filters']=_[_0xa398('0x3c')](_0x716ede['model'],_0x716ede['query']);_0x5c4ad1['attributes']=_[_0xa398('0x3c')](_0x716ede['model'],qs[_0xa398('0x3e')](_0x1f407e['query'][_0xa398('0x3e')]));_0x5c4ad1[_0xa398('0x3d')]=_0x5c4ad1[_0xa398('0x3d')][_0xa398('0x3f')]?_0x5c4ad1[_0xa398('0x3d')]:_0x716ede[_0xa398('0x38')];_0x5c4ad1[_0xa398('0x42')]=qs[_0xa398('0x43')](_0x1f407e['query']['sort']);_0x5c4ad1['where']=qs[_0xa398('0x3b')](_['pick'](_0x1f407e[_0xa398('0x39')],_0x716ede[_0xa398('0x3b')]));if(_0x1f407e[_0xa398('0x39')][_0xa398('0x45')]){_0x5c4ad1[_0xa398('0x44')]=_[_0xa398('0x46')](_0x5c4ad1[_0xa398('0x44')],{'$or':_[_0xa398('0x33')](_0x5c4ad1[_0xa398('0x3d')],function(_0x317e00){var _0x3a5ad9={};_0x3a5ad9[_0x317e00]={'$like':'%'+_0x1f407e[_0xa398('0x39')][_0xa398('0x45')]+'%'};return _0x3a5ad9;})});}_0x5c4ad1=_['merge']({},_0x5c4ad1,_0x1f407e[_0xa398('0x4c')]);return _0x3ce827[_0xa398('0x56')](_0x5c4ad1);}})[_0xa398('0x19')](function(_0x1b3d8e){if(_0x1b3d8e){_0x5cf9ac=_0x1b3d8e[_0xa398('0x3f')];if(!_0x1f407e[_0xa398('0x39')][_0xa398('0x40')](_0xa398('0x55'))){_0x5c4ad1[_0xa398('0x41')]=qs[_0xa398('0x41')](_0x1f407e[_0xa398('0x39')][_0xa398('0x41')]);_0x5c4ad1[_0xa398('0x28')]=qs[_0xa398('0x28')](_0x1f407e['query'][_0xa398('0x28')]);}return _0x3ce827[_0xa398('0x56')](_0x5c4ad1);}})[_0xa398('0x19')](function(_0x413ece){if(_0x413ece){return _0x413ece?{'count':_0x5cf9ac,'rows':_0x413ece}:null;}})[_0xa398('0x19')](respondWithResult(_0x296371,null))[_0xa398('0x23')](handleError(_0x296371,null));};exports['getDescriptions']=function(_0x56fba4,_0x4d6da8,_0x40f9f5){var _0x1638d7={};var _0x1ad5ae={};var _0x1a4b1b;var _0x462523;return db[_0xa398('0x4d')][_0xa398('0x53')]({'where':{'id':_0x56fba4[_0xa398('0x51')]['id']}})[_0xa398('0x19')](handleEntityNotFound(_0x4d6da8,null))[_0xa398('0x19')](function(_0x369b7f){if(_0x369b7f){_0x1a4b1b=_0x369b7f;_0x1ad5ae[_0xa398('0x38')]=_[_0xa398('0x3a')](db[_0xa398('0x57')]['rawAttributes']);_0x1ad5ae[_0xa398('0x39')]=_[_0xa398('0x3a')](_0x56fba4['query']);_0x1ad5ae['filters']=_['intersection'](_0x1ad5ae['model'],_0x1ad5ae[_0xa398('0x39')]);_0x1638d7[_0xa398('0x3d')]=_[_0xa398('0x3c')](_0x1ad5ae['model'],qs[_0xa398('0x3e')](_0x56fba4[_0xa398('0x39')][_0xa398('0x3e')]));_0x1638d7['attributes']=_0x1638d7[_0xa398('0x3d')]['length']?_0x1638d7[_0xa398('0x3d')]:_0x1ad5ae[_0xa398('0x38')];_0x1638d7[_0xa398('0x42')]=qs[_0xa398('0x43')](_0x56fba4['query']['sort']);_0x1638d7['where']=qs[_0xa398('0x3b')](_[_0xa398('0x54')](_0x56fba4[_0xa398('0x39')],_0x1ad5ae[_0xa398('0x3b')]));if(_0x56fba4[_0xa398('0x39')][_0xa398('0x45')]){_0x1638d7['where']=_['merge'](_0x1638d7['where'],{'$or':_[_0xa398('0x33')](_0x1638d7[_0xa398('0x3d')],function(_0x2dcbba){var _0x5dd6db={};_0x5dd6db[_0x2dcbba]={'$like':'%'+_0x56fba4[_0xa398('0x39')][_0xa398('0x45')]+'%'};return _0x5dd6db;})});}_0x1638d7=_[_0xa398('0x46')]({},_0x1638d7,_0x56fba4[_0xa398('0x4c')]);return _0x1a4b1b[_0xa398('0x58')](_0x1638d7);}})['then'](function(_0x1f1bde){if(_0x1f1bde){_0x462523=_0x1f1bde[_0xa398('0x3f')];if(!_0x56fba4[_0xa398('0x39')][_0xa398('0x40')](_0xa398('0x55'))){_0x1638d7['limit']=qs[_0xa398('0x41')](_0x56fba4[_0xa398('0x39')][_0xa398('0x41')]);_0x1638d7[_0xa398('0x28')]=qs[_0xa398('0x28')](_0x56fba4[_0xa398('0x39')][_0xa398('0x28')]);}return _0x1a4b1b[_0xa398('0x58')](_0x1638d7);}})[_0xa398('0x19')](function(_0x37c39e){if(_0x37c39e){return _0x37c39e?{'count':_0x462523,'rows':_0x37c39e}:null;}})[_0xa398('0x19')](respondWithResult(_0x4d6da8,null))[_0xa398('0x23')](handleError(_0x4d6da8,null));};