fetchDataFromCache<R, T extends INetworkModel<T>> method

Future<ResponseModel<R?, E>?> fetchDataFromCache<R, T extends INetworkModel<T>>({
  1. required Duration? expiration,
  2. required RequestType type,
  3. required T responseModel,
})
inherited

Fetch data from database

Implementation

Future<ResponseModel<R?, E>?>
    fetchDataFromCache<R, T extends INetworkModel<T>>({
  required Duration? expiration,
  required RequestType type,
  required T responseModel,
}) async {
  if (expiration == null) return null;
  final cacheDataString = await _fetchOnlyData(type);
  if (cacheDataString == null) return null;

  final model = parseUserResponseData<R, T>(
    NetworkManagerUtil.decodeBodyWithCompute(cacheDataString),
    responseModel,
  );

  return ResponseModel<R, E>(
    data: model,
    error: model == null ? ErrorModel.parseError() : null,
  );
}