AuthenticationServiceImpl class

Inheritance
  • Object
  • RepoServiceBaseImpl
  • AuthenticationServiceImpl
Implemented types

Constructors

AuthenticationServiceImpl({required IHttpClient httpClient, required BasicAuthenticationConfig config, required SharedPreferences sharedPreferences, Logger? logger})

Properties

client → IHttpClient?
finalinherited
config BasicAuthenticationConfig
final
hashCode int
The hash code for this object.
no setterinherited
httpClient → IHttpClient
final
logger → Logger
finalinherited
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
sharedPreferences → SharedPreferences
final

Methods

deleteAccount(String userId) Future<Either<Failure, User?>>
override
fetchAuthUserData() Future<Either<Failure, User>>
override
getAuthenticatedSession() Future<Either<Failure, AuthenticationData?>>
override
getStoredDeviceInfo([bool generate = true]) Future<AuthDeviceInfo?>
handleDefault<T>(Future<Either<Failure, T>> callback(Left<Failure, T> left(Failure failure), Right<Failure, T> right(T result)), {Either<Failure, T>? onError(Object error, Left<Failure, T> left(Failure failure), Right<Failure, T> right(T response), StackTrace stackTrace)?}) Future<Either<Failure, T>>
Provides you with an easy way to handle common service logic This helper will help you with some boilerplate needed when implementing handling of async service logic following our architecture
inherited
handleHttpBaseRequest<T>(BaseRequest request, {required DataOrFailureHandleResponse<T> onResponse, DataOrFailureHandleException<T>? onError, List<int> successStatuses = const [200, 201, 202, 203, 204], bool debugRequestBody = true, bool overrideTextContentTypeHeader = true}) Future<Either<Failure, T>>
Provides you with an easy way to handle a BaseRequest This helper provides you more control over the type of request being send it will help you with some boilerplate needed when implementing handling http request following our architecture It also provides early access to the request details before performing the request so it be better for logging request its commonly the return type of a HttpClient in most of its methods (get, post, patch, put, etc)
inherited
handleHttpRequestResponse<T>(Future<Response> futureResponse, {required DataOrFailureHandleResponse<T> onResponse, DataOrFailureHandleException<T>? onError, List<int> successStatuses = const [200, 201, 202, 203, 204], bool debugRequestBody = true}) Future<Either<Failure, T>>
Provides you with an easy way to handle common Http API request This helper will help you with some boilerplate needed when implementing handling http request following our architecture futureResponse its commonly the return type of a HttpClient in most of its methods (get, post, patch, put, etc)
inherited
loginWithCredentials(String username, String password) Future<Either<Failure, AuthenticationData>>
override
logout() Future<Either<Failure, Unit>>
override
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
refreshSession() Future<Either<Failure, AuthenticationData>>
override
signupWithCredentials(AuthSignUpPayload payload) Future<Either<Failure, AuthenticationData?>>
override
storeAuthDataSession(AuthenticationData authData) Future<Either<Failure, Unit>>
override
toString() String
A string representation of this object.
inherited
wrapAndHandleHttpBaseRequest<T>(FutureOr<BaseRequest> requestFn(), {required DataOrFailureHandleResponse<T> onResponse, DataOrFailureHandleException<T>? onError, List<int> successStatuses = const [200, 201, 202, 203, 204], bool debugRequestBody = true, bool overrideTextContentTypeHeader = true}) Future<Either<Failure, T>>
Provides you with an easy way to handle a BaseRequest This helper provides you more control over the type of request being send it will help you with some boilerplate needed when implementing handling http request following our architecture It also provides early access to the request details before performing the request so it be better for logging request its commonly the return type of a HttpClient in most of its methods (get, post, patch, put, etc)
inherited
wrapAndHandleHttpRequestResponse<T>(Future<Response> futureResponse(), {required DataOrFailureHandleResponse<T> onResponse, DataOrFailureHandleException<T>? onError, List<int> successStatuses = const [200, 201, 202, 203, 204], bool debugRequestBody = true}) Future<Either<Failure, T>>
Provides you with an easy way to handle common Http API request This helper will help you with some boilerplate needed when implementing handling http request following our architecture futureResponse its commonly the return type of a HttpClient in most of its methods (get, post, patch, put, etc)
inherited

Operators

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

Static Methods

defaultAuthenticationDataParser(String encodedData, {bool required = true}) AuthenticationDataModel?
If required is set to true, this will throw an exception if AuthenticationDataModel cannot be extracted from given data
defaultClient({Duration? maxAge, void onRefreshToken(Map<String, String> tokens)?, String? refreshTokenMethod, String refreshTokenUrl(String token, JWT decodedToken)?, required SharedPreferences sharedPreferences, FutureOr<String> customRefreshTokenRequestBodyMapper(String refreshToken, String authToken, AuthDeviceInfo? deviceInfo)?, FutureOr<Map<String, String>> customRefreshTokenResponseParser(String body)?, Duration? refreshTokenTimeout, void onRefreshTokenFailure(String token, Object exception)?, FutureOr<Map<String, String>> customRefreshTokenCallback(String token, String? refreshToken, AuthDeviceInfo? deviceInfo)?}) → dynamic