PurchaseServiceImpl class

Inheritance
  • Object
  • RepoServiceBaseImpl
  • PurchaseServiceImpl
Implemented types

Constructors

PurchaseServiceImpl.new({Logger? logger, required InAppPurchasesConfig config, IHttpClient? httpClient, InAppPurchasesFacade? inAppPurchasesFacade})

Properties

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

Methods

buyConsumable(ProductItem productItem, UserReferenceMapper? userReference) Future<Either<Failure, bool>>
override
buyNonConsumable(ProductItem productItem, UserReferenceMapper? userReference, [bool isChange = false]) Future<Either<Failure, bool>>
override
completePendingTransactions([String? username]) Future<Either<Failure, Unit>>
override
completeTransaction(covariant TransactionModel transaction) Future<Either<Failure, Unit>>
override
getCatalogProductsFromStore(Set<String> productIds, List<PurchaseProductListing>? listings) Future<Either<Failure, CatalogProduct>>
override
getProductListing() Future<Either<Failure, List<PurchaseProductListing>>>
override
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
isAvailable() Future<Either<Failure, bool>>
override
listenPurchase() Future<Either<Failure, Stream<List<Transaction>>>>
override
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
requestRestorePurchases([String? username]) Future<Either<Failure, Unit>>
override
toString() String
A string representation of this object.
inherited
verifyTransaction(covariant TransactionModel transaction, Map<String, dynamic>? params) Future<Either<Failure, TransactionVerificationResult>>
override
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