create static method

Future<FrappeOAuthClient> create({
  1. required OAuthConfig config,
})

Factory constructor to create a properly initialized client

Implementation

static Future<FrappeOAuthClient> create({required OAuthConfig config}) async {
  // Validate configuration
  _validateConfig(config);

  final networkService = NetworkService(config: config);
  final webAuthService = WebAuthService(config: config);
  final urlBuilder = UrlBuilder(config: config);

  final client = FrappeOAuthClient._(
    config: config,
    networkService: networkService,
    webAuthService: webAuthService,
    urlBuilder: urlBuilder,
  );

  // Load existing tokens if available
  await client._loadStoredTokens();

  return client;
}