import 'package:freezed_annotation/freezed_annotation.dart'; part 'failures.freezed.dart'; @freezed sealed class Failure with _$Failure { const factory Failure.server({ required String message, @Default(500) int statusCode, }) = ServerFailure; const factory Failure.cache({ required String message, }) = CacheFailure; const factory Failure.network({ @Default('네트워크 연결을 확인해주세요') String message, }) = NetworkFailure; const factory Failure.unauthorized({ @Default('인증이 필요합니다') String message, }) = UnauthorizedFailure; const factory Failure.unknown({ @Default('알 수 없는 오류가 발생했습니다') String message, }) = UnknownFailure; }