ApiService<User, UserModel> class abstract

An abstract class representing an API service in a Flutter application.

This class provides a base implementation for services that interact with APIs while handling authentication state changes and token updates. It leverages a provided AuthenticationService instance to retrieve user information and tokens.

Subclasses must implement the getUser method to handle user data retrieval specific to their API.

Constructors

ApiService({required BuildContext context})
Creates a new ApiService instance with the provided BuildContext.

Properties

authState Stream<UserModel?>
A stream that emits UserModel updates whenever the authentication state changes.
no setter
context BuildContext
The BuildContext of the widget the service is associated with.
final
hashCode int
The hash code for this object.
no setterinherited
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
user → UserModel?
The currently cached UserModel representing the authenticated user, or null if not authenticated.
no setter

Methods

dispose() → void
Disposes the subscriptions to avoid memory leaks.
getUser() Future<UserModel>
Fetches and returns the UserModel representing the currently authenticated user.
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
setToken(String? token) → void
Sets the authentication token for the API service.
toString() String
A string representation of this object.
inherited

Operators

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