Refactor
This commit is contained in:
26
lib/features/app_update/model/app_update_failure.dart
Normal file
26
lib/features/app_update/model/app_update_failure.dart
Normal file
@@ -0,0 +1,26 @@
|
||||
import 'package:freezed_annotation/freezed_annotation.dart';
|
||||
import 'package:hiddify/core/localization/translations.dart';
|
||||
import 'package:hiddify/core/model/failures.dart';
|
||||
|
||||
part 'app_update_failure.freezed.dart';
|
||||
|
||||
@freezed
|
||||
sealed class AppUpdateFailure with _$AppUpdateFailure, Failure {
|
||||
const AppUpdateFailure._();
|
||||
|
||||
@With<UnexpectedFailure>()
|
||||
const factory AppUpdateFailure.unexpected([
|
||||
Object? error,
|
||||
StackTrace? stackTrace,
|
||||
]) = AppUpdateUnexpectedFailure;
|
||||
|
||||
@override
|
||||
({String type, String? message}) present(TranslationsEn t) {
|
||||
return switch (this) {
|
||||
AppUpdateUnexpectedFailure() => (
|
||||
type: t.failure.unexpected,
|
||||
message: null,
|
||||
),
|
||||
};
|
||||
}
|
||||
}
|
||||
22
lib/features/app_update/model/remote_version_entity.dart
Normal file
22
lib/features/app_update/model/remote_version_entity.dart
Normal file
@@ -0,0 +1,22 @@
|
||||
import 'package:freezed_annotation/freezed_annotation.dart';
|
||||
import 'package:hiddify/core/model/environment.dart';
|
||||
|
||||
part 'remote_version_entity.freezed.dart';
|
||||
|
||||
@Freezed()
|
||||
class RemoteVersionEntity with _$RemoteVersionEntity {
|
||||
const RemoteVersionEntity._();
|
||||
|
||||
const factory RemoteVersionEntity({
|
||||
required String version,
|
||||
required String buildNumber,
|
||||
required String releaseTag,
|
||||
required bool preRelease,
|
||||
required String url,
|
||||
required DateTime publishedAt,
|
||||
required Environment flavor,
|
||||
}) = _RemoteVersionEntity;
|
||||
|
||||
String get presentVersion =>
|
||||
flavor == Environment.prod ? version : "$version ${flavor.name}";
|
||||
}
|
||||
Reference in New Issue
Block a user