Aidra Connect 10.0.2+16
Aidra Connect Mobile Application
Loading...
Searching...
No Matches
exception_failure_adapter.dart
Go to the documentation of this file.
1import 'package:dio/dio.dart';
2import 'package:hive/hive.dart';
3import 'dart:io';
4
5import '../api/api_exceptions.dart';
6import '../constants/strings.dart';
7import '../ui/theme/color_palette.dart';
8import 'failures.dart';
9
11 static Failure adapt(dynamic exception) {
12 if (exception is ApiException) {
13 return ServerFailure(
14 message: exception.error?["message"] ?? Strings.unknownFailureMessage,
16 );
17 }
18
19 if (exception is BiometricFailure) {
20 return const BiometricFailure(
23 );
24 }
25
26 if (exception is DioException) {
27 return const ServerFailure(
30 );
31 }
32
33 if (exception is SocketException) {
34 return const NetworkFailure(
37 );
38 }
39
40 if (exception is HiveError) {
41 return const CacheFailure(
44 );
45 }
46
47 return const UnknownFailure(
50 );
51 }
52}
static const red
static const orange
static const grey
static Failure adapt(dynamic exception)
static const String serverFailureMessage
Definition strings.dart:13
static const String biometricFailureMessage
Definition strings.dart:29
static const networkFailureMessage
Definition strings.dart:17
static const storageFailureMessage
Definition strings.dart:15
static const String unknownFailureMessage
Definition strings.dart:19
final Color color
Definition failures.dart:1
abstract class Failure extends Equatable ServerFailure({ required super.message, required super.color, })
class BiometricFailure extends Failure UnknownFailure({ required super.message, required super.color, })
class CacheFailure extends Failure NetworkFailure({ required super.message, required super.color, })
const CacheFailure({ required super.message, required super.color, })
const BiometricFailure({ required super.message, required super.color, })
final String message
Definition failures.dart:0