50925c056e72377b51683a707cb50f73f1db8707
[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 _0x279f=['create','body','getFields','findOne','getSubjects','Dynamics365Field','getDescriptions','html-pdf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','to-csv','ejs','lodash','crypto','jsforce','desk.js','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/utils','../../config/license/util','../../mysqldb','jayson/promise','http','then','info','Dynamics365Configuration,\x20%s,\x20%s','request\x20sent','debug','stringify','code','error','message','result','catch','end','status','json','count','offset','reject','save','update','destroy','sendStatus','stack','name','send','map','Dynamics365Configuration','rawAttributes','fieldName','key','model','query','keys','intersection','attributes','fields','length','hasOwnProperty','nolimit','limit','order','sort','where','pick','filter','merge','VIRTUAL','findAll','params','filters','includeAll','options','find'];(function(_0x452e83,_0x52e169){var _0x65b907=function(_0x1e75b7){while(--_0x1e75b7){_0x452e83['push'](_0x452e83['shift']());}};_0x65b907(++_0x52e169);}(_0x279f,0x109));var _0xf279=function(_0x1203f,_0x554bbc){_0x1203f=_0x1203f-0x0;var _0x365f0a=_0x279f[_0x1203f];return _0x365f0a;};'use strict';var pdf=require(_0xf279('0x0'));var emlformat=require('eml-format');var rimraf=require('rimraf');var zipdir=require(_0xf279('0x1'));var jsonpatch=require(_0xf279('0x2'));var rp=require(_0xf279('0x3'));var moment=require(_0xf279('0x4'));var BPromise=require(_0xf279('0x5'));var Mustache=require(_0xf279('0x6'));var util=require(_0xf279('0x7'));var path=require(_0xf279('0x8'));var sox=require('sox');var csv=require(_0xf279('0x9'));var ejs=require(_0xf279('0xa'));var fs=require('fs');var _=require(_0xf279('0xb'));var squel=require('squel');var crypto=require(_0xf279('0xc'));var jsforce=require(_0xf279('0xd'));var deskjs=require(_0xf279('0xe'));var toCsv=require('to-csv');var querystring=require('querystring');var Papa=require(_0xf279('0xf'));var Redis=require(_0xf279('0x10'));var authService=require(_0xf279('0x11'));var qs=require(_0xf279('0x12'));var as=require(_0xf279('0x13'));var hardwareService=require(_0xf279('0x14'));var logger=require('../../config/logger')(_0xf279('0x15'));var utils=require(_0xf279('0x16'));var config=require('../../config/environment');var licenseUtil=require(_0xf279('0x17'));var db=require(_0xf279('0x18'))['db'];var jayson=require(_0xf279('0x19'));var client=jayson['client'][_0xf279('0x1a')]({'port':0x232a});function respondWithRpcPromise(_0x37f848,_0x19b754,_0xc17a16,_0x2865c2){return new BPromise(function(_0x31fec1,_0x3fef12){var _0x18ce20=_0x2865c2||client;return _0x18ce20['request'](_0x37f848,_0xc17a16)[_0xf279('0x1b')](function(_0x3e4bf0){logger[_0xf279('0x1c')](_0xf279('0x1d'),_0x19b754,_0xf279('0x1e'));logger[_0xf279('0x1f')]('Dynamics365Configuration,\x20%s,\x20%s,\x20%s',_0x19b754,_0xf279('0x1e'),JSON[_0xf279('0x20')](_0x3e4bf0));if(_0x3e4bf0['error']){if(_0x3e4bf0['error'][_0xf279('0x21')]===0x1f4){logger[_0xf279('0x22')]('Dynamics365Configuration,\x20%s,\x20%s',_0x19b754,_0x3e4bf0['error'][_0xf279('0x23')]);return _0x3fef12(_0x3e4bf0[_0xf279('0x22')]['message']);}logger['error']('Dynamics365Configuration,\x20%s,\x20%s',_0x19b754,_0x3e4bf0[_0xf279('0x22')][_0xf279('0x23')]);return _0x31fec1(_0x3e4bf0[_0xf279('0x22')][_0xf279('0x23')]);}else{logger['info'](_0xf279('0x1d'),_0x19b754,_0xf279('0x1e'));_0x31fec1(_0x3e4bf0[_0xf279('0x24')][_0xf279('0x23')]);}})[_0xf279('0x25')](function(_0x2167c1){logger[_0xf279('0x22')]('Dynamics365Configuration,\x20%s,\x20%s',_0x19b754,_0x2167c1);_0x3fef12(_0x2167c1);});});}function respondWithStatusCode(_0x35f03a,_0x17a3b8){_0x17a3b8=_0x17a3b8||0xcc;return function(_0x46780c){if(_0x46780c){return _0x35f03a['sendStatus'](_0x17a3b8);}return _0x35f03a['status'](_0x17a3b8)[_0xf279('0x26')]();};}function respondWithResult(_0x393c76,_0x41dffe){_0x41dffe=_0x41dffe||0xc8;return function(_0x5134f3){if(_0x5134f3){return _0x393c76[_0xf279('0x27')](_0x41dffe)[_0xf279('0x28')](_0x5134f3);}};}function respondWithFilteredResult(_0x4b5a2c,_0xa5b4){return function(_0x2f807c){if(_0x2f807c){var _0x5a0f19=_0x2f807c[_0xf279('0x29')],_0x29ba7c=_0xa5b4[_0xf279('0x2a')],_0x560df1=_0xa5b4[_0xf279('0x2a')]+_0xa5b4['limit'],_0x268cc0;if(_0x560df1>=_0x5a0f19){_0x560df1=_0x5a0f19;_0x268cc0=0xc8;}else{_0x268cc0=0xce;}_0x4b5a2c[_0xf279('0x27')](_0x268cc0);return _0x4b5a2c['set']('Content-Range',_0x29ba7c+'-'+_0x560df1+'/'+_0x5a0f19)[_0xf279('0x28')](_0x2f807c);}return null;};}function patchUpdates(_0x2e9936){return function(_0x286801){try{jsonpatch['apply'](_0x286801,_0x2e9936,!![]);}catch(_0x3270eb){return BPromise[_0xf279('0x2b')](_0x3270eb);}return _0x286801[_0xf279('0x2c')]();};}function saveUpdates(_0x365c5b,_0x1bd598){return function(_0x201015){if(_0x201015){return _0x201015[_0xf279('0x2d')](_0x365c5b)[_0xf279('0x1b')](function(_0x1b17c6){return _0x1b17c6;});}return null;};}function removeEntity(_0x3be042,_0x3f5998){return function(_0x539818){if(_0x539818){return _0x539818[_0xf279('0x2e')]()[_0xf279('0x1b')](function(){_0x3be042[_0xf279('0x27')](0xcc)[_0xf279('0x26')]();});}};}function handleEntityNotFound(_0x3b681f,_0x4d495c){return function(_0x3513fd){if(!_0x3513fd){_0x3b681f[_0xf279('0x2f')](0x194);}return _0x3513fd;};}function handleError(_0x2976ca,_0x473598){_0x473598=_0x473598||0x1f4;return function(_0x283621){logger[_0xf279('0x22')](_0x283621[_0xf279('0x30')]);if(_0x283621['name']){delete _0x283621[_0xf279('0x31')];}_0x2976ca[_0xf279('0x27')](_0x473598)[_0xf279('0x32')](_0x283621);};}exports['index']=function(_0x4cd6bc,_0x10c8f4){var _0x277029={},_0xb667d1={},_0x5ac062={'count':0x0,'rows':[]};var _0x13948a=_[_0xf279('0x33')](db[_0xf279('0x34')][_0xf279('0x35')],function(_0x32f401){return{'name':_0x32f401[_0xf279('0x36')],'type':_0x32f401['type'][_0xf279('0x37')]};});_0xb667d1[_0xf279('0x38')]=_[_0xf279('0x33')](_0x13948a,'name');_0xb667d1[_0xf279('0x39')]=_[_0xf279('0x3a')](_0x4cd6bc['query']);_0xb667d1['filters']=_[_0xf279('0x3b')](_0xb667d1[_0xf279('0x38')],_0xb667d1['query']);_0x277029[_0xf279('0x3c')]=_[_0xf279('0x3b')](_0xb667d1['model'],qs[_0xf279('0x3d')](_0x4cd6bc['query'][_0xf279('0x3d')]));_0x277029['attributes']=_0x277029[_0xf279('0x3c')][_0xf279('0x3e')]?_0x277029[_0xf279('0x3c')]:_0xb667d1[_0xf279('0x38')];if(!_0x4cd6bc['query'][_0xf279('0x3f')](_0xf279('0x40'))){_0x277029[_0xf279('0x41')]=qs[_0xf279('0x41')](_0x4cd6bc[_0xf279('0x39')][_0xf279('0x41')]);_0x277029[_0xf279('0x2a')]=qs[_0xf279('0x2a')](_0x4cd6bc[_0xf279('0x39')][_0xf279('0x2a')]);}_0x277029[_0xf279('0x42')]=qs['sort'](_0x4cd6bc[_0xf279('0x39')][_0xf279('0x43')]);_0x277029[_0xf279('0x44')]=qs['filters'](_[_0xf279('0x45')](_0x4cd6bc['query'],_0xb667d1['filters']),_0x13948a);if(_0x4cd6bc[_0xf279('0x39')][_0xf279('0x46')]){_0x277029['where']=_[_0xf279('0x47')](_0x277029[_0xf279('0x44')],{'$or':_[_0xf279('0x33')](_0x13948a,function(_0x28ba1b){if(_0x28ba1b['type']!==_0xf279('0x48')){var _0x1bc2cf={};_0x1bc2cf[_0x28ba1b[_0xf279('0x31')]]={'$like':'%'+_0x4cd6bc[_0xf279('0x39')]['filter']+'%'};return _0x1bc2cf;}})});}_0x277029=_[_0xf279('0x47')]({},_0x277029,_0x4cd6bc['options']);var _0x4bc293={'where':_0x277029[_0xf279('0x44')]};return db[_0xf279('0x34')][_0xf279('0x29')](_0x4bc293)[_0xf279('0x1b')](function(_0x827927){_0x5ac062['count']=_0x827927;if(_0x4cd6bc[_0xf279('0x39')]['includeAll']){_0x277029['include']=[{'all':!![]}];}return db['Dynamics365Configuration'][_0xf279('0x49')](_0x277029);})[_0xf279('0x1b')](function(_0x406880){_0x5ac062['rows']=_0x406880;return _0x5ac062;})[_0xf279('0x1b')](respondWithFilteredResult(_0x10c8f4,_0x277029))[_0xf279('0x25')](handleError(_0x10c8f4,null));};exports['show']=function(_0xcdafe9,_0x4ceeac){var _0x507766={'raw':![],'where':{'id':_0xcdafe9[_0xf279('0x4a')]['id']}},_0x33b9da={};_0x33b9da[_0xf279('0x38')]=_[_0xf279('0x3a')](db[_0xf279('0x34')][_0xf279('0x35')]);_0x33b9da['query']=_[_0xf279('0x3a')](_0xcdafe9[_0xf279('0x39')]);_0x33b9da[_0xf279('0x4b')]=_[_0xf279('0x3b')](_0x33b9da[_0xf279('0x38')],_0x33b9da[_0xf279('0x39')]);_0x507766['attributes']=_['intersection'](_0x33b9da[_0xf279('0x38')],qs[_0xf279('0x3d')](_0xcdafe9[_0xf279('0x39')][_0xf279('0x3d')]));_0x507766['attributes']=_0x507766['attributes'][_0xf279('0x3e')]?_0x507766[_0xf279('0x3c')]:_0x33b9da[_0xf279('0x38')];if(_0xcdafe9[_0xf279('0x39')][_0xf279('0x4c')]){_0x507766['include']=[{'all':!![]}];}_0x507766=_[_0xf279('0x47')]({},_0x507766,_0xcdafe9[_0xf279('0x4d')]);return db[_0xf279('0x34')][_0xf279('0x4e')](_0x507766)[_0xf279('0x1b')](handleEntityNotFound(_0x4ceeac,null))[_0xf279('0x1b')](respondWithResult(_0x4ceeac,null))[_0xf279('0x25')](handleError(_0x4ceeac,null));};exports[_0xf279('0x4f')]=function(_0x1636da,_0x15a713){return db[_0xf279('0x34')][_0xf279('0x4f')](_0x1636da[_0xf279('0x50')],{})['then'](respondWithResult(_0x15a713,0xc9))[_0xf279('0x25')](handleError(_0x15a713,null));};exports[_0xf279('0x2d')]=function(_0x14538f,_0x30829c){if(_0x14538f[_0xf279('0x50')]['id']){delete _0x14538f[_0xf279('0x50')]['id'];}return db[_0xf279('0x34')][_0xf279('0x4e')]({'where':{'id':_0x14538f[_0xf279('0x4a')]['id']}})[_0xf279('0x1b')](handleEntityNotFound(_0x30829c,null))[_0xf279('0x1b')](saveUpdates(_0x14538f['body'],null))['then'](respondWithResult(_0x30829c,null))[_0xf279('0x25')](handleError(_0x30829c,null));};exports['destroy']=function(_0x22d916,_0x5d9f47){return db[_0xf279('0x34')]['find']({'where':{'id':_0x22d916[_0xf279('0x4a')]['id']}})[_0xf279('0x1b')](handleEntityNotFound(_0x5d9f47,null))[_0xf279('0x1b')](removeEntity(_0x5d9f47,null))[_0xf279('0x25')](handleError(_0x5d9f47,null));};exports[_0xf279('0x51')]=function(_0x1608b3,_0x4b0c16,_0x2ab4f3){var _0x17209e={};var _0x5e1b19={};var _0x1819dc;var _0x5e8260;return db[_0xf279('0x34')][_0xf279('0x52')]({'where':{'id':_0x1608b3[_0xf279('0x4a')]['id']}})['then'](handleEntityNotFound(_0x4b0c16,null))[_0xf279('0x1b')](function(_0x1cac8f){if(_0x1cac8f){_0x1819dc=_0x1cac8f;_0x5e1b19[_0xf279('0x38')]=_[_0xf279('0x3a')](db['Dynamics365Field']['rawAttributes']);_0x5e1b19[_0xf279('0x39')]=_['keys'](_0x1608b3[_0xf279('0x39')]);_0x5e1b19['filters']=_['intersection'](_0x5e1b19[_0xf279('0x38')],_0x5e1b19['query']);_0x17209e[_0xf279('0x3c')]=_[_0xf279('0x3b')](_0x5e1b19['model'],qs[_0xf279('0x3d')](_0x1608b3['query']['fields']));_0x17209e[_0xf279('0x3c')]=_0x17209e[_0xf279('0x3c')][_0xf279('0x3e')]?_0x17209e[_0xf279('0x3c')]:_0x5e1b19[_0xf279('0x38')];_0x17209e[_0xf279('0x42')]=qs[_0xf279('0x43')](_0x1608b3['query'][_0xf279('0x43')]);_0x17209e['where']=qs[_0xf279('0x4b')](_[_0xf279('0x45')](_0x1608b3[_0xf279('0x39')],_0x5e1b19[_0xf279('0x4b')]));if(_0x1608b3[_0xf279('0x39')][_0xf279('0x46')]){_0x17209e['where']=_[_0xf279('0x47')](_0x17209e[_0xf279('0x44')],{'$or':_[_0xf279('0x33')](_0x17209e[_0xf279('0x3c')],function(_0x1b4d9e){var _0x4a6985={};_0x4a6985[_0x1b4d9e]={'$like':'%'+_0x1608b3['query'][_0xf279('0x46')]+'%'};return _0x4a6985;})});}_0x17209e=_[_0xf279('0x47')]({},_0x17209e,_0x1608b3['options']);return _0x1819dc[_0xf279('0x51')](_0x17209e);}})[_0xf279('0x1b')](function(_0x403c5f){if(_0x403c5f){_0x5e8260=_0x403c5f[_0xf279('0x3e')];if(!_0x1608b3[_0xf279('0x39')][_0xf279('0x3f')]('nolimit')){_0x17209e[_0xf279('0x41')]=qs[_0xf279('0x41')](_0x1608b3[_0xf279('0x39')][_0xf279('0x41')]);_0x17209e['offset']=qs[_0xf279('0x2a')](_0x1608b3[_0xf279('0x39')]['offset']);}return _0x1819dc[_0xf279('0x51')](_0x17209e);}})[_0xf279('0x1b')](function(_0x476da6){if(_0x476da6){return _0x476da6?{'count':_0x5e8260,'rows':_0x476da6}:null;}})[_0xf279('0x1b')](respondWithResult(_0x4b0c16,null))['catch'](handleError(_0x4b0c16,null));};exports[_0xf279('0x53')]=function(_0x3723fd,_0x32bd11,_0x33c919){var _0x389740={};var _0x3517a7={};var _0x9ede99;var _0x4a2515;return db[_0xf279('0x34')][_0xf279('0x52')]({'where':{'id':_0x3723fd[_0xf279('0x4a')]['id']}})[_0xf279('0x1b')](handleEntityNotFound(_0x32bd11,null))['then'](function(_0x34f581){if(_0x34f581){_0x9ede99=_0x34f581;_0x3517a7[_0xf279('0x38')]=_[_0xf279('0x3a')](db[_0xf279('0x54')][_0xf279('0x35')]);_0x3517a7[_0xf279('0x39')]=_[_0xf279('0x3a')](_0x3723fd[_0xf279('0x39')]);_0x3517a7[_0xf279('0x4b')]=_[_0xf279('0x3b')](_0x3517a7[_0xf279('0x38')],_0x3517a7[_0xf279('0x39')]);_0x389740[_0xf279('0x3c')]=_[_0xf279('0x3b')](_0x3517a7[_0xf279('0x38')],qs[_0xf279('0x3d')](_0x3723fd[_0xf279('0x39')][_0xf279('0x3d')]));_0x389740['attributes']=_0x389740[_0xf279('0x3c')][_0xf279('0x3e')]?_0x389740[_0xf279('0x3c')]:_0x3517a7['model'];_0x389740[_0xf279('0x42')]=qs[_0xf279('0x43')](_0x3723fd[_0xf279('0x39')]['sort']);_0x389740['where']=qs[_0xf279('0x4b')](_['pick'](_0x3723fd[_0xf279('0x39')],_0x3517a7[_0xf279('0x4b')]));if(_0x3723fd[_0xf279('0x39')]['filter']){_0x389740[_0xf279('0x44')]=_['merge'](_0x389740[_0xf279('0x44')],{'$or':_[_0xf279('0x33')](_0x389740[_0xf279('0x3c')],function(_0x4458a2){var _0x25aa04={};_0x25aa04[_0x4458a2]={'$like':'%'+_0x3723fd[_0xf279('0x39')]['filter']+'%'};return _0x25aa04;})});}_0x389740=_[_0xf279('0x47')]({},_0x389740,_0x3723fd[_0xf279('0x4d')]);return _0x9ede99[_0xf279('0x53')](_0x389740);}})[_0xf279('0x1b')](function(_0x252f14){if(_0x252f14){_0x4a2515=_0x252f14[_0xf279('0x3e')];if(!_0x3723fd[_0xf279('0x39')]['hasOwnProperty']('nolimit')){_0x389740['limit']=qs[_0xf279('0x41')](_0x3723fd[_0xf279('0x39')]['limit']);_0x389740['offset']=qs['offset'](_0x3723fd[_0xf279('0x39')][_0xf279('0x2a')]);}return _0x9ede99[_0xf279('0x53')](_0x389740);}})[_0xf279('0x1b')](function(_0x269718){if(_0x269718){return _0x269718?{'count':_0x4a2515,'rows':_0x269718}:null;}})['then'](respondWithResult(_0x32bd11,null))[_0xf279('0x25')](handleError(_0x32bd11,null));};exports['getDescriptions']=function(_0x206153,_0x5a471f,_0x4548b1){var _0x5efa78={};var _0x5ab247={};var _0x454502;var _0x5273ee;return db[_0xf279('0x34')]['findOne']({'where':{'id':_0x206153['params']['id']}})['then'](handleEntityNotFound(_0x5a471f,null))[_0xf279('0x1b')](function(_0x1de9b4){if(_0x1de9b4){_0x454502=_0x1de9b4;_0x5ab247[_0xf279('0x38')]=_[_0xf279('0x3a')](db[_0xf279('0x54')]['rawAttributes']);_0x5ab247['query']=_['keys'](_0x206153[_0xf279('0x39')]);_0x5ab247['filters']=_[_0xf279('0x3b')](_0x5ab247[_0xf279('0x38')],_0x5ab247[_0xf279('0x39')]);_0x5efa78[_0xf279('0x3c')]=_['intersection'](_0x5ab247['model'],qs[_0xf279('0x3d')](_0x206153[_0xf279('0x39')][_0xf279('0x3d')]));_0x5efa78[_0xf279('0x3c')]=_0x5efa78[_0xf279('0x3c')][_0xf279('0x3e')]?_0x5efa78[_0xf279('0x3c')]:_0x5ab247[_0xf279('0x38')];_0x5efa78['order']=qs[_0xf279('0x43')](_0x206153[_0xf279('0x39')][_0xf279('0x43')]);_0x5efa78[_0xf279('0x44')]=qs[_0xf279('0x4b')](_[_0xf279('0x45')](_0x206153[_0xf279('0x39')],_0x5ab247['filters']));if(_0x206153[_0xf279('0x39')][_0xf279('0x46')]){_0x5efa78[_0xf279('0x44')]=_[_0xf279('0x47')](_0x5efa78[_0xf279('0x44')],{'$or':_[_0xf279('0x33')](_0x5efa78['attributes'],function(_0x4d2327){var _0xdb3692={};_0xdb3692[_0x4d2327]={'$like':'%'+_0x206153[_0xf279('0x39')][_0xf279('0x46')]+'%'};return _0xdb3692;})});}_0x5efa78=_['merge']({},_0x5efa78,_0x206153[_0xf279('0x4d')]);return _0x454502['getDescriptions'](_0x5efa78);}})[_0xf279('0x1b')](function(_0xddeb9a){if(_0xddeb9a){_0x5273ee=_0xddeb9a[_0xf279('0x3e')];if(!_0x206153[_0xf279('0x39')][_0xf279('0x3f')]('nolimit')){_0x5efa78[_0xf279('0x41')]=qs[_0xf279('0x41')](_0x206153[_0xf279('0x39')][_0xf279('0x41')]);_0x5efa78[_0xf279('0x2a')]=qs[_0xf279('0x2a')](_0x206153[_0xf279('0x39')][_0xf279('0x2a')]);}return _0x454502[_0xf279('0x55')](_0x5efa78);}})[_0xf279('0x1b')](function(_0x209ca3){if(_0x209ca3){return _0x209ca3?{'count':_0x5273ee,'rows':_0x209ca3}:null;}})[_0xf279('0x1b')](respondWithResult(_0x5a471f,null))[_0xf279('0x25')](handleError(_0x5a471f,null));};