f9612f87080608bfd2aa71e35b9ba8091f3d6347
[motion2.git] / server / api / intDynamics365Account / intDynamics365Account.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 _0xacf4=['isNil','BooleanAttributeMetadata','push','StringAttributeMetadata','IntegerAttributeMetadata','MemoAttributeMetadata','DateTimeAttributeMetadata','StatusAttributeMetadata','EntityNameAttributeMetadata','StateAttributeMetadata','statusCode','send','test',')/Attributes(',')/Microsoft.Dynamics.CRM.PicklistAttributeMetadata?','$select=DisplayName,LogicalName&$expand=OptionSet($select=Options)','OptionSet','Options','Label','UserLocalizedLabel','Value','DisplayName',')/Microsoft.Dynamics.CRM.BooleanAttributeMetadata?$select=DisplayName,LogicalName&$expand=OptionSet($select=FalseOption,\x20TrueOption)','TrueOption','true','FalseOption','false',')/Microsoft.Dynamics.CRM.','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','path','sox','ejs','lodash','squel','crypto','jsforce','querystring','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','../../config/logger','../../config/environment','../../components/integrations/configuration','jayson/promise','client','http','then','info','Dynamics365Account,\x20%s,\x20%s','request\x20sent','stringify','error','code','message','result','catch','status','end','json','count','offset','limit','Content-Range','apply','reject','destroy','sendStatus','stack','name','Dynamics365Account','rawAttributes','fieldName','type','key','model','map','query','filters','intersection','attributes','fields','length','order','sort','where','pick','filter','merge','VIRTUAL','includeAll','include','findAll','rows','show','params','keys','options','find','create','update','body','getConfigurations','findOne','Dynamics365Configuration','hasOwnProperty','nolimit','AccountId','getSubjects','channel','Descriptions','getDescriptions','Dynamics365Field','ticketType','title','description','ownerid','caseorigincode','subject','phonenumber','regardingobjectid','directioncode','accountidyominame','actualserviceunits','contractdetailidname','createdbyname','createdon','createdonbehalfbyname','createdonbehalfbyyominame','customeridname','customeridtype','entitlementidname','entityimage_timestamp','entityimage_url','escalatedon','exchangerate','followupby','importsequencenumber','influencescore','kbarticleidname','lastonholdtime','masteridname','modifiedbyexternalpartyname','modifiedbyname','modifiedon','modifiedonbehalfbyname','modifiedonbehalfbyyominame','msdyn_incidenttypename','msdyn_iotalertname','onholdtime','owneridname','owneridtype','parentcaseidname','primarycontactidname','primarycontactidyominame','prioritycodename','productidname','resolveby','responsiblecontactidname','responsiblecontactidyominame','sentimentvalue','slainvokedidname','statecode','statuscode','subjectidname','ticketnumber','timezoneruleversionnumber','transactioncurrencyidname','traversedpath','utcconversiontimezonecode','concat','username','password','remoteUri','tenantId','clientId','slice','substring','lastIndexOf','format','%s/api/data/v9.0/','POST','https://login.microsoftonline.com/','/oauth2/token','clientSecret','GET','4.0','MetadataId','EntityDefinitions(',')?$select=LogicalName&$expand=Attributes($select=LogicalName)','Bearer\x20','Attributes','includes','LogicalName','forEach','@odata.type','PicklistAttributeMetadata'];(function(_0x1fd7ed,_0x517082){var _0x562a9b=function(_0x2fc8d5){while(--_0x2fc8d5){_0x1fd7ed['push'](_0x1fd7ed['shift']());}};_0x562a9b(++_0x517082);}(_0xacf4,0xe7));var _0x4acf=function(_0x1cf3cb,_0xcd24a9){_0x1cf3cb=_0x1cf3cb-0x0;var _0x30fa5b=_0xacf4[_0x1cf3cb];return _0x30fa5b;};'use strict';var pdf=require('html-pdf');var emlformat=require('eml-format');var rimraf=require(_0x4acf('0x0'));var zipdir=require(_0x4acf('0x1'));var jsonpatch=require(_0x4acf('0x2'));var rp=require(_0x4acf('0x3'));var moment=require(_0x4acf('0x4'));var BPromise=require(_0x4acf('0x5'));var Mustache=require(_0x4acf('0x6'));var util=require('util');var path=require(_0x4acf('0x7'));var sox=require(_0x4acf('0x8'));var csv=require('to-csv');var ejs=require(_0x4acf('0x9'));var fs=require('fs');var _=require(_0x4acf('0xa'));var squel=require(_0x4acf('0xb'));var crypto=require(_0x4acf('0xc'));var jsforce=require(_0x4acf('0xd'));var deskjs=require('desk.js');var toCsv=require('to-csv');var querystring=require(_0x4acf('0xe'));var Papa=require('papaparse');var Redis=require(_0x4acf('0xf'));var authService=require(_0x4acf('0x10'));var qs=require(_0x4acf('0x11'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x4acf('0x12'));var logger=require(_0x4acf('0x13'))('api');var utils=require('../../config/utils');var config=require(_0x4acf('0x14'));var licenseUtil=require('../../config/license/util');var db=require('../../mysqldb')['db'];var integrations=require(_0x4acf('0x15'));var jayson=require(_0x4acf('0x16'));var client=jayson[_0x4acf('0x17')][_0x4acf('0x18')]({'port':0x232a});function respondWithRpcPromise(_0x18629e,_0x1a9949,_0x7ab3ea,_0x15386a){return new BPromise(function(_0x2025ca,_0x312bb5){var _0x2741d3=_0x15386a||client;return _0x2741d3['request'](_0x18629e,_0x7ab3ea)[_0x4acf('0x19')](function(_0x57d8e0){logger[_0x4acf('0x1a')](_0x4acf('0x1b'),_0x1a9949,_0x4acf('0x1c'));logger['debug']('Dynamics365Account,\x20%s,\x20%s,\x20%s',_0x1a9949,_0x4acf('0x1c'),JSON[_0x4acf('0x1d')](_0x57d8e0));if(_0x57d8e0[_0x4acf('0x1e')]){if(_0x57d8e0['error'][_0x4acf('0x1f')]===0x1f4){logger[_0x4acf('0x1e')](_0x4acf('0x1b'),_0x1a9949,_0x57d8e0[_0x4acf('0x1e')][_0x4acf('0x20')]);return _0x312bb5(_0x57d8e0[_0x4acf('0x1e')][_0x4acf('0x20')]);}logger[_0x4acf('0x1e')](_0x4acf('0x1b'),_0x1a9949,_0x57d8e0[_0x4acf('0x1e')][_0x4acf('0x20')]);return _0x2025ca(_0x57d8e0['error'][_0x4acf('0x20')]);}else{logger[_0x4acf('0x1a')]('Dynamics365Account,\x20%s,\x20%s',_0x1a9949,_0x4acf('0x1c'));_0x2025ca(_0x57d8e0[_0x4acf('0x21')]['message']);}})[_0x4acf('0x22')](function(_0x34d154){logger[_0x4acf('0x1e')](_0x4acf('0x1b'),_0x1a9949,_0x34d154);_0x312bb5(_0x34d154);});});}function respondWithStatusCode(_0x53885f,_0x1a2286){_0x1a2286=_0x1a2286||0xcc;return function(_0x12e717){if(_0x12e717){return _0x53885f['sendStatus'](_0x1a2286);}return _0x53885f[_0x4acf('0x23')](_0x1a2286)[_0x4acf('0x24')]();};}function respondWithResult(_0x52a84a,_0x126522){_0x126522=_0x126522||0xc8;return function(_0x7ebb){if(_0x7ebb){return _0x52a84a[_0x4acf('0x23')](_0x126522)[_0x4acf('0x25')](_0x7ebb);}};}function respondWithFilteredResult(_0x571a30,_0x50236d){return function(_0x17a756){if(_0x17a756){var _0x3f548a=_0x17a756[_0x4acf('0x26')],_0x355799=_0x50236d[_0x4acf('0x27')],_0x42c90c=_0x50236d[_0x4acf('0x27')]+_0x50236d[_0x4acf('0x28')],_0x14086c;if(_0x42c90c>=_0x3f548a){_0x42c90c=_0x3f548a;_0x14086c=0xc8;}else{_0x14086c=0xce;}_0x571a30[_0x4acf('0x23')](_0x14086c);return _0x571a30['set'](_0x4acf('0x29'),_0x355799+'-'+_0x42c90c+'/'+_0x3f548a)[_0x4acf('0x25')](_0x17a756);}return null;};}function patchUpdates(_0xd027c7){return function(_0x2a5db3){try{jsonpatch[_0x4acf('0x2a')](_0x2a5db3,_0xd027c7,!![]);}catch(_0x28570f){return BPromise[_0x4acf('0x2b')](_0x28570f);}return _0x2a5db3['save']();};}function saveUpdates(_0x337b3c,_0x1d221b){return function(_0x16a74e){if(_0x16a74e){return _0x16a74e['update'](_0x337b3c)[_0x4acf('0x19')](function(_0x18d0bf){return _0x18d0bf;});}return null;};}function removeEntity(_0x1fc815,_0x28ce8a){return function(_0x53a4f3){if(_0x53a4f3){return _0x53a4f3[_0x4acf('0x2c')]()[_0x4acf('0x19')](function(){_0x1fc815[_0x4acf('0x23')](0xcc)['end']();});}};}function handleEntityNotFound(_0x31fbce,_0x34e2ee){return function(_0x4084fe){if(!_0x4084fe){_0x31fbce[_0x4acf('0x2d')](0x194);}return _0x4084fe;};}function handleError(_0xd221b7,_0x152d1c){_0x152d1c=_0x152d1c||0x1f4;return function(_0x490880){logger[_0x4acf('0x1e')](_0x490880[_0x4acf('0x2e')]);if(_0x490880['name']){delete _0x490880[_0x4acf('0x2f')];}_0xd221b7['status'](_0x152d1c)['send'](_0x490880);};}exports['index']=function(_0x4bd85c,_0x4ce916){var _0x562fdc={},_0x4a8b5a={},_0x3364dd={'count':0x0,'rows':[]};var _0x1b45f6=_['map'](db[_0x4acf('0x30')][_0x4acf('0x31')],function(_0x39e56b){return{'name':_0x39e56b[_0x4acf('0x32')],'type':_0x39e56b[_0x4acf('0x33')][_0x4acf('0x34')]};});_0x4a8b5a[_0x4acf('0x35')]=_[_0x4acf('0x36')](_0x1b45f6,_0x4acf('0x2f'));_0x4a8b5a[_0x4acf('0x37')]=_['keys'](_0x4bd85c['query']);_0x4a8b5a[_0x4acf('0x38')]=_[_0x4acf('0x39')](_0x4a8b5a['model'],_0x4a8b5a[_0x4acf('0x37')]);_0x562fdc[_0x4acf('0x3a')]=_[_0x4acf('0x39')](_0x4a8b5a[_0x4acf('0x35')],qs['fields'](_0x4bd85c['query'][_0x4acf('0x3b')]));_0x562fdc[_0x4acf('0x3a')]=_0x562fdc[_0x4acf('0x3a')][_0x4acf('0x3c')]?_0x562fdc['attributes']:_0x4a8b5a[_0x4acf('0x35')];if(!_0x4bd85c[_0x4acf('0x37')]['hasOwnProperty']('nolimit')){_0x562fdc['limit']=qs['limit'](_0x4bd85c[_0x4acf('0x37')][_0x4acf('0x28')]);_0x562fdc[_0x4acf('0x27')]=qs['offset'](_0x4bd85c[_0x4acf('0x37')][_0x4acf('0x27')]);}_0x562fdc[_0x4acf('0x3d')]=qs[_0x4acf('0x3e')](_0x4bd85c[_0x4acf('0x37')][_0x4acf('0x3e')]);_0x562fdc[_0x4acf('0x3f')]=qs[_0x4acf('0x38')](_[_0x4acf('0x40')](_0x4bd85c[_0x4acf('0x37')],_0x4a8b5a[_0x4acf('0x38')]),_0x1b45f6);if(_0x4bd85c['query'][_0x4acf('0x41')]){_0x562fdc[_0x4acf('0x3f')]=_[_0x4acf('0x42')](_0x562fdc[_0x4acf('0x3f')],{'$or':_[_0x4acf('0x36')](_0x1b45f6,function(_0x58bc5d){if(_0x58bc5d['type']!==_0x4acf('0x43')){var _0x2fc411={};_0x2fc411[_0x58bc5d[_0x4acf('0x2f')]]={'$like':'%'+_0x4bd85c[_0x4acf('0x37')][_0x4acf('0x41')]+'%'};return _0x2fc411;}})});}_0x562fdc=_[_0x4acf('0x42')]({},_0x562fdc,_0x4bd85c['options']);var _0x2e7128={'where':_0x562fdc['where']};return db[_0x4acf('0x30')][_0x4acf('0x26')](_0x2e7128)['then'](function(_0x53ec11){_0x3364dd[_0x4acf('0x26')]=_0x53ec11;if(_0x4bd85c[_0x4acf('0x37')][_0x4acf('0x44')]){_0x562fdc[_0x4acf('0x45')]=[{'all':!![]}];}return db['Dynamics365Account'][_0x4acf('0x46')](_0x562fdc);})[_0x4acf('0x19')](function(_0x2378c6){_0x3364dd[_0x4acf('0x47')]=_0x2378c6;return _0x3364dd;})[_0x4acf('0x19')](respondWithFilteredResult(_0x4ce916,_0x562fdc))[_0x4acf('0x22')](handleError(_0x4ce916,null));};exports[_0x4acf('0x48')]=function(_0x2d946c,_0x51e931){var _0x519817={'raw':![],'where':{'id':_0x2d946c[_0x4acf('0x49')]['id']}},_0x1f5c5f={};_0x1f5c5f[_0x4acf('0x35')]=_[_0x4acf('0x4a')](db[_0x4acf('0x30')][_0x4acf('0x31')]);_0x1f5c5f[_0x4acf('0x37')]=_[_0x4acf('0x4a')](_0x2d946c[_0x4acf('0x37')]);_0x1f5c5f[_0x4acf('0x38')]=_[_0x4acf('0x39')](_0x1f5c5f[_0x4acf('0x35')],_0x1f5c5f['query']);_0x519817[_0x4acf('0x3a')]=_[_0x4acf('0x39')](_0x1f5c5f[_0x4acf('0x35')],qs[_0x4acf('0x3b')](_0x2d946c[_0x4acf('0x37')][_0x4acf('0x3b')]));_0x519817[_0x4acf('0x3a')]=_0x519817[_0x4acf('0x3a')][_0x4acf('0x3c')]?_0x519817[_0x4acf('0x3a')]:_0x1f5c5f[_0x4acf('0x35')];if(_0x2d946c[_0x4acf('0x37')][_0x4acf('0x44')]){_0x519817[_0x4acf('0x45')]=[{'all':!![]}];}_0x519817=_[_0x4acf('0x42')]({},_0x519817,_0x2d946c[_0x4acf('0x4b')]);return db['Dynamics365Account'][_0x4acf('0x4c')](_0x519817)[_0x4acf('0x19')](handleEntityNotFound(_0x51e931,null))[_0x4acf('0x19')](respondWithResult(_0x51e931,null))['catch'](handleError(_0x51e931,null));};exports[_0x4acf('0x4d')]=function(_0x3e8953,_0xd87769){return db[_0x4acf('0x30')]['create'](_0x3e8953['body'],{})['then'](respondWithResult(_0xd87769,0xc9))[_0x4acf('0x22')](handleError(_0xd87769,null));};exports[_0x4acf('0x4e')]=function(_0x449b7a,_0x4fa993){if(_0x449b7a[_0x4acf('0x4f')]['id']){delete _0x449b7a[_0x4acf('0x4f')]['id'];}return db['Dynamics365Account'][_0x4acf('0x4c')]({'where':{'id':_0x449b7a[_0x4acf('0x49')]['id']}})[_0x4acf('0x19')](handleEntityNotFound(_0x4fa993,null))[_0x4acf('0x19')](saveUpdates(_0x449b7a['body'],null))[_0x4acf('0x19')](respondWithResult(_0x4fa993,null))[_0x4acf('0x22')](handleError(_0x4fa993,null));};exports[_0x4acf('0x2c')]=function(_0xa2c430,_0x4d48f3){return db[_0x4acf('0x30')]['find']({'where':{'id':_0xa2c430[_0x4acf('0x49')]['id']}})['then'](handleEntityNotFound(_0x4d48f3,null))[_0x4acf('0x19')](removeEntity(_0x4d48f3,null))[_0x4acf('0x22')](handleError(_0x4d48f3,null));};exports[_0x4acf('0x50')]=function(_0x42aa65,_0x547128,_0x4df6a2){var _0x4cb554={};var _0x14b634={};var _0x5a2ac6;var _0x4c8d4b;return db[_0x4acf('0x30')][_0x4acf('0x51')]({'where':{'id':_0x42aa65['params']['id']}})[_0x4acf('0x19')](handleEntityNotFound(_0x547128,null))[_0x4acf('0x19')](function(_0x4bebb2){if(_0x4bebb2){_0x5a2ac6=_0x4bebb2;_0x14b634[_0x4acf('0x35')]=_[_0x4acf('0x4a')](db[_0x4acf('0x52')]['rawAttributes']);_0x14b634[_0x4acf('0x37')]=_[_0x4acf('0x4a')](_0x42aa65[_0x4acf('0x37')]);_0x14b634[_0x4acf('0x38')]=_['intersection'](_0x14b634[_0x4acf('0x35')],_0x14b634[_0x4acf('0x37')]);_0x4cb554[_0x4acf('0x3a')]=_['intersection'](_0x14b634[_0x4acf('0x35')],qs[_0x4acf('0x3b')](_0x42aa65[_0x4acf('0x37')][_0x4acf('0x3b')]));_0x4cb554[_0x4acf('0x3a')]=_0x4cb554[_0x4acf('0x3a')][_0x4acf('0x3c')]?_0x4cb554[_0x4acf('0x3a')]:_0x14b634[_0x4acf('0x35')];_0x4cb554[_0x4acf('0x3d')]=qs[_0x4acf('0x3e')](_0x42aa65[_0x4acf('0x37')][_0x4acf('0x3e')]);_0x4cb554[_0x4acf('0x3f')]=qs[_0x4acf('0x38')](_['pick'](_0x42aa65[_0x4acf('0x37')],_0x14b634[_0x4acf('0x38')]));if(_0x42aa65[_0x4acf('0x37')][_0x4acf('0x41')]){_0x4cb554[_0x4acf('0x3f')]=_[_0x4acf('0x42')](_0x4cb554[_0x4acf('0x3f')],{'$or':_[_0x4acf('0x36')](_0x4cb554['attributes'],function(_0x540dd5){var _0x8977ad={};_0x8977ad[_0x540dd5]={'$like':'%'+_0x42aa65['query'][_0x4acf('0x41')]+'%'};return _0x8977ad;})});}_0x4cb554=_['merge']({},_0x4cb554,_0x42aa65['options']);return _0x5a2ac6['getConfigurations'](_0x4cb554);}})[_0x4acf('0x19')](function(_0x3aff2e){if(_0x3aff2e){_0x4c8d4b=_0x3aff2e[_0x4acf('0x3c')];if(!_0x42aa65[_0x4acf('0x37')][_0x4acf('0x53')](_0x4acf('0x54'))){_0x4cb554['limit']=qs['limit'](_0x42aa65['query'][_0x4acf('0x28')]);_0x4cb554[_0x4acf('0x27')]=qs[_0x4acf('0x27')](_0x42aa65['query'][_0x4acf('0x27')]);}return _0x5a2ac6[_0x4acf('0x50')](_0x4cb554);}})[_0x4acf('0x19')](function(_0x114198){if(_0x114198){return _0x114198?{'count':_0x4c8d4b,'rows':_0x114198}:null;}})[_0x4acf('0x19')](respondWithResult(_0x547128,null))[_0x4acf('0x22')](handleError(_0x547128,null));};exports['addConfiguration']=function(_0x278b96,_0x52e6d2,_0x166d31){if(_0x278b96[_0x4acf('0x4f')]['id']){delete _0x278b96[_0x4acf('0x4f')]['id'];}return db[_0x4acf('0x30')][_0x4acf('0x51')]({'where':{'id':_0x278b96[_0x4acf('0x49')]['id']}})[_0x4acf('0x19')](handleEntityNotFound(_0x52e6d2,null))[_0x4acf('0x19')](function(_0x1dfe70){if(_0x1dfe70){_0x278b96[_0x4acf('0x4f')][_0x4acf('0x55')]=_0x1dfe70['id'];_0x278b96[_0x4acf('0x4f')]['Subjects']=integrations[_0x4acf('0x56')](_0x278b96[_0x4acf('0x4f')][_0x4acf('0x57')],_0x278b96[_0x4acf('0x4f')][_0x4acf('0x33')]);_0x278b96[_0x4acf('0x4f')][_0x4acf('0x58')]=integrations[_0x4acf('0x59')](_0x278b96[_0x4acf('0x4f')][_0x4acf('0x57')],_0x278b96['body'][_0x4acf('0x33')]);return db[_0x4acf('0x52')]['create'](_0x278b96[_0x4acf('0x4f')],{'include':[{'model':db[_0x4acf('0x5a')],'as':'Subjects'},{'model':db[_0x4acf('0x5a')],'as':'Descriptions'}]});}return null;})['then'](respondWithResult(_0x52e6d2,null))[_0x4acf('0x22')](handleError(_0x52e6d2,null));};exports['getFields']=function(_0x22729c,_0xe57598,_0x13f042){var _0x2034e4=_0x22729c['query'][_0x4acf('0x5b')];var _0x15fb66=_0x2034e4==='incident'?'Incident':'PhoneCall';var _0x1dd32a='';var _0x5e33ce='';var _0x3adb06='';var _0x34ad58='';var _0x4f3cf1='';var _0x4d7c9d='';var _0x249d40='';var _0x30dfed='';var _0x591d0b=[_0x4acf('0x5c'),_0x4acf('0x5d'),'customerid',_0x4acf('0x5e'),_0x4acf('0x5f'),_0x4acf('0x60'),_0x4acf('0x61'),_0x4acf('0x62'),_0x4acf('0x63'),'phonecall_activity_parties'];var _0x208157=['accountidname',_0x4acf('0x64'),_0x4acf('0x65'),'billedserviceunits','contactidname','contactidyominame',_0x4acf('0x66'),'contractidname','createdbyexternalpartyname','createdbyexternalpartyyominame',_0x4acf('0x67'),'createdbyyominame',_0x4acf('0x68'),_0x4acf('0x69'),_0x4acf('0x6a'),_0x4acf('0x6b'),_0x4acf('0x6c'),'customeridyominame','emailaddress',_0x4acf('0x6d'),_0x4acf('0x6e'),_0x4acf('0x6f'),_0x4acf('0x70'),_0x4acf('0x71'),'firstresponsebykpiidname',_0x4acf('0x72'),_0x4acf('0x73'),_0x4acf('0x74'),_0x4acf('0x75'),_0x4acf('0x76'),_0x4acf('0x77'),_0x4acf('0x78'),'modifiedbyexternalpartyyominame',_0x4acf('0x79'),'modifiedbyyominame',_0x4acf('0x7a'),_0x4acf('0x7b'),_0x4acf('0x7c'),_0x4acf('0x7d'),_0x4acf('0x7e'),'numberofchildincidents',_0x4acf('0x7f'),'overriddencreatedon',_0x4acf('0x80'),_0x4acf('0x81'),'owneridyominame',_0x4acf('0x82'),_0x4acf('0x83'),_0x4acf('0x84'),_0x4acf('0x85'),_0x4acf('0x86'),'productserialnumber',_0x4acf('0x87'),'resolvebykpiidname','responseby',_0x4acf('0x88'),_0x4acf('0x89'),_0x4acf('0x8a'),_0x4acf('0x8b'),'slaname','socialprofileidname',_0x4acf('0x8c'),_0x4acf('0x8d'),_0x4acf('0x8e'),_0x4acf('0x8f'),_0x4acf('0x90'),_0x4acf('0x91'),_0x4acf('0x92'),_0x4acf('0x93'),'versionnumber'];var _0x5a968c=_0x591d0b[_0x4acf('0x94')](_0x208157);return db[_0x4acf('0x30')][_0x4acf('0x51')]({'where':{'id':_0x22729c[_0x4acf('0x49')]['id']},'attributes':['id',_0x4acf('0x95'),_0x4acf('0x96'),_0x4acf('0x97'),_0x4acf('0x98'),_0x4acf('0x99'),'clientSecret']})[_0x4acf('0x19')](handleEntityNotFound(_0xe57598,null))[_0x4acf('0x19')](function(_0x179935){if(_0x179935){_0x30dfed=_0x179935[_0x4acf('0x97')];var _0x37ecd2=_0x30dfed[_0x4acf('0x9a')](-0x1);if(_0x37ecd2==='/'){_0x30dfed=_0x30dfed[_0x4acf('0x9b')](0x0,_0x30dfed[_0x4acf('0x9c')](_0x37ecd2));}_0x249d40=util[_0x4acf('0x9d')](_0x4acf('0x9e'),_0x30dfed);var _0x21448c={'method':_0x4acf('0x9f'),'uri':_0x4acf('0xa0')+_0x179935['tenantId']+_0x4acf('0xa1'),'form':{'client_id':_0x179935['clientId'],'resource':_0x30dfed,'username':_0x179935[_0x4acf('0x95')],'password':_0x179935[_0x4acf('0x96')],'grant_type':'password','client_secret':_0x179935[_0x4acf('0xa2')]},'json':!![]};return rp(_0x21448c);}})[_0x4acf('0x19')](function(_0x577f98){_0x4d7c9d=_0x577f98['access_token'];var _0x175c91={'method':_0x4acf('0xa3'),'uri':encodeURI(_0x249d40+'EntityDefinitions?$select=DisplayName,EntitySetName&$filter=SchemaName\x20eq\x20\x27'+_0x15fb66+'\x27'),'headers':{'Authorization':'Bearer\x20'+_0x4d7c9d,'If-None-Match':null,'OData-Version':_0x4acf('0xa4')},'json':!![]};return rp(_0x175c91);})[_0x4acf('0x19')](function(_0x26fed7){var _0x201bc9=_0x26fed7['value'][0x0];var _0x1774ac=_0x201bc9[_0x4acf('0xa5')];var _0x366696={'method':_0x4acf('0xa3'),'uri':_0x249d40+_0x4acf('0xa6')+_0x1774ac+_0x4acf('0xa7'),'headers':{'Authorization':_0x4acf('0xa8')+_0x4d7c9d,'If-None-Match':null,'OData-Version':'4.0'},'json':!![]};return rp(_0x366696);})[_0x4acf('0x19')](function(_0x176b0d){_0x1dd32a=_0x176b0d;_0x5e33ce=_0x1dd32a[_0x4acf('0xa9')];_0x5e33ce=_['remove'](_0x5e33ce,function(_0x40cccb){return!_0x5a968c[_0x4acf('0xaa')](_0x40cccb[_0x4acf('0xab')]);});var _0x1ab81f=[];var _0x37ffab=[];_0x5e33ce[_0x4acf('0xac')](function(_0x470712){if(_0x470712[_0x4acf('0xad')]){var _0x4a3238=_0x470712['@odata.type']['substring'](_0x470712['@odata.type']['lastIndexOf']('.')+0x1);if(_0x4a3238===_0x4acf('0xae')){_0x1ab81f['push'](getSelectList(_0x249d40,_0x2034e4,_0x37ffab,_0x1dd32a[_0x4acf('0xa5')],_0x470712[_0x4acf('0xa5')],_0x4d7c9d));}}});return Promise['all'](_0x1ab81f);})[_0x4acf('0x19')](function(_0x14ef45){_0x3adb06=_0x14ef45[0x0];var _0x1e08cf=[];var _0x35ddbc=[];_0x5e33ce[_0x4acf('0xac')](function(_0x140713){if(!_[_0x4acf('0xaf')](_0x140713[_0x4acf('0xad')])){var _0x422b8e=_0x140713[_0x4acf('0xad')][_0x4acf('0x9b')](_0x140713[_0x4acf('0xad')][_0x4acf('0x9c')]('.')+0x1);if(_0x422b8e===_0x4acf('0xb0')){_0x1e08cf[_0x4acf('0xb1')](getBooleanList(_0x249d40,_0x2034e4,_0x35ddbc,_0x1dd32a[_0x4acf('0xa5')],_0x140713[_0x4acf('0xa5')],_0x4d7c9d));}}});return Promise['all'](_0x1e08cf);})['then'](function(_0x16ac70){_0x34ad58=_0x16ac70[0x0];var _0x1a7a89=[];var _0x37fc90=[];_0x5e33ce[_0x4acf('0xac')](function(_0x43f2d4){if(_0x43f2d4[_0x4acf('0xad')]){var _0x412b95=_0x43f2d4[_0x4acf('0xad')][_0x4acf('0x9b')](_0x43f2d4[_0x4acf('0xad')][_0x4acf('0x9c')]('.')+0x1);if(_0x412b95===_0x4acf('0xb2')||_0x412b95==='DoubleAttributeMetadata'||_0x412b95==='BigIntAttributeMetadata'||_0x412b95===_0x4acf('0xb3')||_0x412b95===_0x4acf('0xb4')||_0x412b95===_0x4acf('0xb5')||_0x412b95===_0x4acf('0xb6')||_0x412b95===_0x4acf('0xb7')||_0x412b95===_0x4acf('0xb8')||_0x412b95==='DecimalAttributeMetadata'){_0x1a7a89[_0x4acf('0xb1')](getInputList(_0x249d40,_0x2034e4,_0x412b95,_0x37fc90,_0x1dd32a[_0x4acf('0xa5')],_0x43f2d4[_0x4acf('0xa5')],_0x4d7c9d));}}});return Promise['all'](_0x1a7a89);})[_0x4acf('0x19')](function(_0x459bf1){_0x4f3cf1=_0x459bf1[0x0];var _0x40b518=_0x3adb06[_0x4acf('0x94')](_0x34ad58)[_0x4acf('0x94')](_0x4f3cf1);var _0x20cdb4={'count':_0x40b518[_0x4acf('0x3c')],'rows':_0x40b518};return _0x20cdb4;})[_0x4acf('0x19')](respondWithResult(_0xe57598,null))[_0x4acf('0x22')](function(_0x4eb713){var _0x371ab5=_0x22729c['query']['test']?0x1f4:_0x4eb713[_0x4acf('0xb9')]||0x1f4;logger[_0x4acf('0x1e')](_0x4eb713[_0x4acf('0x2e')]);delete _0x4eb713[_0x4acf('0x2f')];if(_0x371ab5===0x191){_0x371ab5=0x190;}_0xe57598[_0x4acf('0x23')](_0x371ab5)[_0x4acf('0xba')](_0x22729c[_0x4acf('0x37')][_0x4acf('0xbb')]?{'message':'Wrong\x20credentials','statusCode':_0x4eb713[_0x4acf('0xb9')]}:_0x4eb713);});};function getSelectList(_0x4458bb,_0x6ae77b,_0x27edd9,_0x2b7d90,_0x7c4c82,_0x499214){var _0x474653={'method':_0x4acf('0xa3'),'uri':_0x4458bb+_0x4acf('0xa6')+_0x2b7d90+_0x4acf('0xbc')+_0x7c4c82+_0x4acf('0xbd')+_0x4acf('0xbe'),'headers':{'Authorization':_0x4acf('0xa8')+_0x499214,'If-None-Match':null,'OData-Version':'4.0'},'json':!![]};return rp(_0x474653)[_0x4acf('0x19')](function(_0x38ef48){var _0x49848a=[];var _0x38b796=_0x38ef48[_0x4acf('0xbf')][_0x4acf('0xc0')];_0x38b796[_0x4acf('0xac')](function(_0x547039){_0x49848a[_0x4acf('0xb1')]({'name':_0x547039[_0x4acf('0xc1')][_0x4acf('0xc2')][_0x4acf('0xc1')],'value':String(_0x547039[_0x4acf('0xc3')])});});var _0x22613d={'id':_0x6ae77b+'_'+_0x38ef48[_0x4acf('0xab')],'name':_0x38ef48[_0x4acf('0xc4')][_0x4acf('0xc2')][_0x4acf('0xc1')],'custom':![],'options':_0x49848a};_0x27edd9[_0x4acf('0xb1')](_0x22613d);return _0x27edd9;});}function getBooleanList(_0xc0c770,_0x279cc0,_0x229f40,_0x25ce78,_0xc8436,_0x4ad66d){var _0x1ebdd6={'method':_0x4acf('0xa3'),'uri':_0xc0c770+_0x4acf('0xa6')+_0x25ce78+_0x4acf('0xbc')+_0xc8436+_0x4acf('0xc5'),'headers':{'Authorization':_0x4acf('0xa8')+_0x4ad66d,'If-None-Match':null,'OData-Version':'4.0'},'json':!![]};return rp(_0x1ebdd6)[_0x4acf('0x19')](function(_0x5e1be6){var _0x5ea884=[];_0x5ea884[_0x4acf('0xb1')]({'name':_0x5e1be6[_0x4acf('0xbf')][_0x4acf('0xc6')][_0x4acf('0xc1')][_0x4acf('0xc2')][_0x4acf('0xc1')],'value':_0x4acf('0xc7')},{'name':_0x5e1be6[_0x4acf('0xbf')][_0x4acf('0xc8')]['Label'][_0x4acf('0xc2')][_0x4acf('0xc1')],'value':_0x4acf('0xc9')});var _0x2aea00={'id':_0x279cc0+'_'+_0x5e1be6[_0x4acf('0xab')],'name':_0x5e1be6[_0x4acf('0xc4')][_0x4acf('0xc2')][_0x4acf('0xc1')],'custom':![],'options':_0x5ea884};_0x229f40[_0x4acf('0xb1')](_0x2aea00);return _0x229f40;});}function getInputList(_0x18c345,_0x35a108,_0x57cbf1,_0xbb57af,_0x29249d,_0x4fc33a,_0x2e2933){var _0xe2dfac={'method':_0x4acf('0xa3'),'uri':_0x18c345+_0x4acf('0xa6')+_0x29249d+_0x4acf('0xbc')+_0x4fc33a+_0x4acf('0xca')+_0x57cbf1+'?$select=DisplayName,LogicalName','headers':{'Authorization':_0x4acf('0xa8')+_0x2e2933,'If-None-Match':null,'OData-Version':_0x4acf('0xa4')},'json':!![]};return rp(_0xe2dfac)['then'](function(_0x4c7835){var _0x26d915={'id':_0x35a108+'_'+_0x4c7835[_0x4acf('0xab')],'name':_0x4c7835['DisplayName'][_0x4acf('0xc2')]?_0x4c7835['DisplayName'][_0x4acf('0xc2')][_0x4acf('0xc1')]:_0x4c7835[_0x4acf('0xab')],'custom':![],'options':[]};_0xbb57af[_0x4acf('0xb1')](_0x26d915);return _0xbb57af;});}