initialized Application theme

This commit is contained in:
Mohammad Salameh
2024-02-15 14:00:09 +03:00
parent 16f47f744c
commit 3190361901
98 changed files with 871 additions and 1004 deletions

View File

@ -0,0 +1,64 @@
import 'package:dio/dio.dart';
abstract class Failure {
final String errMessage;
Failure(this.errMessage);
}
class ServerFailure extends Failure {
ServerFailure(super.errMessage);
@override
String toString() {
return errMessage;
}
factory ServerFailure.fromDioError(DioException dioError) {
switch (dioError.type) {
case DioExceptionType.connectionTimeout:
return ServerFailure("Connection timeout with ApiServer.");
case DioExceptionType.sendTimeout:
return ServerFailure("Send timeout with ApiServer.");
case DioExceptionType.receiveTimeout:
return ServerFailure("Receive timeout with ApiServer.");
case DioExceptionType.badCertificate:
return ServerFailure("Bad certificate!");
case DioExceptionType.badResponse:
return ServerFailure.fromResponse(
dioError.response!.statusCode!, dioError.response!.data);
case DioExceptionType.cancel:
return ServerFailure("The request to ApiServer was canceled");
case DioExceptionType.connectionError:
return ServerFailure("No Internet Connection");
case DioExceptionType.unknown:
return ServerFailure("Unexpected Error, Please try again!");
}
}
factory ServerFailure.fromResponse(int statusCode, dynamic response) {
if (statusCode == 400 || statusCode == 401 || statusCode == 403) {
return ServerFailure(response);
} else if (statusCode == 404) {
return ServerFailure("Your request not found, Please try later!");
} else if (statusCode == 500) {
return ServerFailure(response);
} else {
return ServerFailure("Opps there was an Error, Please try again!");
}
}
}
class ResponseFailure extends Failure {
ResponseFailure(super.errMessage);
@override
String toString() {
return errMessage;
}
}