fetchProfileInfo function
Future<({String? accountCreatedAt, String? billingType, String? displayName, bool? hasExtraUsageEnabled, RateLimitTier? rateLimitTier, OAuthProfileResponse? rawProfile, String? subscriptionCreatedAt, SubscriptionType? subscriptionType})?>
fetchProfileInfo({
- required String accessToken,
- HttpClient? httpClient,
Fetch profile info and extract subscription details.
Implementation
Future<
({
SubscriptionType? subscriptionType,
String? displayName,
RateLimitTier? rateLimitTier,
bool? hasExtraUsageEnabled,
String? billingType,
String? accountCreatedAt,
String? subscriptionCreatedAt,
OAuthProfileResponse? rawProfile,
})?
>
fetchProfileInfo({required String accessToken, HttpClient? httpClient}) async {
final profile = await fetchOAuthProfile(
accessToken: accessToken,
httpClient: httpClient,
);
if (profile == null) return null;
final orgType = profile.organization.organizationType;
final subscriptionType = subscriptionTypeFromOrgType(orgType);
return (
subscriptionType: subscriptionType,
displayName: profile.account.displayName,
rateLimitTier: profile.organization.rateLimitTier,
hasExtraUsageEnabled: profile.organization.hasExtraUsageEnabled,
billingType: profile.organization.billingType,
accountCreatedAt: profile.account.createdAt,
subscriptionCreatedAt: profile.organization.subscriptionCreatedAt,
rawProfile: profile,
);
}