Files
umbrix/lib/features/app_update/model/remote_version_entity.dart
Umbrix Developer 95383d09fc
Some checks failed
CI / run (push) Waiting to run
Upload store MSIX to release / upload-store-msix-to-release (push) Has been cancelled
feat: update to v1.7.3 with smart asset detection and auto-install
2026-01-18 20:14:19 +03:00

42 lines
1.1 KiB
Dart

import 'package:freezed_annotation/freezed_annotation.dart';
import 'package:umbrix/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,
@Default([]) List<ReleaseAsset> assets,
}) = _RemoteVersionEntity;
String get presentVersion =>
flavor == Environment.prod ? version : "$version ${flavor.name}";
/// Найти asset по расширению файла
String? findAssetByExtension(String extension) {
try {
return assets.firstWhere((asset) => asset.name.endsWith(extension)).downloadUrl;
} catch (_) {
return null;
}
}
}
@freezed
class ReleaseAsset with _$ReleaseAsset {
const factory ReleaseAsset({
required String name,
required String downloadUrl,
required int size,
}) = _ReleaseAsset;
}