loadSupabaseUrls function

List<String> loadSupabaseUrls()

Implementation

List<String> loadSupabaseUrls() {
  final urlsEnv = getEnv('STUDYU_SUPABASE_URLS');
  // Deprecated: Use STUDYU_SUPABASE_URLS instead
  // Will be removed in future versions
  final urlEnv = getEnv('STUDYU_SUPABASE_URL', optional: true);

  List<String> urls = [];

  if (urlsEnv != null && urlsEnv.isNotEmpty) {
    urls = urlsEnv
        .split(',')
        .map((u) => u.trim())
        .where((u) => u.isNotEmpty)
        .toList();
  }

  if (urls.isEmpty) {
    if (urlEnv == null || urlEnv.isEmpty) {
      throw Exception(
        'No STUDYU_SUPABASE_URLS or STUDYU_SUPABASE_URL environment variable found',
      );
    }
    debugPrint(
      '⚠️ Warning: Using deprecated STUDYU_SUPABASE_URL environment variable. Please migrate to STUDYU_SUPABASE_URLS.',
    );
    urls = [urlEnv.trim()];
  } else if (urlEnv != null && urlEnv.isNotEmpty) {
    // include STUDYU_SUPABASE_URL if it's not already in STUDYU_SUPABASE_URLS
    final trimmed = urlEnv.trim();
    if (!urls.contains(trimmed)) {
      urls.add(trimmed);
    }
  }

  return urls;
}