initial commit
This commit is contained in:
@@ -0,0 +1,29 @@
|
||||
import 'package:freezed_annotation/freezed_annotation.dart';
|
||||
|
||||
import 'backup_config.dart';
|
||||
|
||||
part 'service.freezed.dart';
|
||||
part 'service.g.dart';
|
||||
|
||||
/// Mirrors `models.Service` — a compose-based service on this host.
|
||||
/// `status` is one of "up" / "down" / "unknown" (untyped string on the Go
|
||||
/// side); kept as a raw string here too and mapped to [Severity] at the
|
||||
/// widget boundary rather than modeled as a closed enum, since the server
|
||||
/// can emit values this client doesn't yet know about.
|
||||
@freezed
|
||||
sealed class Service with _$Service {
|
||||
const factory Service({
|
||||
@Default('') String id,
|
||||
required String name,
|
||||
@JsonKey(name: 'compose_file') required String composeFile,
|
||||
@JsonKey(name: 'compose_type') String? composeType,
|
||||
@JsonKey(name: 'backup_folder') String? backupFolder,
|
||||
@Default('unknown') String status,
|
||||
@JsonKey(name: 'stop_on_backup') @Default(false) bool stopOnBackup,
|
||||
@JsonKey(name: 'external_backup_stop_minutes') @Default(0) int externalBackupStopMinutes,
|
||||
@JsonKey(name: 'external_backup_start_minutes') @Default(0) int externalBackupStartMinutes,
|
||||
BackupConfig? backup,
|
||||
}) = _Service;
|
||||
|
||||
factory Service.fromJson(Map<String, dynamic> json) => _$ServiceFromJson(json);
|
||||
}
|
||||
Reference in New Issue
Block a user