import 'package:equatable/equatable.dart'; /// Base failure class abstract class Failure extends Equatable { final String message; const Failure(this.message); @override List get props => [message]; } /// Server failure class ServerFailure extends Failure { const ServerFailure([super.message = 'Server failure occurred']); } /// Cache failure class CacheFailure extends Failure { const CacheFailure([super.message = 'Cache failure occurred']); } /// Network failure class NetworkFailure extends Failure { const NetworkFailure([super.message = 'Network failure occurred']); } /// Validation failure class ValidationFailure extends Failure { const ValidationFailure([super.message = 'Validation failure occurred']); } /// Not found failure class NotFoundFailure extends Failure { const NotFoundFailure([super.message = 'Resource not found']); } /// Unauthorized failure class UnauthorizedFailure extends Failure { const UnauthorizedFailure([super.message = 'Unauthorized access']); }