multi_role_auth library

Reusable multi-role auth logic (Supabase-backed): bloc/cubit, domain entities/usecases, repository, and Supabase wiring. Deliberately has no UI - screens stay app-owned so they can look completely different per host app.

Classes

AppUserCubit
AppUserInitial
AppUserLoggedIn
AppUserState
AuthBloc
AuthDeleteAccount
AuthEvent
AuthFailure
AuthInitial
AuthIsUserLoggedIn
AuthLoading
AuthLogin
AuthLogout
AuthRemoteDataSource
AuthRemoteDataSourceImpl
AuthRepository
AuthRepositoryImpl
AuthSignup
AuthState
AuthSuccess
CurrentUser
DeleteAccount
SendPasswordResetEmail
Sends a password-reset email to the given address (the String param).
SupabaseSchema
Table/column names for the Supabase user_profiles table used by the auth flow. Change these in one place when reusing the auth module in a project with a differently-named schema — no need to hunt through individual data/service files for hardcoded strings.
UserLogin
UserLoginParams
UserModel
UserProfile
UserSignOut
UserSignUp
UserSignUpParams

Enums

UserRole
user_role.dart

Extensions

UserRoleExtension on UserRole