import "package:freezed_annotation/freezed_annotation.dart"; part "sync_status.freezed.dart"; part "sync_status.g.dart"; @freezed abstract class SyncStatus with _$SyncStatus { const factory SyncStatus({ required SyncStatusType type, String? error, required int errorCount, }) = _SyncStatus; factory SyncStatus.fromJson(Map json) => _$SyncStatusFromJson(json); } @JsonEnum(fieldRename: FieldRename.snake) enum SyncStatusType { ok, waiting, erroring, permanentlyFailed }