3e4627b2e0d4787e2041049f00868c3dfd7d1f4a
[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 _0x7e37=['clientId','clientSecret','CloudProvider','data5','data7','modernAuthentication','access_token','POST','https://login.microsoftonline.com/','/oauth2/token','password','GET','EntityDefinitions?$select=DisplayName,EntitySetName&$filter=SchemaName\x20eq\x20\x27','Bearer\x20','value','EntityDefinitions(',')?$select=LogicalName&$expand=Attributes($select=LogicalName)','4.0','Attributes','remove','LogicalName','@odata.type','push','MetadataId','all','BooleanAttributeMetadata','forEach','StringAttributeMetadata','DoubleAttributeMetadata','IntegerAttributeMetadata','MemoAttributeMetadata','DateTimeAttributeMetadata','StatusAttributeMetadata','EntityNameAttributeMetadata','StateAttributeMetadata','DecimalAttributeMetadata','test','statusCode','error','send','Wrong\x20credentials',')/Microsoft.Dynamics.CRM.PicklistAttributeMetadata?','$select=DisplayName,LogicalName&$expand=OptionSet($select=Options)','OptionSet','Options','Label','UserLocalizedLabel','Value','DisplayName',')/Attributes(','TrueOption','true','FalseOption','false',')/Microsoft.Dynamics.CRM.','?$select=DisplayName,LogicalName','request-promise','util','lodash','api','../../mysqldb','../../components/integrations/configuration','json','offset','limit','undefined','count','set','Content-Range','update','then','destroy','end','sendStatus','name','status','index','map','Dynamics365Account','rawAttributes','type','key','model','keys','query','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','order','sort','where','pick','filter','VIRTUAL','merge','include','findAll','rows','catch','show','options','find','create','body','params','getConfigurations','findOne','Dynamics365Configuration','addConfiguration','AccountId','getSubjects','channel','Dynamics365Field','Subjects','Descriptions','slice','substring','lastIndexOf','format','getFields','ticketType','incident','Incident','PhoneCall','description','customerid','caseorigincode','phonenumber','directioncode','actualserviceunits','contactidname','contactidyominame','contractdetailidname','contractidname','createdbyexternalpartyname','createdbyexternalpartyyominame','createdbyname','createdbyyominame','createdon','createdonbehalfbyname','createdonbehalfbyyominame','customeridname','customeridtype','emailaddress','entitlementidname','entityimage_timestamp','entityimage_url','firstresponsebykpiidname','followupby','importsequencenumber','influencescore','masteridname','modifiedbyexternalpartyyominame','modifiedbyname','modifiedon','modifiedonbehalfbyname','modifiedonbehalfbyyominame','msdyn_incidenttypename','numberofchildincidents','onholdtime','owneridtype','parentcaseidname','primarycontactidname','primarycontactidyominame','productidname','resolveby','resolvebykpiidname','responsiblecontactidname','responsiblecontactidyominame','slaname','socialprofileidname','statecode','statuscode','ticketnumber','timezoneruleversionnumber','transactioncurrencyidname','traversedpath','utcconversiontimezonecode','versionnumber','concat','username','remoteUri','tenantId'];(function(_0x98a035,_0x20d0ad){var _0x496a2c=function(_0x5923ab){while(--_0x5923ab){_0x98a035['push'](_0x98a035['shift']());}};_0x496a2c(++_0x20d0ad);}(_0x7e37,0xf3));var _0x77e3=function(_0x3dd15e,_0x1f0015){_0x3dd15e=_0x3dd15e-0x0;var _0x231fd0=_0x7e37[_0x3dd15e];return _0x231fd0;};'use strict';var rp=require(_0x77e3('0x0'));var util=require(_0x77e3('0x1'));var _=require(_0x77e3('0x2'));var qs=require('../../components/parsers/qs');var logger=require('../../config/logger')(_0x77e3('0x3'));var db=require(_0x77e3('0x4'))['db'];var integrations=require(_0x77e3('0x5'));function respondWithResult(_0xdff3fb,_0x1bce95){_0x1bce95=_0x1bce95||0xc8;return function(_0x4d45df){if(_0x4d45df){return _0xdff3fb['status'](_0x1bce95)[_0x77e3('0x6')](_0x4d45df);}};}function respondWithFilteredResult(_0x111451,_0xcb6b7){return function(_0x377126){if(_0x377126){var _0x3cedb1=typeof _0xcb6b7[_0x77e3('0x7')]==='undefined'&&typeof _0xcb6b7[_0x77e3('0x8')]===_0x77e3('0x9');var _0x3b9b35=_0x377126['count'];var _0x3b0237=_0x3cedb1?0x0:_0xcb6b7[_0x77e3('0x7')];var _0x376ebe=_0x3cedb1?_0x377126[_0x77e3('0xa')]:_0xcb6b7[_0x77e3('0x7')]+_0xcb6b7[_0x77e3('0x8')];var _0x44ee78;if(_0x376ebe>=_0x3b9b35){_0x376ebe=_0x3b9b35;_0x44ee78=0xc8;}else{_0x44ee78=0xce;}_0x111451['status'](_0x44ee78);return _0x111451[_0x77e3('0xb')](_0x77e3('0xc'),_0x3b0237+'-'+_0x376ebe+'/'+_0x3b9b35)[_0x77e3('0x6')](_0x377126);}return null;};}function saveUpdates(_0x550a28){return function(_0x36896b){if(_0x36896b){return _0x36896b[_0x77e3('0xd')](_0x550a28)[_0x77e3('0xe')](function(_0x18e9e7){return _0x18e9e7;});}return null;};}function removeEntity(_0x435d88){return function(_0x10d6ae){if(_0x10d6ae){return _0x10d6ae[_0x77e3('0xf')]()['then'](function(){_0x435d88['status'](0xcc)[_0x77e3('0x10')]();});}};}function handleEntityNotFound(_0x4a0f08){return function(_0x57bf98){if(!_0x57bf98){_0x4a0f08[_0x77e3('0x11')](0x194);}return _0x57bf98;};}function handleError(_0x174ea6,_0x254127){_0x254127=_0x254127||0x1f4;return function(_0x3d2090){logger['error'](_0x3d2090['stack']);if(_0x3d2090[_0x77e3('0x12')]){delete _0x3d2090[_0x77e3('0x12')];}_0x174ea6[_0x77e3('0x13')](_0x254127)['send'](_0x3d2090);};}exports[_0x77e3('0x14')]=function(_0x14545c,_0x30cd7b){var _0x1ad280={},_0x37aec5={},_0x4311d1={'count':0x0,'rows':[]};var _0x3f3562=_[_0x77e3('0x15')](db[_0x77e3('0x16')][_0x77e3('0x17')],function(_0x257cbd){return{'name':_0x257cbd['fieldName'],'type':_0x257cbd[_0x77e3('0x18')][_0x77e3('0x19')]};});_0x37aec5[_0x77e3('0x1a')]=_[_0x77e3('0x15')](_0x3f3562,'name');_0x37aec5['query']=_[_0x77e3('0x1b')](_0x14545c[_0x77e3('0x1c')]);_0x37aec5[_0x77e3('0x1d')]=_[_0x77e3('0x1e')](_0x37aec5[_0x77e3('0x1a')],_0x37aec5['query']);_0x1ad280[_0x77e3('0x1f')]=_[_0x77e3('0x1e')](_0x37aec5[_0x77e3('0x1a')],qs[_0x77e3('0x20')](_0x14545c[_0x77e3('0x1c')][_0x77e3('0x20')]));_0x1ad280[_0x77e3('0x1f')]=_0x1ad280[_0x77e3('0x1f')][_0x77e3('0x21')]?_0x1ad280[_0x77e3('0x1f')]:_0x37aec5[_0x77e3('0x1a')];if(!_0x14545c[_0x77e3('0x1c')][_0x77e3('0x22')](_0x77e3('0x23'))){_0x1ad280[_0x77e3('0x8')]=qs[_0x77e3('0x8')](_0x14545c[_0x77e3('0x1c')]['limit']);_0x1ad280[_0x77e3('0x7')]=qs[_0x77e3('0x7')](_0x14545c[_0x77e3('0x1c')]['offset']);}_0x1ad280[_0x77e3('0x24')]=qs['sort'](_0x14545c[_0x77e3('0x1c')][_0x77e3('0x25')]);_0x1ad280[_0x77e3('0x26')]=qs[_0x77e3('0x1d')](_[_0x77e3('0x27')](_0x14545c[_0x77e3('0x1c')],_0x37aec5[_0x77e3('0x1d')]),_0x3f3562);if(_0x14545c[_0x77e3('0x1c')][_0x77e3('0x28')]){_0x1ad280[_0x77e3('0x26')]=_['merge'](_0x1ad280[_0x77e3('0x26')],{'$or':_[_0x77e3('0x15')](_0x3f3562,function(_0x13ca2c){if(_0x13ca2c['type']!==_0x77e3('0x29')){var _0x390413={};_0x390413[_0x13ca2c[_0x77e3('0x12')]]={'$like':'%'+_0x14545c['query']['filter']+'%'};return _0x390413;}})});}_0x1ad280=_[_0x77e3('0x2a')]({},_0x1ad280,_0x14545c['options']);var _0x3ad242={'where':_0x1ad280[_0x77e3('0x26')]};return db['Dynamics365Account'][_0x77e3('0xa')](_0x3ad242)[_0x77e3('0xe')](function(_0x2e8dc0){_0x4311d1[_0x77e3('0xa')]=_0x2e8dc0;if(_0x14545c[_0x77e3('0x1c')]['includeAll']){_0x1ad280[_0x77e3('0x2b')]=[{'all':!![]}];}return db[_0x77e3('0x16')][_0x77e3('0x2c')](_0x1ad280);})[_0x77e3('0xe')](function(_0x1ba4eb){_0x4311d1[_0x77e3('0x2d')]=_0x1ba4eb;return _0x4311d1;})[_0x77e3('0xe')](respondWithFilteredResult(_0x30cd7b,_0x1ad280))[_0x77e3('0x2e')](handleError(_0x30cd7b,null));};exports[_0x77e3('0x2f')]=function(_0x3ee77e,_0x26d1f9){var _0x3fce1a={'raw':![],'where':{'id':_0x3ee77e['params']['id']}},_0x356790={};_0x356790[_0x77e3('0x1a')]=_['keys'](db[_0x77e3('0x16')][_0x77e3('0x17')]);_0x356790['query']=_[_0x77e3('0x1b')](_0x3ee77e[_0x77e3('0x1c')]);_0x356790[_0x77e3('0x1d')]=_[_0x77e3('0x1e')](_0x356790[_0x77e3('0x1a')],_0x356790[_0x77e3('0x1c')]);_0x3fce1a['attributes']=_[_0x77e3('0x1e')](_0x356790[_0x77e3('0x1a')],qs[_0x77e3('0x20')](_0x3ee77e[_0x77e3('0x1c')]['fields']));_0x3fce1a[_0x77e3('0x1f')]=_0x3fce1a[_0x77e3('0x1f')][_0x77e3('0x21')]?_0x3fce1a[_0x77e3('0x1f')]:_0x356790['model'];if(_0x3ee77e['query']['includeAll']){_0x3fce1a[_0x77e3('0x2b')]=[{'all':!![]}];}_0x3fce1a=_['merge']({},_0x3fce1a,_0x3ee77e[_0x77e3('0x30')]);return db['Dynamics365Account'][_0x77e3('0x31')](_0x3fce1a)[_0x77e3('0xe')](handleEntityNotFound(_0x26d1f9,null))[_0x77e3('0xe')](respondWithResult(_0x26d1f9,null))['catch'](handleError(_0x26d1f9,null));};exports[_0x77e3('0x32')]=function(_0x5a9edb,_0x425e14){return db['Dynamics365Account'][_0x77e3('0x32')](_0x5a9edb['body'],{})[_0x77e3('0xe')](respondWithResult(_0x425e14,0xc9))[_0x77e3('0x2e')](handleError(_0x425e14,null));};exports[_0x77e3('0xd')]=function(_0x4f44ad,_0x107cf7){if(_0x4f44ad['body']['id']){delete _0x4f44ad[_0x77e3('0x33')]['id'];}return db['Dynamics365Account']['find']({'where':{'id':_0x4f44ad[_0x77e3('0x34')]['id']}})['then'](handleEntityNotFound(_0x107cf7,null))[_0x77e3('0xe')](saveUpdates(_0x4f44ad['body'],null))[_0x77e3('0xe')](respondWithResult(_0x107cf7,null))[_0x77e3('0x2e')](handleError(_0x107cf7,null));};exports[_0x77e3('0xf')]=function(_0x252116,_0x99e778){return db[_0x77e3('0x16')][_0x77e3('0x31')]({'where':{'id':_0x252116[_0x77e3('0x34')]['id']}})[_0x77e3('0xe')](handleEntityNotFound(_0x99e778,null))[_0x77e3('0xe')](removeEntity(_0x99e778,null))[_0x77e3('0x2e')](handleError(_0x99e778,null));};exports[_0x77e3('0x35')]=function(_0x5b0278,_0x268991){var _0x42c3c4={};var _0x4cd73a={};var _0x292f0f;var _0x778572;return db[_0x77e3('0x16')][_0x77e3('0x36')]({'where':{'id':_0x5b0278[_0x77e3('0x34')]['id']}})['then'](handleEntityNotFound(_0x268991,null))[_0x77e3('0xe')](function(_0x44e835){if(_0x44e835){_0x292f0f=_0x44e835;_0x4cd73a['model']=_['keys'](db[_0x77e3('0x37')][_0x77e3('0x17')]);_0x4cd73a[_0x77e3('0x1c')]=_['keys'](_0x5b0278[_0x77e3('0x1c')]);_0x4cd73a[_0x77e3('0x1d')]=_[_0x77e3('0x1e')](_0x4cd73a['model'],_0x4cd73a[_0x77e3('0x1c')]);_0x42c3c4[_0x77e3('0x1f')]=_[_0x77e3('0x1e')](_0x4cd73a[_0x77e3('0x1a')],qs[_0x77e3('0x20')](_0x5b0278[_0x77e3('0x1c')]['fields']));_0x42c3c4[_0x77e3('0x1f')]=_0x42c3c4[_0x77e3('0x1f')][_0x77e3('0x21')]?_0x42c3c4['attributes']:_0x4cd73a[_0x77e3('0x1a')];_0x42c3c4['order']=qs[_0x77e3('0x25')](_0x5b0278[_0x77e3('0x1c')]['sort']);_0x42c3c4[_0x77e3('0x26')]=qs['filters'](_[_0x77e3('0x27')](_0x5b0278[_0x77e3('0x1c')],_0x4cd73a[_0x77e3('0x1d')]));if(_0x5b0278[_0x77e3('0x1c')][_0x77e3('0x28')]){_0x42c3c4[_0x77e3('0x26')]=_['merge'](_0x42c3c4[_0x77e3('0x26')],{'$or':_[_0x77e3('0x15')](_0x42c3c4[_0x77e3('0x1f')],function(_0xf26fb0){var _0x1977e5={};_0x1977e5[_0xf26fb0]={'$like':'%'+_0x5b0278[_0x77e3('0x1c')][_0x77e3('0x28')]+'%'};return _0x1977e5;})});}_0x42c3c4=_[_0x77e3('0x2a')]({},_0x42c3c4,_0x5b0278[_0x77e3('0x30')]);return _0x292f0f[_0x77e3('0x35')](_0x42c3c4);}})[_0x77e3('0xe')](function(_0x9e9c04){if(_0x9e9c04){_0x778572=_0x9e9c04[_0x77e3('0x21')];if(!_0x5b0278[_0x77e3('0x1c')][_0x77e3('0x22')](_0x77e3('0x23'))){_0x42c3c4[_0x77e3('0x8')]=qs[_0x77e3('0x8')](_0x5b0278[_0x77e3('0x1c')]['limit']);_0x42c3c4[_0x77e3('0x7')]=qs[_0x77e3('0x7')](_0x5b0278[_0x77e3('0x1c')][_0x77e3('0x7')]);}return _0x292f0f[_0x77e3('0x35')](_0x42c3c4);}})[_0x77e3('0xe')](function(_0x33a84b){if(_0x33a84b){return _0x33a84b?{'count':_0x778572,'rows':_0x33a84b}:null;}})['then'](respondWithResult(_0x268991,null))['catch'](handleError(_0x268991,null));};exports[_0x77e3('0x38')]=function(_0x33235e,_0x5933a6){if(_0x33235e[_0x77e3('0x33')]['id']){delete _0x33235e[_0x77e3('0x33')]['id'];}return db[_0x77e3('0x16')]['findOne']({'where':{'id':_0x33235e[_0x77e3('0x34')]['id']}})[_0x77e3('0xe')](handleEntityNotFound(_0x5933a6,null))['then'](function(_0x28b6a5){if(_0x28b6a5){_0x33235e[_0x77e3('0x33')][_0x77e3('0x39')]=_0x28b6a5['id'];_0x33235e['body']['Subjects']=integrations[_0x77e3('0x3a')](_0x33235e['body'][_0x77e3('0x3b')],_0x33235e[_0x77e3('0x33')][_0x77e3('0x18')]);_0x33235e[_0x77e3('0x33')]['Descriptions']=integrations['getDescriptions'](_0x33235e['body'][_0x77e3('0x3b')],_0x33235e[_0x77e3('0x33')][_0x77e3('0x18')]);return db[_0x77e3('0x37')]['create'](_0x33235e[_0x77e3('0x33')],{'include':[{'model':db[_0x77e3('0x3c')],'as':_0x77e3('0x3d')},{'model':db['Dynamics365Field'],'as':_0x77e3('0x3e')}]});}return null;})[_0x77e3('0xe')](respondWithResult(_0x5933a6,null))[_0x77e3('0x2e')](handleError(_0x5933a6,null));};function sanitizeRemoteUri(_0x16db07){var _0x45cf7a=_0x16db07[_0x77e3('0x3f')](-0x1);if(_0x45cf7a==='/')return _0x16db07[_0x77e3('0x40')](0x0,_0x16db07[_0x77e3('0x41')](_0x45cf7a));return _0x16db07;}function getWebApiUrl(_0x3a07fd){return util[_0x77e3('0x42')]('%s/api/data/v9.0/',_0x3a07fd);}exports[_0x77e3('0x43')]=function(_0x17a5e9,_0xf5daa4){var _0x224456=_0x17a5e9[_0x77e3('0x1c')][_0x77e3('0x44')];var _0xf31ed7=_0x224456===_0x77e3('0x45')?_0x77e3('0x46'):_0x77e3('0x47');var _0x173ff5='';var _0x3ca514='';var _0x566b3d='';var _0x2c6c3b='';var _0x29644a='';var _0xb15e9='';var _0xafc8d='';var _0x59cf86='';var _0x24d384=['title',_0x77e3('0x48'),_0x77e3('0x49'),'ownerid',_0x77e3('0x4a'),'subject',_0x77e3('0x4b'),'regardingobjectid',_0x77e3('0x4c'),'phonecall_activity_parties'];var _0x3765a3=['accountidname','accountidyominame',_0x77e3('0x4d'),'billedserviceunits',_0x77e3('0x4e'),_0x77e3('0x4f'),_0x77e3('0x50'),_0x77e3('0x51'),_0x77e3('0x52'),_0x77e3('0x53'),_0x77e3('0x54'),_0x77e3('0x55'),_0x77e3('0x56'),_0x77e3('0x57'),_0x77e3('0x58'),_0x77e3('0x59'),_0x77e3('0x5a'),'customeridyominame',_0x77e3('0x5b'),_0x77e3('0x5c'),_0x77e3('0x5d'),_0x77e3('0x5e'),'escalatedon','exchangerate',_0x77e3('0x5f'),_0x77e3('0x60'),_0x77e3('0x61'),_0x77e3('0x62'),'kbarticleidname','lastonholdtime',_0x77e3('0x63'),'modifiedbyexternalpartyname',_0x77e3('0x64'),_0x77e3('0x65'),'modifiedbyyominame',_0x77e3('0x66'),_0x77e3('0x67'),_0x77e3('0x68'),_0x77e3('0x69'),'msdyn_iotalertname',_0x77e3('0x6a'),_0x77e3('0x6b'),'overriddencreatedon','owneridname',_0x77e3('0x6c'),'owneridyominame',_0x77e3('0x6d'),_0x77e3('0x6e'),_0x77e3('0x6f'),'prioritycodename',_0x77e3('0x70'),'productserialnumber',_0x77e3('0x71'),_0x77e3('0x72'),'responseby',_0x77e3('0x73'),_0x77e3('0x74'),'sentimentvalue','slainvokedidname',_0x77e3('0x75'),_0x77e3('0x76'),_0x77e3('0x77'),_0x77e3('0x78'),'subjectidname',_0x77e3('0x79'),_0x77e3('0x7a'),_0x77e3('0x7b'),_0x77e3('0x7c'),_0x77e3('0x7d'),_0x77e3('0x7e')];var _0x590dfc=_0x24d384[_0x77e3('0x7f')](_0x3765a3);return db[_0x77e3('0x16')][_0x77e3('0x36')]({'where':{'id':_0x17a5e9[_0x77e3('0x34')]['id']},'attributes':['id',_0x77e3('0x80'),'password',_0x77e3('0x81'),_0x77e3('0x82'),_0x77e3('0x83'),_0x77e3('0x84'),'modernAuthentication'],'include':[{'model':db['CloudProvider'],'as':_0x77e3('0x85'),'attributes':['id',_0x77e3('0x86'),_0x77e3('0x87')]}]})['then'](handleEntityNotFound(_0xf5daa4,null))[_0x77e3('0xe')](function(_0x334113){if(_0x334113){if(_0x334113[_0x77e3('0x88')]){_0x334113[_0x77e3('0x89')]=_0x334113[_0x77e3('0x85')][_0x77e3('0x86')];_0x59cf86=sanitizeRemoteUri(_0x334113[_0x77e3('0x85')][_0x77e3('0x87')]);_0xafc8d=getWebApiUrl(_0x59cf86);return _0x334113;}_0x59cf86=sanitizeRemoteUri(_0x334113['remoteUri']);_0xafc8d=getWebApiUrl(_0x59cf86);var _0x23ad7d={'method':_0x77e3('0x8a'),'uri':_0x77e3('0x8b')+_0x334113['tenantId']+_0x77e3('0x8c'),'form':{'client_id':_0x334113[_0x77e3('0x83')],'resource':_0x59cf86,'username':_0x334113[_0x77e3('0x80')],'password':_0x334113[_0x77e3('0x8d')],'grant_type':_0x77e3('0x8d'),'client_secret':_0x334113[_0x77e3('0x84')]},'json':!![]};return rp(_0x23ad7d);}})[_0x77e3('0xe')](function(_0x46d91f){_0xb15e9=_0x46d91f[_0x77e3('0x89')];var _0x5139fa={'method':_0x77e3('0x8e'),'uri':encodeURI(_0xafc8d+_0x77e3('0x8f')+_0xf31ed7+'\x27'),'headers':{'Authorization':_0x77e3('0x90')+_0xb15e9,'If-None-Match':null,'OData-Version':'4.0'},'json':!![]};return rp(_0x5139fa);})[_0x77e3('0xe')](function(_0x440e5c){var _0x5597ab=_0x440e5c[_0x77e3('0x91')][0x0];var _0x3bc00b=_0x5597ab['MetadataId'];var _0x54389f={'method':_0x77e3('0x8e'),'uri':_0xafc8d+_0x77e3('0x92')+_0x3bc00b+_0x77e3('0x93'),'headers':{'Authorization':_0x77e3('0x90')+_0xb15e9,'If-None-Match':null,'OData-Version':_0x77e3('0x94')},'json':!![]};return rp(_0x54389f);})[_0x77e3('0xe')](function(_0x3298e9){_0x173ff5=_0x3298e9;_0x3ca514=_0x173ff5[_0x77e3('0x95')];_0x3ca514=_[_0x77e3('0x96')](_0x3ca514,function(_0x1c52ff){return!_0x590dfc['includes'](_0x1c52ff[_0x77e3('0x97')]);});var _0x132dcc=[];var _0x51ce06=[];_0x3ca514['forEach'](function(_0x41d43c){if(_0x41d43c[_0x77e3('0x98')]){var _0x1332c7=_0x41d43c[_0x77e3('0x98')][_0x77e3('0x40')](_0x41d43c['@odata.type'][_0x77e3('0x41')]('.')+0x1);if(_0x1332c7==='PicklistAttributeMetadata'){_0x132dcc[_0x77e3('0x99')](getSelectList(_0xafc8d,_0x224456,_0x51ce06,_0x173ff5['MetadataId'],_0x41d43c[_0x77e3('0x9a')],_0xb15e9));}}});return Promise[_0x77e3('0x9b')](_0x132dcc);})[_0x77e3('0xe')](function(_0x13e058){_0x566b3d=_0x13e058[0x0];var _0x51708e=[];var _0x3c6e7f=[];_0x3ca514['forEach'](function(_0x1349aa){if(!_['isNil'](_0x1349aa[_0x77e3('0x98')])){var _0x4f1bdd=_0x1349aa[_0x77e3('0x98')][_0x77e3('0x40')](_0x1349aa[_0x77e3('0x98')][_0x77e3('0x41')]('.')+0x1);if(_0x4f1bdd===_0x77e3('0x9c')){_0x51708e['push'](getBooleanList(_0xafc8d,_0x224456,_0x3c6e7f,_0x173ff5[_0x77e3('0x9a')],_0x1349aa[_0x77e3('0x9a')],_0xb15e9));}}});return Promise[_0x77e3('0x9b')](_0x51708e);})[_0x77e3('0xe')](function(_0x50b4cb){_0x2c6c3b=_0x50b4cb[0x0];var _0x469374=[];var _0x3f5c53=[];_0x3ca514[_0x77e3('0x9d')](function(_0x325448){if(_0x325448[_0x77e3('0x98')]){var _0x54d997=_0x325448['@odata.type']['substring'](_0x325448[_0x77e3('0x98')][_0x77e3('0x41')]('.')+0x1);if(_0x54d997===_0x77e3('0x9e')||_0x54d997===_0x77e3('0x9f')||_0x54d997==='BigIntAttributeMetadata'||_0x54d997===_0x77e3('0xa0')||_0x54d997===_0x77e3('0xa1')||_0x54d997===_0x77e3('0xa2')||_0x54d997===_0x77e3('0xa3')||_0x54d997===_0x77e3('0xa4')||_0x54d997===_0x77e3('0xa5')||_0x54d997===_0x77e3('0xa6')){_0x469374['push'](getInputList(_0xafc8d,_0x224456,_0x54d997,_0x3f5c53,_0x173ff5[_0x77e3('0x9a')],_0x325448[_0x77e3('0x9a')],_0xb15e9));}}});return Promise[_0x77e3('0x9b')](_0x469374);})['then'](function(_0x20627f){_0x29644a=_0x20627f[0x0];var _0x7e8cc9=_0x566b3d[_0x77e3('0x7f')](_0x2c6c3b)[_0x77e3('0x7f')](_0x29644a);var _0x1546e2={'count':_0x7e8cc9[_0x77e3('0x21')],'rows':_0x7e8cc9};return _0x1546e2;})['then'](respondWithResult(_0xf5daa4,null))[_0x77e3('0x2e')](function(_0x37fabc){var _0x4d244f=_0x17a5e9['query'][_0x77e3('0xa7')]?0x1f4:_0x37fabc[_0x77e3('0xa8')]||0x1f4;logger[_0x77e3('0xa9')](_0x37fabc['stack']);delete _0x37fabc['name'];if(_0x4d244f===0x191){_0x4d244f=0x190;}_0xf5daa4[_0x77e3('0x13')](_0x4d244f)[_0x77e3('0xaa')](_0x17a5e9[_0x77e3('0x1c')]['test']?{'message':_0x77e3('0xab'),'statusCode':_0x37fabc['statusCode']}:_0x37fabc);});};function getSelectList(_0x435f52,_0x586249,_0x5e8de4,_0x286df0,_0x5275e3,_0x48662f){var _0x3bb1fc={'method':_0x77e3('0x8e'),'uri':_0x435f52+_0x77e3('0x92')+_0x286df0+')/Attributes('+_0x5275e3+_0x77e3('0xac')+_0x77e3('0xad'),'headers':{'Authorization':_0x77e3('0x90')+_0x48662f,'If-None-Match':null,'OData-Version':'4.0'},'json':!![]};return rp(_0x3bb1fc)[_0x77e3('0xe')](function(_0x36cc91){var _0x388126=[];var _0x5b3b8f=_0x36cc91[_0x77e3('0xae')][_0x77e3('0xaf')];_0x5b3b8f[_0x77e3('0x9d')](function(_0x45aa1c){_0x388126[_0x77e3('0x99')]({'name':_0x45aa1c[_0x77e3('0xb0')][_0x77e3('0xb1')]['Label'],'value':String(_0x45aa1c[_0x77e3('0xb2')])});});var _0x22e844={'id':_0x586249+'_'+_0x36cc91['LogicalName'],'name':_0x36cc91[_0x77e3('0xb3')][_0x77e3('0xb1')][_0x77e3('0xb0')],'custom':![],'options':_0x388126};_0x5e8de4[_0x77e3('0x99')](_0x22e844);return _0x5e8de4;});}function getBooleanList(_0x4d09ca,_0xbb88cf,_0x3c67e8,_0x3956b3,_0x46e849,_0x89b235){var _0x4afc21={'method':_0x77e3('0x8e'),'uri':_0x4d09ca+_0x77e3('0x92')+_0x3956b3+_0x77e3('0xb4')+_0x46e849+')/Microsoft.Dynamics.CRM.BooleanAttributeMetadata?$select=DisplayName,LogicalName&$expand=OptionSet($select=FalseOption,\x20TrueOption)','headers':{'Authorization':_0x77e3('0x90')+_0x89b235,'If-None-Match':null,'OData-Version':_0x77e3('0x94')},'json':!![]};return rp(_0x4afc21)[_0x77e3('0xe')](function(_0x4f2bec){var _0x4a0868=[];_0x4a0868[_0x77e3('0x99')]({'name':_0x4f2bec[_0x77e3('0xae')][_0x77e3('0xb5')][_0x77e3('0xb0')][_0x77e3('0xb1')][_0x77e3('0xb0')],'value':_0x77e3('0xb6')},{'name':_0x4f2bec['OptionSet'][_0x77e3('0xb7')][_0x77e3('0xb0')]['UserLocalizedLabel'][_0x77e3('0xb0')],'value':_0x77e3('0xb8')});var _0x113b6c={'id':_0xbb88cf+'_'+_0x4f2bec['LogicalName'],'name':_0x4f2bec[_0x77e3('0xb3')][_0x77e3('0xb1')][_0x77e3('0xb0')],'custom':![],'options':_0x4a0868};_0x3c67e8[_0x77e3('0x99')](_0x113b6c);return _0x3c67e8;});}function getInputList(_0x14465a,_0x313c46,_0x5d9aae,_0x13de4a,_0xa644a2,_0x59e1a4,_0x5be403){var _0x3fc419={'method':_0x77e3('0x8e'),'uri':_0x14465a+_0x77e3('0x92')+_0xa644a2+_0x77e3('0xb4')+_0x59e1a4+_0x77e3('0xb9')+_0x5d9aae+_0x77e3('0xba'),'headers':{'Authorization':_0x77e3('0x90')+_0x5be403,'If-None-Match':null,'OData-Version':_0x77e3('0x94')},'json':!![]};return rp(_0x3fc419)[_0x77e3('0xe')](function(_0x33d026){var _0x172719={'id':_0x313c46+'_'+_0x33d026['LogicalName'],'name':_0x33d026[_0x77e3('0xb3')][_0x77e3('0xb1')]?_0x33d026[_0x77e3('0xb3')][_0x77e3('0xb1')][_0x77e3('0xb0')]:_0x33d026[_0x77e3('0x97')],'custom':![],'options':[]};_0x13de4a[_0x77e3('0x99')](_0x172719);return _0x13de4a;});}