UserRepository class
UserRepository is responsible for managing user data in Firestore. It provides methods to create, read, update, and delete user records, as well as checking for user existence by email. Uses FirebaseAuth for authentication and FirebaseFirestore for database operations.
- Inheritance
-
- Object
- GetLifeCycle
- DisposableInterface
- GetxController
- UserRepository
Constructors
Properties
- hashCode → int
-
The hash code for this object.
no setterinherited
- hasListeners → bool
-
no setterinherited
- initialized → bool
-
Checks whether the controller has already been initialized.
no setterinherited
- isClosed → bool
-
Checks whether the controller has already been closed.
no setterinherited
- listeners → int
-
no setterinherited
-
onDelete
→ InternalFinalCallback<
void> -
Internal callback that starts the cycle of this controller.
finalinherited
-
onStart
→ InternalFinalCallback<
void> -
Called at the exact moment the widget is allocated in memory.
It uses an internal "callable" type, to avoid any @overrides in subclases.
This method should be internal and is required to define the
lifetime cycle of the subclass.
finalinherited
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
Methods
-
$configureLifeCycle(
) → void -
inherited
-
addListener(
GetStateUpdate listener) → Disposer -
Register a closure to be called when the object notifies its listeners.
inherited
-
addListenerId(
Object? key, GetStateUpdate listener) → Disposer -
inherited
-
allUsers(
) → Future< List< UserModel> > - This method retrieves all user records from Firestore. @return A Future that resolves to a list of UserModel objects containing user details. @throws String if there is an error fetching the user records. @throws String if there are no user records found. @throws String if there is an error fetching the user records.
-
createUser(
UserModel user) → Future< void> - This method creates a new user record in Firestore using the current authenticated user's UID. @param user The UserModel object containing user details to be stored.
-
deleteUser(
String id) → Future< void> - This method deletes a user record from Firestore. @param id The ID of the user whose record is to be deleted. @throws String if the user record does not exist. @throws String if there is an error deleting the user record.
-
dispose(
) → void -
inherited
-
disposeId(
Object id) → void -
To dispose an
id
from future updates(), this ids are registered byGetBuilder()
or similar, so is a way to unlink the state change with the Widget from the Controller.inherited -
getUserDetails(
) → Future< UserModel> - This method retrieves the details of the currently authenticated user from Firestore. @return A Future that resolves to a UserModel object containing user details. @throws Exception if the user is not authenticated or if there is an error fetching the user details. @throws String if the user record does not exist. @throws String if there is an error fetching the user details.
-
getUserDetailsById(
String userId) → Future< UserModel> - This method retrieves user details by their ID. @param userId The ID of the user whose details are to be retrieved. @return A Future that resolves to a UserModel object containing user details. @throws String if the user record does not exist. @throws String if there is an error fetching the user details.
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
notifyChildrens(
) → void -
inherited
-
onClose(
) → void -
Called before onDelete method. onClose might be used to
dispose resources used by the controller. Like closing events,
or streams before the controller is destroyed.
Or dispose objects that can potentially create some memory leaks,
like TextEditingControllers, AnimationControllers.
Might be useful as well to persist some data on disk.
inherited
-
onInit(
) → void -
Called immediately after the widget is allocated in memory.
You might use this to initialize something for the controller.
inherited
-
onReady(
) → void -
Called 1 frame after onInit(). It is the perfect place to enter
navigation events, like snackbar, dialogs, or a new route, or
async request.
inherited
-
recordExist(
String email) → Future< bool> - Check if user exists with email @param email The email address to check for user existence. @return A Future that resolves to a boolean indicating whether a user with the given email exists. @throws String if there is an error fetching the record.
-
refresh(
) → void -
inherited
-
refreshGroup(
Object id) → void -
inherited
-
removeListener(
VoidCallback listener) → void -
Remove a previously registered closure from the list of closures that the
object notifies.
inherited
-
removeListenerId(
Object id, VoidCallback listener) → void -
inherited
-
toString(
) → String -
A string representation of this object.
inherited
-
update(
[List< Object> ? ids, bool condition = true]) → void -
Rebuilds
GetBuilder
each time you callupdate()
; Can take a List ofids
, that will only update the matchingGetBuilder( id: )
,ids
can be reused amongGetBuilders
like group tags. The update will only notify the Widgets, ifcondition
is true.inherited -
updateUserRecord(
String userId, Map< String, dynamic> data) → Future<void> - This method updates an existing user record in Firestore. @param userId The ID of the user whose record is to be updated. @param data A map containing the fields to be updated in the user record. @throws String if the user record does not exist. @throws String if there is an error updating the user record.
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited
Static Properties
- instance → UserRepository
-
no setter