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
-
- Object
- GetLifeCycle
- DisposableInterface
- GetxController
- FriendsController
Constructors
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 byGetBuilder()
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
toreceiverUserName
. -
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
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited
Static Properties
- instance → FriendsController
-
no setter