Neues Aufgaben-JSON verarbeiten: Modell um choices/fields und Listen-Antworten erweitern

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
SvenandClaude Opus 4.8 committed 2026-06-29 12:01:08 +02:00
1 parent 83c646c597
commit 45c21657ce
3 files changed
+119 -2

No files matched your search

@@ -49,6 +49,12 @@ class FinTourTask {
List<String>? codes;
/// Erfasste Werte einer Text-/Zahlen-Liste (Typ 12/13).
List<FinFieldAnswer>? fields;
/// Angekreuzte Codes einer Checkbox-Liste (Typ 14).
List<int>? checked;
FinTaskPos? pos;
FinTourTask();
@@ -57,3 +63,17 @@ class FinTourTask {
Map<String, dynamic> toJson() => _$FinTourTaskToJson(this);
}
/// Ein erfasster Wert einer Text-/Zahlen-Liste (Typ 12/13).
@JsonSerializable()
class FinFieldAnswer {
String? title;
String? val;
FinFieldAnswer();
factory FinFieldAnswer.fromJson(Map<String, dynamic> json) => _$FinFieldAnswerFromJson(json);
Map<String, dynamic> toJson() => _$FinFieldAnswerToJson(this);
}
@@ -39,6 +39,12 @@ FinTourTask _$FinTourTaskFromJson(Map<String, dynamic> json) => FinTourTask()
..code = (json['code'] as num?)?.toInt()
..sign = json['sign'] as String?
..codes = (json['codes'] as List<dynamic>?)?.map((e) => e as String).toList()
..fields = (json['fields'] as List<dynamic>?)
?.map((e) => FinFieldAnswer.fromJson(e as Map<String, dynamic>))
.toList()
..checked = (json['checked'] as List<dynamic>?)
?.map((e) => (e as num).toInt())
.toList()
..pos = json['pos'] == null
? null
: FinTaskPos.fromJson(json['pos'] as Map<String, dynamic>);
@@ -51,5 +57,18 @@ Map<String, dynamic> _$FinTourTaskToJson(FinTourTask instance) =>
'code': instance.code,
'sign': instance.sign,
'codes': instance.codes,
'fields': instance.fields,
'checked': instance.checked,
'pos': instance.pos,
};
FinFieldAnswer _$FinFieldAnswerFromJson(Map<String, dynamic> json) =>
FinFieldAnswer()
..title = json['title'] as String?
..val = json['val'] as String?;
Map<String, dynamic> _$FinFieldAnswerToJson(FinFieldAnswer instance) =>
<String, dynamic>{
'title': instance.title,
'val': instance.val,
};