import 'package:freezed_annotation/freezed_annotation.dart'; import 'package:hiddify/core/prefs/prefs.dart'; import 'package:hiddify/domain/failures.dart'; part 'profiles_failure.freezed.dart'; @freezed sealed class ProfileFailure with _$ProfileFailure, Failure { const ProfileFailure._(); @With() const factory ProfileFailure.unexpected([ Object? error, StackTrace? stackTrace, ]) = ProfileUnexpectedFailure; const factory ProfileFailure.notFound() = ProfileNotFoundFailure; @With() const factory ProfileFailure.invalidUrl() = ProfileInvalidUrlFailure; @With() const factory ProfileFailure.invalidConfig([String? message]) = ProfileInvalidConfigFailure; @override ({String type, String? message}) present(TranslationsEn t) { return switch (this) { ProfileUnexpectedFailure() => ( type: t.failure.profiles.unexpected, message: null, ), ProfileNotFoundFailure() => ( type: t.failure.profiles.notFound, message: null ), ProfileInvalidUrlFailure() => ( type: t.failure.profiles.invalidUrl, message: null, ), ProfileInvalidConfigFailure(:final message) => ( type: t.failure.profiles.invalidConfig, message: message ), }; } }