Refactor API error handling and add try-catch blocks

Added try-catch blocks for error handling in API's files to rethrow the errors to the cubit so cubits can update the UI based on them.

Refactored error handling in HTTPInterceptor and HTTPService classes.
This commit is contained in:
Mohammad Salameh
2024-04-15 15:47:13 +03:00
parent dd90a2133f
commit df13c66b1a
9 changed files with 247 additions and 191 deletions

View File

@ -4,33 +4,45 @@ abstract class HomeState {}
class HomeInitial extends HomeState {}
class GetSpacesLoading extends HomeState {}
//base states
class HomeLoading extends HomeState {}
class GetSpacesLoaded extends HomeState {
class HomeError extends HomeState {
final String errMessage;
HomeError(this.errMessage);
}
class HomeSuccess extends HomeState {}
///specific states
//get spaces
class GetSpacesLoading extends HomeLoading {}
class GetSpacesSuccess extends HomeSuccess {
final List<SpaceModel> spaces;
GetSpacesLoaded(this.spaces);
GetSpacesSuccess(this.spaces);
}
class GetSpacesError extends HomeState {
final String errMessage;
GetSpacesError(this.errMessage);
class GetSpacesError extends HomeError {
GetSpacesError(super.errMessage);
}
class GetSpaceRoomsLoading extends HomeState {}
//get rooms
class GetSpaceRoomsLoading extends HomeLoading {}
class GetSpaceRoomsLoaded extends HomeState {
class GetSpaceRoomsSuccess extends HomeSuccess {
final List<RoomModel> rooms;
GetSpaceRoomsLoaded(this.rooms);
GetSpaceRoomsSuccess(this.rooms);
}
class GetSpaceRoomsError extends HomeState {
final String errMessage;
GetSpaceRoomsError(this.errMessage);
class GetSpaceRoomsError extends HomeError {
GetSpaceRoomsError(super.errMessage);
}
//UI states
class SpaceSelected extends HomeState {
final SpaceModel space;