This commit is contained in:
problematicconsumer
2023-12-01 12:56:24 +03:30
parent 9c165e178b
commit ed614988a2
181 changed files with 3092 additions and 2341 deletions

View 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,
),
};
}
}

View 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}";
}