FriendsController class

A controller for managing friendships and friend requests.

Handles listening to Firestore updates, maintains the list of friends and friend requests, and provides methods for sending, accepting, denying, and removing friendships.

Inheritance

Constructors

FriendsController.new()

Properties

friendRequests RxList<DocumentSnapshot<Object?>>
final
friends RxList<Map<String, dynamic>>
final
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
isLoadingFriends RxBool
final
isLoadingRequests RxBool
final
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
dispose() → void
inherited
disposeId(Object id) → void
To dispose an id from future updates(), this ids are registered by GetBuilder() or similar, so is a way to unlink the state change with the Widget from the Controller.
inherited
getFriend(String userName, BuildContext context) Future<UserModel>
Fetches the UserModel for a given userName.
getFriendshipStatus(String currentEmail, String otherUserName) Future<String?>
Retrieves the current friendship status between two users.
getUserEmailById(String userId) Future<String?>
getUserNameById(String userId) Future<String?>
initStreamsForUser(String userId) → void
Initializes Firestore listeners for the given userId.
listenToFriendRequests(String userId) → void
Listens for incoming friend requests directed at userId.
listenToFriendships(String userId) → void
Listens for changes to friendship documents where userId is involved.
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
notifyChildrens() → void
inherited
onClose() → void
Cancels active stream subscriptions when the controller is disposed.
override
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
removeFriendship(String userEmail, String otherUserName, BuildContext context) Future<void>
Removes a friendship or cancels a friend request.
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
respondToFriendRequest(DocumentSnapshot<Object?> doc, String newStatus, BuildContext context) Future<void>
Accepts or denies a friend request.
sendFriendRequest(String senderEmail, String receiverUserName, BuildContext context) Future<void>
Sends a friend request from senderEmail to receiverUserName.
toString() String
A string representation of this object.
inherited
update([List<Object>? ids, bool condition = true]) → void
Rebuilds GetBuilder each time you call update(); Can take a List of ids, that will only update the matching GetBuilder( id: ), ids can be reused among GetBuilders like group tags. The update will only notify the Widgets, if condition is true.
inherited

Operators

operator ==(Object other) bool
The equality operator.
inherited

Static Properties

instance FriendsController
no setter