getCoreUserData method
Get core user data.
Implementation
CoreUserData getCoreUserData({bool includeAnalyticsMetadata = false}) {
if (_cachedCoreUserData != null && !includeAnalyticsMetadata) {
return _cachedCoreUserData!;
}
String? subscriptionType;
String? rateLimitTier;
int? firstTokenTime;
if (includeAnalyticsMetadata) {
subscriptionType = _getSubscriptionType?.call();
rateLimitTier = _getRateLimitTier?.call();
}
final oauthAccount = _getOAuthAccountInfo?.call();
final data = CoreUserData(
deviceId: deviceId,
sessionId: sessionId,
email: _getEmail(),
appVersion: appVersion,
platform: platform,
organizationUuid: oauthAccount?.organizationUuid,
accountUuid: oauthAccount?.accountUuid,
userType: userType,
subscriptionType: subscriptionType,
rateLimitTier: rateLimitTier,
firstTokenTime: firstTokenTime,
);
if (!includeAnalyticsMetadata) {
_cachedCoreUserData = data;
}
return data;
}