supa_architecture
library
Classes
-
AbstractIdFilter<T>
-
This class defines filter operations for ID (primary key, foreign key) fields
that is in int type
-
AbstractNumberFilter<T>
-
This class defines filter operations for all Dart"s number types
(including int, double or generic num)
-
AdminType
-
This class is used to represent the admin type.
This can be used as a EnumModel.
-
AdminTypeFilter
-
This class is used to represent the admin type filter.
This is just a wrapper for the EnumModelFilter.
-
ApiClient
-
A comprehensive API client for handling HTTP requests, file uploads, and downloads.
-
AppImage
-
A widget that displays an image from a file or URL path with automatic
authentication and fallback placeholder support.
-
AppUser
-
A class representing an application user.
-
AppUserFilter
-
A class representing a filter for application users.
-
AppUserGroup
-
-
AppUserGroupFilter
-
-
AppUserInfo
-
-
AppUserSite
-
-
AppUserSubSystemMapping
-
-
AppUserSwitchEmailEvent
-
Toggles the user's email notification preference.
-
AppUserSwitchNotificationEvent
-
Toggles the user's push notification preference.
-
Attachment
-
An abstract class representing an attachment model.
-
AuthenticationBloc
-
Manages user authentication flows and state transitions.
-
AuthenticationErrorEvent
-
Reports an authentication error.
-
AuthenticationErrorState
-
State representing an authentication error.
-
AuthenticationEvent
-
Base class for all authentication-related events.
-
AuthenticationInitializeEvent
-
Initializes the authentication flow and resets to the login screen.
-
AuthenticationInitialState
-
Initial state before any authentication has been attempted.
-
AuthenticationLogoutState
-
State indicating the user has logged out.
-
AuthenticationProcessingEvent
-
Indicates that an authentication action is currently being processed.
-
AuthenticationProcessingState
-
State indicating an authentication operation is in progress.
-
AuthenticationState
-
Base class for all authentication states.
-
BaseRepository<T extends JsonModel, TFilter extends DataFilter>
-
An abstract class that extends ApiClient to provide base CRUD operations
for repositories.
-
CaptureException
-
Manually captures and reports an exception.
-
CarbonButton
-
A stateless widget that represents a button with an optional loading indicator,
icon, and expandable feature.
-
ChangePasswordForm
-
A reactive form for changing a user's password.
-
-
ConfirmationDialog
-
A customizable confirmation dialog widget with icon, title, content, and action buttons.
-
CurrentTenant
-
-
DataFilter
-
Base class for creating data filters.
-
DateFilter
-
This class defines filter operations for DateTime type
-
DateTimeFormatsVN
-
Constants for formatting dates and times in the Vietnamese locale.
-
DateType
-
-
DidMountedCheckInitialMessage
-
Event to check for notifications that launched the app.
-
DidReceivedDataOnlyNotificationEvent
-
Event triggered when a data-only FCM message is received in the foreground.
-
DidReceivedNotificationEvent
-
Event triggered when a push notification is received in the foreground.
-
DidResetNotificationEvent
-
Event to reset notification state to initial.
-
DidUserOpenedDataOnlyNotificationEvent
-
Event triggered when user opens a data-only FCM message.
-
DidUserOpenedNotificationEvent
-
Event triggered when user taps on a notification.
-
DioImageProvider
-
A custom ImageProvider implementation that uses
Dio to fetch images from network URLs
with automatic fallback to a local asset image when network requests fail.
-
Discussion
-
-
DiscussionFilter
-
-
DoubleFilter
-
A filter class for double fields.
-
EmptyComponent
-
A widget that displays an empty state with an image, title, and optional subtitle.
-
EntityDetailNavigator<T>
-
An abstract navigator for handling navigation to entity detail pages.
-
EnumModel
-
A class representing an enumerated model.
-
EnumModelFilter
-
-
EnumStatusBadge
-
A badge widget that displays status information from an EnumModel.
-
ErrorCaptured
-
State indicating an error has been successfully captured and reported.
-
ErrorHandlingBloc
-
Bloc that handles error capturing and reporting to Firebase Crashlytics and Sentry.
-
ErrorHandlingEvent
-
Base class for all error handling events.
-
ErrorHandlingFailed
-
State indicating error capture or reporting failed.
-
ErrorHandlingInitial
-
Initial state before error handling has been initialized.
-
ErrorHandlingInitialized
-
State indicating error handling systems have been configured.
-
ErrorHandlingState
-
Base class for all error handling states.
-
FieldLabel
-
A stateless widget that displays a field label.
-
File
-
A class representing a file model.
-
FileFilter
-
A class representing a filter for files.
-
FileHandler
-
A platform-agnostic service for downloading and opening files.
-
FileService
-
A service class for handling file-related operations.
-
FilterField
-
Base class for filter classes.
-
ForbiddenComponent
-
A widget that displays a forbidden access message with navigation fallback.
-
ForgotPasswordDto
-
A class representing a forgot password data transfer object.
-
ForgotPasswordForm
-
A reactive form for requesting a password reset.
-
Gender
-
-
GenderFilter
-
-
GlobalUser
-
-
GlobalUserFilter
-
-
GoBackButton
-
A button widget that provides navigation back functionality with fallback routing.
-
GuidFilter
-
A filter class for GUID (Globally Unique Identifier) fields.
-
HttpStatusCode
-
A class containing constants for HTTP status codes.
-
IconPlaceholder
-
A widget that renders an empty space with specified dimensions.
-
IdFilter
-
This class defines filter operations for ID (primary key, foreign key) fields
that is in int type
-
Image
-
A class representing an image model.
-
ImageFilter
-
-
InfiniteListState<T extends JsonModel, TF extends DataFilter, TW extends StatefulWidget>
-
An abstract state class that provides infinite scroll list functionality.
-
InitializeErrorHandling
-
Initializes error handling and crash reporting systems.
-
IntFilter
-
A filter class for integer fields.
-
JsonBoolean
-
A specialized JSON field for handling boolean (true/false) values.
-
JsonDate
-
A specialized JSON field for handling date and time values.
-
JsonDouble
-
A specialized JSON field for handling double-precision floating-point numbers.
-
JsonField<T>
-
An abstract base class for all JSON field types.
-
JsonInteger
-
A specialized JSON field for handling integer (whole number) values.
-
JsonList<T extends JsonModel>
-
A specialized JSON field for handling lists of JsonModel objects.
-
JsonModel
-
An abstract base class for all JSON-serializable models in the application.
-
JsonNumber
-
A specialized JSON field for handling generic numeric values.
-
JsonObject<T extends JsonModel>
-
A specialized JSON field for handling nested JsonModel objects.
-
JsonString
-
A specialized JSON field for handling string (text) values.
-
Language
-
-
LanguageFilter
-
-
-
LoadingIndicator
-
A centered circular progress indicator widget with customizable size and color.
-
LoginForm
-
A reactive form for user authentication/login.
-
LoginWithAppleEvent
-
Triggers Apple ID sign-in flow.
-
LoginWithGoogleEvent
-
Triggers Google OAuth sign-in flow.
-
LoginWithMicrosoftEvent
-
Triggers Microsoft OAuth (Azure AD) sign-in flow.
-
LoginWithMultipleTenantsEvent
-
Transitions to tenant selection when user has multiple tenant access.
-
LoginWithPasswordEvent
-
Triggers email and password authentication.
-
LoginWithSavedLoginEvent
-
Triggers biometric authentication using saved credentials.
-
LoginWithSelectedTenantEvent
-
Completes authentication by selecting a specific tenant.
-
NotificationData
-
Base notification data that is shared between different notification states
-
NotificationHandler
-
A utility class for handling and processing notifications.
-
NumberFilter
-
A filter class for numeric fields.
-
PageForbidden
-
A full page widget that displays a forbidden access screen.
-
Period
-
-
PeriodFilter
-
-
PortalAuthenticationRepository
-
Repository for managing portal authentication operations.
-
PortalProfileRepository
-
A repository class for managing user profiles.
-
PortalTenantRepository
-
A repository class for managing tenants.
-
PushNotificationBloc
-
Manages Firebase Cloud Messaging push notifications.
-
PushNotificationDataOnlyOpened
-
Push notification opened state for data-only messages.
-
PushNotificationDataOnlyReceived
-
Push notification received state for data-only messages.
-
PushNotificationError
-
Push notification error state
-
PushNotificationEvent
-
Base class for all push notification events.
-
PushNotificationInitial
-
Push notification initial state
-
PushNotificationOpened
-
Push notification opened state
-
PushNotificationPayload
-
Contains the data payload from a Firebase Cloud Messaging notification.
-
PushNotificationReceived
-
Push notification received state
-
PushNotificationState
-
Push notification state
-
RequestHistory
-
-
RequestHistoryFilter
-
-
RequisitionEntity
-
-
ResetPasswordForm
-
A reactive form for resetting a user's password.
-
SearchableAppBarTitle
-
A widget that provides a searchable app bar title with animated transitions.
-
SectionTitle
-
A widget that displays a section title with optional padding.
-
SocialSignInButton
-
A customizable sign-in button with an icon and a title.
-
StringFilter
-
This class defines filter operations for String type
-
SubApp
-
-
SubSystemFilter
-
-
SupaExtendedColorScheme
-
An extended color scheme that provides semantic color tokens for UI components.
-
SupaExtendedColorTokenGroup
-
A group of related color tokens used for consistent styling of UI components.
-
Tenant
-
A class representing a tenant.
-
TenantBloc
-
A BLoC (Business Logic Component) class for managing tenant state.
-
TenantEvent
-
Abstract class representing tenant-related events.
-
TenantFilter
-
A class representing a filter for tenants.
-
TenantInitial
-
Represents the initial state of the tenant management.
-
TenantInitialEvent
-
Event to initialize the tenant state.
-
TenantLoaded
-
Represents the state when tenants have been loaded.
-
TenantLoadedEvent
-
Event to indicate that tenants have been loaded.
-
TenantLoading
-
Represents the state when tenant data is being loaded.
-
TenantLoadingEvent
-
Event to trigger tenant loading state.
-
TenantState
-
An abstract class representing the states of tenant management.
-
TextStatusBadge
-
A customizable badge widget for displaying status text with automatic
text color adjustment based on background luminance.
-
Timezone
-
-
TimezoneFilter
-
-
UpdateAppUserProfileEvent
-
Updates the current user's profile information.
-
UserAuthenticatedState
-
State representing a successfully authenticated user.
-
UserAuthenticatedWithMultipleTenantsState
-
State when user is authenticated but has access to multiple tenants.
-
UserAuthenticatedWithSelectedTenantState
-
Fully authenticated state with both user and tenant information.
-
UserLogoutEvent
-
Triggers user logout and clears the current session.
-
UserNotification
-
A class representing a user notification.
-
UserNotificationFilter
-
A class representing a filter for user notifications.
-
UsingSavedAuthenticationEvent
-
Restores a previously saved authentication session.
-
UtilsNotificationRepository
-
A repository class for managing user notifications.