small fix, don't worry about it

This commit is contained in:
Tomas Dvorak
2026-04-10 12:05:40 +02:00
parent 7b7ed0083f
commit 5ab2773f98
55 changed files with 3240 additions and 483 deletions
+37 -6
View File
@@ -1,17 +1,35 @@
import 'package:supabase_flutter/supabase_flutter.dart';
import 'package:supabase_flutter/supabase_flutter.dart' as supabase;
void initializeSupabaseClient() {
// Additional client setup if needed
// For now, we use the default Supabase.instance.client
}
SupabaseClient get supabaseClient => Supabase.instance.client;
supabase.SupabaseClient? get supabaseClient {
try {
return supabase.Supabase.instance.client;
} catch (e) {
// Supabase not initialized
return null;
}
}
bool get isSupabaseInitialized => supabaseClient != null;
supabase.User? get currentSupabaseUser {
final client = supabaseClient;
return client?.auth.currentUser;
}
String? get currentSupabaseUserId => currentSupabaseUser?.id;
String? get currentSupabaseUserEmail => currentSupabaseUser?.email;
// Service role client for admin operations (like creating user profiles)
// This should be used server-side or with proper security measures
SupabaseClient? _serviceRoleClient;
supabase.SupabaseClient? _serviceRoleClient;
SupabaseClient getServiceRoleClient() {
supabase.SupabaseClient getServiceRoleClient() {
if (_serviceRoleClient != null) return _serviceRoleClient!;
// Note: In a production app, the service role key should be stored securely
@@ -22,12 +40,25 @@ SupabaseClient getServiceRoleClient() {
const url = String.fromEnvironment('SUPABASE_URL');
if (serviceRoleKey.isNotEmpty && url.isNotEmpty) {
_serviceRoleClient = SupabaseClient(url, serviceRoleKey);
_serviceRoleClient = supabase.SupabaseClient(url, serviceRoleKey);
return _serviceRoleClient!;
}
} catch (e) {
// Service role key not available, will use regular client
}
return supabaseClient;
final client = supabaseClient;
if (client != null) {
return client;
}
// If no client is available, throw an exception
throw Exception('Supabase client not initialized');
}
Future<void> signOutCurrentSupabaseUser() async {
final client = supabaseClient;
if (client == null) return;
await client.auth.signOut();
}