c754c1887ec54e569eda1c545a414d42759005f5
[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 _0x326f=['path','sox','to-csv','lodash','squel','crypto','jsforce','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','../../config/utils','../../config/license/util','../../components/integrations/configuration','jayson/promise','http','request','then','info','Dynamics365Account,\x20%s,\x20%s','request\x20sent','debug','Dynamics365Account,\x20%s,\x20%s,\x20%s','stringify','error','code','message','catch','sendStatus','status','json','count','limit','set','apply','reject','save','update','destroy','end','stack','name','send','index','map','rawAttributes','fieldName','type','key','keys','query','filters','intersection','attributes','model','fields','hasOwnProperty','offset','order','sort','where','pick','filter','merge','VIRTUAL','options','includeAll','include','findAll','rows','show','params','Dynamics365Account','create','body','find','findOne','Dynamics365Configuration','length','nolimit','getConfigurations','AccountId','Subjects','getSubjects','channel','getDescriptions','Dynamics365Field','Descriptions','getFields','ticketType','incident','PhoneCall','title','description','customerid','ownerid','subject','directioncode','phonecall_activity_parties','actualserviceunits','contactidname','contactidyominame','contractdetailidname','contractidname','createdbyexternalpartyname','createdbyexternalpartyyominame','createdbyyominame','createdon','customeridname','customeridyominame','emailaddress','entitlementidname','entityimage_timestamp','entityimage_url','escalatedon','exchangerate','firstresponsebykpiidname','followupby','influencescore','kbarticleidname','masteridname','modifiedbyexternalpartyyominame','modifiedbyname','modifiedbyyominame','modifiedonbehalfbyname','modifiedonbehalfbyyominame','msdyn_incidenttypename','msdyn_iotalertname','numberofchildincidents','onholdtime','overriddencreatedon','owneridname','owneridtype','owneridyominame','parentcaseidname','primarycontactidname','primarycontactidyominame','prioritycodename','productidname','resolveby','resolvebykpiidname','responsiblecontactidname','responsiblecontactidyominame','slainvokedidname','slaname','socialprofileidname','statecode','statuscode','subjectidname','ticketnumber','transactioncurrencyidname','traversedpath','utcconversiontimezonecode','versionnumber','concat','username','password','tenantId','clientSecret','remoteUri','slice','substring','lastIndexOf','format','%s/api/data/v9.0/','POST','https://login.microsoftonline.com/','/oauth2/token','clientId','access_token','GET','4.0','value','EntityDefinitions(',')?$select=LogicalName&$expand=Attributes($select=LogicalName)','Bearer\x20','Attributes','LogicalName','forEach','@odata.type','PicklistAttributeMetadata','MetadataId','all','BooleanAttributeMetadata','push','StringAttributeMetadata','DoubleAttributeMetadata','BigIntAttributeMetadata','IntegerAttributeMetadata','MemoAttributeMetadata','EntityNameAttributeMetadata','StateAttributeMetadata','DecimalAttributeMetadata','statusCode','test',')/Attributes(',')/Microsoft.Dynamics.CRM.PicklistAttributeMetadata?','OptionSet','Options','Label','Value','UserLocalizedLabel','TrueOption','true','false','DisplayName',')/Microsoft.Dynamics.CRM.','html-pdf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util'];(function(_0x3af68e,_0x384315){var _0x3e6d5b=function(_0x21e40c){while(--_0x21e40c){_0x3af68e['push'](_0x3af68e['shift']());}};_0x3e6d5b(++_0x384315);}(_0x326f,0xd1));var _0xf326=function(_0x47bd63,_0xb115ec){_0x47bd63=_0x47bd63-0x0;var _0x70dcee=_0x326f[_0x47bd63];return _0x70dcee;};'use strict';var pdf=require(_0xf326('0x0'));var emlformat=require('eml-format');var rimraf=require('rimraf');var zipdir=require(_0xf326('0x1'));var jsonpatch=require(_0xf326('0x2'));var rp=require(_0xf326('0x3'));var moment=require(_0xf326('0x4'));var BPromise=require(_0xf326('0x5'));var Mustache=require(_0xf326('0x6'));var util=require(_0xf326('0x7'));var path=require(_0xf326('0x8'));var sox=require(_0xf326('0x9'));var csv=require(_0xf326('0xa'));var ejs=require('ejs');var fs=require('fs');var _=require(_0xf326('0xb'));var squel=require(_0xf326('0xc'));var crypto=require(_0xf326('0xd'));var jsforce=require(_0xf326('0xe'));var deskjs=require('desk.js');var toCsv=require('to-csv');var querystring=require('querystring');var Papa=require(_0xf326('0xf'));var Redis=require(_0xf326('0x10'));var authService=require(_0xf326('0x11'));var qs=require(_0xf326('0x12'));var as=require(_0xf326('0x13'));var hardwareService=require('../../config/license/hardware');var logger=require(_0xf326('0x14'))('api');var utils=require(_0xf326('0x15'));var config=require('../../config/environment');var licenseUtil=require(_0xf326('0x16'));var db=require('../../mysqldb')['db'];var integrations=require(_0xf326('0x17'));var jayson=require(_0xf326('0x18'));var client=jayson['client'][_0xf326('0x19')]({'port':0x232a});function respondWithRpcPromise(_0x472632,_0x3504eb,_0x17a098,_0x5c8483){return new BPromise(function(_0x45c1b6,_0x5204ee){var _0x54bd1a=_0x5c8483||client;return _0x54bd1a[_0xf326('0x1a')](_0x472632,_0x17a098)[_0xf326('0x1b')](function(_0x1f2e5a){logger[_0xf326('0x1c')](_0xf326('0x1d'),_0x3504eb,_0xf326('0x1e'));logger[_0xf326('0x1f')](_0xf326('0x20'),_0x3504eb,'request\x20sent',JSON[_0xf326('0x21')](_0x1f2e5a));if(_0x1f2e5a[_0xf326('0x22')]){if(_0x1f2e5a[_0xf326('0x22')][_0xf326('0x23')]===0x1f4){logger[_0xf326('0x22')](_0xf326('0x1d'),_0x3504eb,_0x1f2e5a['error']['message']);return _0x5204ee(_0x1f2e5a['error'][_0xf326('0x24')]);}logger[_0xf326('0x22')]('Dynamics365Account,\x20%s,\x20%s',_0x3504eb,_0x1f2e5a['error'][_0xf326('0x24')]);return _0x45c1b6(_0x1f2e5a['error']['message']);}else{logger[_0xf326('0x1c')](_0xf326('0x1d'),_0x3504eb,'request\x20sent');_0x45c1b6(_0x1f2e5a['result'][_0xf326('0x24')]);}})[_0xf326('0x25')](function(_0x5f21a2){logger[_0xf326('0x22')](_0xf326('0x1d'),_0x3504eb,_0x5f21a2);_0x5204ee(_0x5f21a2);});});}function respondWithStatusCode(_0x43c53e,_0x295752){_0x295752=_0x295752||0xcc;return function(_0x17c157){if(_0x17c157){return _0x43c53e[_0xf326('0x26')](_0x295752);}return _0x43c53e['status'](_0x295752)['end']();};}function respondWithResult(_0x4f31f6,_0x520d85){_0x520d85=_0x520d85||0xc8;return function(_0x1a2c4e){if(_0x1a2c4e){return _0x4f31f6[_0xf326('0x27')](_0x520d85)[_0xf326('0x28')](_0x1a2c4e);}};}function respondWithFilteredResult(_0x148953,_0x410237){return function(_0x5217d4){if(_0x5217d4){var _0x201d28=_0x5217d4[_0xf326('0x29')],_0xa3c0b=_0x410237['offset'],_0x212d5d=_0x410237['offset']+_0x410237[_0xf326('0x2a')],_0x581531;if(_0x212d5d>=_0x201d28){_0x212d5d=_0x201d28;_0x581531=0xc8;}else{_0x581531=0xce;}_0x148953[_0xf326('0x27')](_0x581531);return _0x148953[_0xf326('0x2b')]('Content-Range',_0xa3c0b+'-'+_0x212d5d+'/'+_0x201d28)[_0xf326('0x28')](_0x5217d4);}return null;};}function patchUpdates(_0x292500){return function(_0x55790d){try{jsonpatch[_0xf326('0x2c')](_0x55790d,_0x292500,!![]);}catch(_0x119ab8){return BPromise[_0xf326('0x2d')](_0x119ab8);}return _0x55790d[_0xf326('0x2e')]();};}function saveUpdates(_0xa80156,_0x269be9){return function(_0x161143){if(_0x161143){return _0x161143[_0xf326('0x2f')](_0xa80156)[_0xf326('0x1b')](function(_0x349a03){return _0x349a03;});}return null;};}function removeEntity(_0x4b52f2,_0x1035ed){return function(_0x424104){if(_0x424104){return _0x424104[_0xf326('0x30')]()['then'](function(){_0x4b52f2[_0xf326('0x27')](0xcc)[_0xf326('0x31')]();});}};}function handleEntityNotFound(_0x303dc6,_0x4df451){return function(_0x5b101d){if(!_0x5b101d){_0x303dc6[_0xf326('0x26')](0x194);}return _0x5b101d;};}function handleError(_0x46d75e,_0x9c3039){_0x9c3039=_0x9c3039||0x1f4;return function(_0xf53cf3){logger[_0xf326('0x22')](_0xf53cf3[_0xf326('0x32')]);if(_0xf53cf3[_0xf326('0x33')]){delete _0xf53cf3[_0xf326('0x33')];}_0x46d75e['status'](_0x9c3039)[_0xf326('0x34')](_0xf53cf3);};}exports[_0xf326('0x35')]=function(_0x51207a,_0x4083a2){var _0x4e5d7c={},_0xce1cbb={},_0x481b64={'count':0x0,'rows':[]};var _0x51f147=_[_0xf326('0x36')](db['Dynamics365Account'][_0xf326('0x37')],function(_0x57aa27){return{'name':_0x57aa27[_0xf326('0x38')],'type':_0x57aa27[_0xf326('0x39')][_0xf326('0x3a')]};});_0xce1cbb['model']=_[_0xf326('0x36')](_0x51f147,_0xf326('0x33'));_0xce1cbb['query']=_[_0xf326('0x3b')](_0x51207a[_0xf326('0x3c')]);_0xce1cbb[_0xf326('0x3d')]=_[_0xf326('0x3e')](_0xce1cbb['model'],_0xce1cbb[_0xf326('0x3c')]);_0x4e5d7c[_0xf326('0x3f')]=_[_0xf326('0x3e')](_0xce1cbb[_0xf326('0x40')],qs[_0xf326('0x41')](_0x51207a['query'][_0xf326('0x41')]));_0x4e5d7c[_0xf326('0x3f')]=_0x4e5d7c['attributes']['length']?_0x4e5d7c[_0xf326('0x3f')]:_0xce1cbb['model'];if(!_0x51207a['query'][_0xf326('0x42')]('nolimit')){_0x4e5d7c[_0xf326('0x2a')]=qs[_0xf326('0x2a')](_0x51207a[_0xf326('0x3c')][_0xf326('0x2a')]);_0x4e5d7c['offset']=qs[_0xf326('0x43')](_0x51207a[_0xf326('0x3c')][_0xf326('0x43')]);}_0x4e5d7c[_0xf326('0x44')]=qs[_0xf326('0x45')](_0x51207a[_0xf326('0x3c')][_0xf326('0x45')]);_0x4e5d7c[_0xf326('0x46')]=qs[_0xf326('0x3d')](_[_0xf326('0x47')](_0x51207a[_0xf326('0x3c')],_0xce1cbb[_0xf326('0x3d')]),_0x51f147);if(_0x51207a['query'][_0xf326('0x48')]){_0x4e5d7c[_0xf326('0x46')]=_[_0xf326('0x49')](_0x4e5d7c[_0xf326('0x46')],{'$or':_[_0xf326('0x36')](_0x51f147,function(_0x1a2d0d){if(_0x1a2d0d['type']!==_0xf326('0x4a')){var _0xbacd3c={};_0xbacd3c[_0x1a2d0d['name']]={'$like':'%'+_0x51207a[_0xf326('0x3c')][_0xf326('0x48')]+'%'};return _0xbacd3c;}})});}_0x4e5d7c=_[_0xf326('0x49')]({},_0x4e5d7c,_0x51207a[_0xf326('0x4b')]);var _0x427c34={'where':_0x4e5d7c['where']};return db['Dynamics365Account'][_0xf326('0x29')](_0x427c34)[_0xf326('0x1b')](function(_0x5ed62e){_0x481b64['count']=_0x5ed62e;if(_0x51207a[_0xf326('0x3c')][_0xf326('0x4c')]){_0x4e5d7c[_0xf326('0x4d')]=[{'all':!![]}];}return db['Dynamics365Account'][_0xf326('0x4e')](_0x4e5d7c);})[_0xf326('0x1b')](function(_0x2180d6){_0x481b64[_0xf326('0x4f')]=_0x2180d6;return _0x481b64;})[_0xf326('0x1b')](respondWithFilteredResult(_0x4083a2,_0x4e5d7c))[_0xf326('0x25')](handleError(_0x4083a2,null));};exports[_0xf326('0x50')]=function(_0x3b90dc,_0x3df9a8){var _0x27ced1={'raw':![],'where':{'id':_0x3b90dc[_0xf326('0x51')]['id']}},_0x1c76c8={};_0x1c76c8[_0xf326('0x40')]=_[_0xf326('0x3b')](db[_0xf326('0x52')]['rawAttributes']);_0x1c76c8[_0xf326('0x3c')]=_[_0xf326('0x3b')](_0x3b90dc[_0xf326('0x3c')]);_0x1c76c8[_0xf326('0x3d')]=_['intersection'](_0x1c76c8[_0xf326('0x40')],_0x1c76c8[_0xf326('0x3c')]);_0x27ced1[_0xf326('0x3f')]=_[_0xf326('0x3e')](_0x1c76c8['model'],qs[_0xf326('0x41')](_0x3b90dc[_0xf326('0x3c')][_0xf326('0x41')]));_0x27ced1[_0xf326('0x3f')]=_0x27ced1[_0xf326('0x3f')]['length']?_0x27ced1['attributes']:_0x1c76c8[_0xf326('0x40')];if(_0x3b90dc[_0xf326('0x3c')][_0xf326('0x4c')]){_0x27ced1['include']=[{'all':!![]}];}_0x27ced1=_[_0xf326('0x49')]({},_0x27ced1,_0x3b90dc[_0xf326('0x4b')]);return db[_0xf326('0x52')]['find'](_0x27ced1)['then'](handleEntityNotFound(_0x3df9a8,null))[_0xf326('0x1b')](respondWithResult(_0x3df9a8,null))['catch'](handleError(_0x3df9a8,null));};exports[_0xf326('0x53')]=function(_0x554277,_0x458e5f){return db[_0xf326('0x52')][_0xf326('0x53')](_0x554277[_0xf326('0x54')],{})[_0xf326('0x1b')](respondWithResult(_0x458e5f,0xc9))[_0xf326('0x25')](handleError(_0x458e5f,null));};exports[_0xf326('0x2f')]=function(_0x495a16,_0xcdaf3f){if(_0x495a16[_0xf326('0x54')]['id']){delete _0x495a16[_0xf326('0x54')]['id'];}return db['Dynamics365Account'][_0xf326('0x55')]({'where':{'id':_0x495a16[_0xf326('0x51')]['id']}})[_0xf326('0x1b')](handleEntityNotFound(_0xcdaf3f,null))[_0xf326('0x1b')](saveUpdates(_0x495a16[_0xf326('0x54')],null))['then'](respondWithResult(_0xcdaf3f,null))[_0xf326('0x25')](handleError(_0xcdaf3f,null));};exports[_0xf326('0x30')]=function(_0x287a97,_0x46a21f){return db['Dynamics365Account'][_0xf326('0x55')]({'where':{'id':_0x287a97[_0xf326('0x51')]['id']}})[_0xf326('0x1b')](handleEntityNotFound(_0x46a21f,null))[_0xf326('0x1b')](removeEntity(_0x46a21f,null))['catch'](handleError(_0x46a21f,null));};exports['getConfigurations']=function(_0x18b46e,_0x44d2ed,_0x55ca96){var _0x3cf6fa={};var _0x29de71={};var _0x316609;var _0x1258d1;return db['Dynamics365Account'][_0xf326('0x56')]({'where':{'id':_0x18b46e['params']['id']}})['then'](handleEntityNotFound(_0x44d2ed,null))[_0xf326('0x1b')](function(_0x51d466){if(_0x51d466){_0x316609=_0x51d466;_0x29de71[_0xf326('0x40')]=_[_0xf326('0x3b')](db[_0xf326('0x57')]['rawAttributes']);_0x29de71['query']=_[_0xf326('0x3b')](_0x18b46e[_0xf326('0x3c')]);_0x29de71[_0xf326('0x3d')]=_['intersection'](_0x29de71[_0xf326('0x40')],_0x29de71['query']);_0x3cf6fa[_0xf326('0x3f')]=_[_0xf326('0x3e')](_0x29de71[_0xf326('0x40')],qs[_0xf326('0x41')](_0x18b46e[_0xf326('0x3c')][_0xf326('0x41')]));_0x3cf6fa[_0xf326('0x3f')]=_0x3cf6fa[_0xf326('0x3f')][_0xf326('0x58')]?_0x3cf6fa[_0xf326('0x3f')]:_0x29de71[_0xf326('0x40')];_0x3cf6fa[_0xf326('0x44')]=qs[_0xf326('0x45')](_0x18b46e['query'][_0xf326('0x45')]);_0x3cf6fa['where']=qs[_0xf326('0x3d')](_[_0xf326('0x47')](_0x18b46e['query'],_0x29de71[_0xf326('0x3d')]));if(_0x18b46e['query'][_0xf326('0x48')]){_0x3cf6fa[_0xf326('0x46')]=_[_0xf326('0x49')](_0x3cf6fa[_0xf326('0x46')],{'$or':_[_0xf326('0x36')](_0x3cf6fa['attributes'],function(_0x4ec099){var _0x1209ca={};_0x1209ca[_0x4ec099]={'$like':'%'+_0x18b46e[_0xf326('0x3c')][_0xf326('0x48')]+'%'};return _0x1209ca;})});}_0x3cf6fa=_[_0xf326('0x49')]({},_0x3cf6fa,_0x18b46e[_0xf326('0x4b')]);return _0x316609['getConfigurations'](_0x3cf6fa);}})[_0xf326('0x1b')](function(_0x471da8){if(_0x471da8){_0x1258d1=_0x471da8['length'];if(!_0x18b46e['query']['hasOwnProperty'](_0xf326('0x59'))){_0x3cf6fa[_0xf326('0x2a')]=qs[_0xf326('0x2a')](_0x18b46e[_0xf326('0x3c')][_0xf326('0x2a')]);_0x3cf6fa[_0xf326('0x43')]=qs[_0xf326('0x43')](_0x18b46e['query'][_0xf326('0x43')]);}return _0x316609[_0xf326('0x5a')](_0x3cf6fa);}})[_0xf326('0x1b')](function(_0x13cf83){if(_0x13cf83){return _0x13cf83?{'count':_0x1258d1,'rows':_0x13cf83}:null;}})['then'](respondWithResult(_0x44d2ed,null))[_0xf326('0x25')](handleError(_0x44d2ed,null));};exports['addConfiguration']=function(_0x499b59,_0x2dd9e4,_0x540fa0){if(_0x499b59[_0xf326('0x54')]['id']){delete _0x499b59[_0xf326('0x54')]['id'];}return db[_0xf326('0x52')][_0xf326('0x56')]({'where':{'id':_0x499b59[_0xf326('0x51')]['id']}})['then'](handleEntityNotFound(_0x2dd9e4,null))['then'](function(_0x48d84a){if(_0x48d84a){_0x499b59[_0xf326('0x54')][_0xf326('0x5b')]=_0x48d84a['id'];_0x499b59[_0xf326('0x54')][_0xf326('0x5c')]=integrations[_0xf326('0x5d')](_0x499b59['body'][_0xf326('0x5e')],_0x499b59[_0xf326('0x54')][_0xf326('0x39')]);_0x499b59['body']['Descriptions']=integrations[_0xf326('0x5f')](_0x499b59[_0xf326('0x54')]['channel'],_0x499b59['body'][_0xf326('0x39')]);return db['Dynamics365Configuration'][_0xf326('0x53')](_0x499b59['body'],{'include':[{'model':db['Dynamics365Field'],'as':'Subjects'},{'model':db[_0xf326('0x60')],'as':_0xf326('0x61')}]});}return null;})[_0xf326('0x1b')](respondWithResult(_0x2dd9e4,null))['catch'](handleError(_0x2dd9e4,null));};exports[_0xf326('0x62')]=function(_0xdeceb9,_0x35e34d,_0x457f3d){var _0x2dcf6c=_0xdeceb9[_0xf326('0x3c')][_0xf326('0x63')];var _0x23cc31=_0x2dcf6c===_0xf326('0x64')?'Incident':_0xf326('0x65');var _0x5b1494='';var _0x2c81a7='';var _0x366312='';var _0x40ee66='';var _0x4ba982='';var _0x2465f8='';var _0x217fc2='';var _0x39c90d='';var _0x4dc8d7=[_0xf326('0x66'),_0xf326('0x67'),_0xf326('0x68'),_0xf326('0x69'),'caseorigincode',_0xf326('0x6a'),'phonenumber','regardingobjectid',_0xf326('0x6b'),_0xf326('0x6c')];var _0x5af6b7=['accountidname','accountidyominame',_0xf326('0x6d'),'billedserviceunits',_0xf326('0x6e'),_0xf326('0x6f'),_0xf326('0x70'),_0xf326('0x71'),_0xf326('0x72'),_0xf326('0x73'),'createdbyname',_0xf326('0x74'),_0xf326('0x75'),'createdonbehalfbyname','createdonbehalfbyyominame',_0xf326('0x76'),'customeridtype',_0xf326('0x77'),_0xf326('0x78'),_0xf326('0x79'),_0xf326('0x7a'),_0xf326('0x7b'),_0xf326('0x7c'),_0xf326('0x7d'),_0xf326('0x7e'),_0xf326('0x7f'),'importsequencenumber',_0xf326('0x80'),_0xf326('0x81'),'lastonholdtime',_0xf326('0x82'),'modifiedbyexternalpartyname',_0xf326('0x83'),_0xf326('0x84'),_0xf326('0x85'),'modifiedon',_0xf326('0x86'),_0xf326('0x87'),_0xf326('0x88'),_0xf326('0x89'),_0xf326('0x8a'),_0xf326('0x8b'),_0xf326('0x8c'),_0xf326('0x8d'),_0xf326('0x8e'),_0xf326('0x8f'),_0xf326('0x90'),_0xf326('0x91'),_0xf326('0x92'),_0xf326('0x93'),_0xf326('0x94'),'productserialnumber',_0xf326('0x95'),_0xf326('0x96'),'responseby',_0xf326('0x97'),_0xf326('0x98'),'sentimentvalue',_0xf326('0x99'),_0xf326('0x9a'),_0xf326('0x9b'),_0xf326('0x9c'),_0xf326('0x9d'),_0xf326('0x9e'),_0xf326('0x9f'),'timezoneruleversionnumber',_0xf326('0xa0'),_0xf326('0xa1'),_0xf326('0xa2'),_0xf326('0xa3')];var _0x316c8e=_0x4dc8d7[_0xf326('0xa4')](_0x5af6b7);return db[_0xf326('0x52')][_0xf326('0x56')]({'where':{'id':_0xdeceb9['params']['id']},'attributes':['id',_0xf326('0xa5'),_0xf326('0xa6'),'remoteUri',_0xf326('0xa7'),'clientId',_0xf326('0xa8')]})[_0xf326('0x1b')](handleEntityNotFound(_0x35e34d,null))[_0xf326('0x1b')](function(_0x2a0f36){if(_0x2a0f36){_0x39c90d=_0x2a0f36[_0xf326('0xa9')];var _0x3097cf=_0x39c90d[_0xf326('0xaa')](-0x1);if(_0x3097cf==='/'){_0x39c90d=_0x39c90d[_0xf326('0xab')](0x0,_0x39c90d[_0xf326('0xac')](_0x3097cf));}_0x217fc2=util[_0xf326('0xad')](_0xf326('0xae'),_0x39c90d);var _0x3face2={'method':_0xf326('0xaf'),'uri':_0xf326('0xb0')+_0x2a0f36['tenantId']+_0xf326('0xb1'),'form':{'client_id':_0x2a0f36[_0xf326('0xb2')],'resource':_0x39c90d,'username':_0x2a0f36[_0xf326('0xa5')],'password':_0x2a0f36[_0xf326('0xa6')],'grant_type':_0xf326('0xa6'),'client_secret':_0x2a0f36['clientSecret']},'json':!![]};return rp(_0x3face2);}})[_0xf326('0x1b')](function(_0x1b6a15){_0x2465f8=_0x1b6a15[_0xf326('0xb3')];var _0x1578ea={'method':_0xf326('0xb4'),'uri':encodeURI(_0x217fc2+'EntityDefinitions?$select=DisplayName,EntitySetName&$filter=SchemaName\x20eq\x20\x27'+_0x23cc31+'\x27'),'headers':{'Authorization':'Bearer\x20'+_0x2465f8,'If-None-Match':null,'OData-Version':_0xf326('0xb5')},'json':!![]};return rp(_0x1578ea);})['then'](function(_0xedbcf2){var _0x143965=_0xedbcf2[_0xf326('0xb6')][0x0];var _0x4f35e3=_0x143965['MetadataId'];var _0x386c4c={'method':_0xf326('0xb4'),'uri':_0x217fc2+_0xf326('0xb7')+_0x4f35e3+_0xf326('0xb8'),'headers':{'Authorization':_0xf326('0xb9')+_0x2465f8,'If-None-Match':null,'OData-Version':'4.0'},'json':!![]};return rp(_0x386c4c);})[_0xf326('0x1b')](function(_0x428eae){_0x5b1494=_0x428eae;_0x2c81a7=_0x5b1494[_0xf326('0xba')];_0x2c81a7=_['remove'](_0x2c81a7,function(_0x4cc620){return!_0x316c8e['includes'](_0x4cc620[_0xf326('0xbb')]);});var _0x17c96c=[];var _0x2d275d=[];_0x2c81a7[_0xf326('0xbc')](function(_0x58ef98){if(_0x58ef98[_0xf326('0xbd')]){var _0x36e21e=_0x58ef98['@odata.type']['substring'](_0x58ef98[_0xf326('0xbd')][_0xf326('0xac')]('.')+0x1);if(_0x36e21e===_0xf326('0xbe')){_0x17c96c['push'](getSelectList(_0x217fc2,_0x2dcf6c,_0x2d275d,_0x5b1494[_0xf326('0xbf')],_0x58ef98[_0xf326('0xbf')],_0x2465f8));}}});return Promise[_0xf326('0xc0')](_0x17c96c);})['then'](function(_0x39d16d){_0x366312=_0x39d16d[0x0];var _0x438733=[];var _0x267bae=[];_0x2c81a7[_0xf326('0xbc')](function(_0x4afbd5){if(!_['isNil'](_0x4afbd5['@odata.type'])){var _0x11c920=_0x4afbd5[_0xf326('0xbd')][_0xf326('0xab')](_0x4afbd5['@odata.type'][_0xf326('0xac')]('.')+0x1);if(_0x11c920===_0xf326('0xc1')){_0x438733[_0xf326('0xc2')](getBooleanList(_0x217fc2,_0x2dcf6c,_0x267bae,_0x5b1494['MetadataId'],_0x4afbd5[_0xf326('0xbf')],_0x2465f8));}}});return Promise[_0xf326('0xc0')](_0x438733);})[_0xf326('0x1b')](function(_0x218553){_0x40ee66=_0x218553[0x0];var _0x500011=[];var _0x435673=[];_0x2c81a7['forEach'](function(_0x2b94b8){if(_0x2b94b8[_0xf326('0xbd')]){var _0x4079ca=_0x2b94b8[_0xf326('0xbd')]['substring'](_0x2b94b8[_0xf326('0xbd')]['lastIndexOf']('.')+0x1);if(_0x4079ca===_0xf326('0xc3')||_0x4079ca===_0xf326('0xc4')||_0x4079ca===_0xf326('0xc5')||_0x4079ca===_0xf326('0xc6')||_0x4079ca===_0xf326('0xc7')||_0x4079ca==='DateTimeAttributeMetadata'||_0x4079ca==='StatusAttributeMetadata'||_0x4079ca===_0xf326('0xc8')||_0x4079ca===_0xf326('0xc9')||_0x4079ca===_0xf326('0xca')){_0x500011[_0xf326('0xc2')](getInputList(_0x217fc2,_0x2dcf6c,_0x4079ca,_0x435673,_0x5b1494['MetadataId'],_0x2b94b8[_0xf326('0xbf')],_0x2465f8));}}});return Promise['all'](_0x500011);})[_0xf326('0x1b')](function(_0x285ada){_0x4ba982=_0x285ada[0x0];var _0xb072ab=_0x366312['concat'](_0x40ee66)[_0xf326('0xa4')](_0x4ba982);var _0x42bbd7={'count':_0xb072ab[_0xf326('0x58')],'rows':_0xb072ab};return _0x42bbd7;})[_0xf326('0x1b')](respondWithResult(_0x35e34d,null))[_0xf326('0x25')](function(_0x4dc4bc){var _0x169e71=_0xdeceb9[_0xf326('0x3c')]['test']?0x1f4:_0x4dc4bc[_0xf326('0xcb')]||0x1f4;logger[_0xf326('0x22')](_0x4dc4bc[_0xf326('0x32')]);delete _0x4dc4bc[_0xf326('0x33')];if(_0x169e71===0x191){_0x169e71=0x190;}_0x35e34d['status'](_0x169e71)['send'](_0xdeceb9[_0xf326('0x3c')][_0xf326('0xcc')]?{'message':'Wrong\x20credentials','statusCode':_0x4dc4bc[_0xf326('0xcb')]}:_0x4dc4bc);});};function getSelectList(_0x5bd50c,_0x59eff9,_0x4cad0,_0x2590ed,_0x2e24eb,_0x37cd6f){var _0x16b5a2={'method':_0xf326('0xb4'),'uri':_0x5bd50c+_0xf326('0xb7')+_0x2590ed+_0xf326('0xcd')+_0x2e24eb+_0xf326('0xce')+'$select=DisplayName,LogicalName&$expand=OptionSet($select=Options)','headers':{'Authorization':_0xf326('0xb9')+_0x37cd6f,'If-None-Match':null,'OData-Version':_0xf326('0xb5')},'json':!![]};return rp(_0x16b5a2)[_0xf326('0x1b')](function(_0x1c7f81){var _0x59d894=[];var _0x3e6a5d=_0x1c7f81[_0xf326('0xcf')][_0xf326('0xd0')];_0x3e6a5d[_0xf326('0xbc')](function(_0xc58057){_0x59d894['push']({'name':_0xc58057[_0xf326('0xd1')]['UserLocalizedLabel'][_0xf326('0xd1')],'value':String(_0xc58057[_0xf326('0xd2')])});});var _0xffd165={'id':_0x59eff9+'_'+_0x1c7f81[_0xf326('0xbb')],'name':_0x1c7f81['DisplayName'][_0xf326('0xd3')][_0xf326('0xd1')],'custom':![],'options':_0x59d894};_0x4cad0[_0xf326('0xc2')](_0xffd165);return _0x4cad0;});}function getBooleanList(_0x58d20b,_0x23451e,_0x1552b3,_0x423a6d,_0xc524c0,_0x5520db){var _0xf390a9={'method':_0xf326('0xb4'),'uri':_0x58d20b+_0xf326('0xb7')+_0x423a6d+_0xf326('0xcd')+_0xc524c0+')/Microsoft.Dynamics.CRM.BooleanAttributeMetadata?$select=DisplayName,LogicalName&$expand=OptionSet($select=FalseOption,\x20TrueOption)','headers':{'Authorization':_0xf326('0xb9')+_0x5520db,'If-None-Match':null,'OData-Version':_0xf326('0xb5')},'json':!![]};return rp(_0xf390a9)[_0xf326('0x1b')](function(_0x48e7ab){var _0x2c0e5b=[];_0x2c0e5b[_0xf326('0xc2')]({'name':_0x48e7ab['OptionSet'][_0xf326('0xd4')][_0xf326('0xd1')][_0xf326('0xd3')][_0xf326('0xd1')],'value':_0xf326('0xd5')},{'name':_0x48e7ab[_0xf326('0xcf')]['FalseOption']['Label'][_0xf326('0xd3')][_0xf326('0xd1')],'value':_0xf326('0xd6')});var _0x2fa05b={'id':_0x23451e+'_'+_0x48e7ab[_0xf326('0xbb')],'name':_0x48e7ab[_0xf326('0xd7')]['UserLocalizedLabel'][_0xf326('0xd1')],'custom':![],'options':_0x2c0e5b};_0x1552b3[_0xf326('0xc2')](_0x2fa05b);return _0x1552b3;});}function getInputList(_0x44e0ac,_0x319483,_0x50d506,_0x204077,_0x160487,_0x478395,_0x342eb6){var _0x4e53f1={'method':_0xf326('0xb4'),'uri':_0x44e0ac+'EntityDefinitions('+_0x160487+')/Attributes('+_0x478395+_0xf326('0xd8')+_0x50d506+'?$select=DisplayName,LogicalName','headers':{'Authorization':_0xf326('0xb9')+_0x342eb6,'If-None-Match':null,'OData-Version':_0xf326('0xb5')},'json':!![]};return rp(_0x4e53f1)[_0xf326('0x1b')](function(_0x7ea54d){var _0x1602b7={'id':_0x319483+'_'+_0x7ea54d[_0xf326('0xbb')],'name':_0x7ea54d[_0xf326('0xd7')][_0xf326('0xd3')]?_0x7ea54d[_0xf326('0xd7')][_0xf326('0xd3')][_0xf326('0xd1')]:_0x7ea54d[_0xf326('0xbb')],'custom':![],'options':[]};_0x204077['push'](_0x1602b7);return _0x204077;});}