ProfileController class
ProfileController class that manages user profile data and operations. It handles fetching, updating, and deleting user profiles, as well as notifying changes in profile picture updates.
- Inheritance
-
- Object
- GetLifeCycle
- DisposableInterface
- GetxController
- ProfileController
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
- profilePictureUpdated → RxBool
-
Reactive variable to notify when profile picture is updated
final
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
-
user
→ Rx<
UserModel?> -
Reactive User Model for global state
final
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
-
deleteUser(
BuildContext context) → Future< void> - Delete the authenticated user's account @param context The BuildContext to show snack bars Returns snack bar messages based on success or failure
-
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 -
fetchUserData(
) → Future< void> - Fetch user data using the authenticated user's ID
-
getAllUsers(
) → Future< List< UserModel> > - Fetch all users (for admin purposes)
-
getNumberOfFriends(
String username) → Future< int> - Fetch friends count for a given username @param username The username to search for friends @returns Amount of friends for the given username
-
getUserData(
) → Future< UserModel> - This method ensures that the user data is fetched only once @returns the UserModel if it exists, otherwise fetches it
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
notifyChildrens(
) → void -
inherited
-
notifyProfilePictureUpdated(
) → void - Method to notify when profile picture is updated
-
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
-
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 -
updateRecord(
UserModel updatedUser, BuildContext context) → Future< void> - Update user data and update the global state @param updatedUser The updated user model containing new data @param context The BuildContext to show snack bars
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited
Static Properties
- instance → ProfileController
-
no setter