autoJoin function

  1. @riverpod
Future<void> autoJoin(
  1. Ref<Object?> ref
)

Auto-joins organizations by email domain on sign-in.

Implementation

@riverpod
Future<void> autoJoin(Ref ref) async {
  final authState = ref.watch(authStateProvider);
  final state = authState.valueOrNull;
  if (state == null) return;
  if (state.event != AuthChangeEvent.signedIn) return;

  final email = state.session?.user.email;
  if (email == null || email.isEmpty) return;

  try {
    final ds = OrgDatasource(Supabase.instance.client);
    await ds.autoJoinByDomain(email);
  } catch (_) {
    // Auto-join is best-effort; don't block sign-in
  }
}