database: Unify work and recording API

This commit is contained in:
Elias Projahn 2020-04-26 16:48:05 +02:00
parent c93ebf17a0
commit 0fc0c933ac
7 changed files with 116 additions and 201 deletions

View file

@ -98,31 +98,24 @@ class _RecordingEditorState extends State<RecordingEditor> {
FlatButton(
child: Text('DONE'),
onPressed: () async {
final recording = Recording(
id: widget.recording?.id ?? generateId(),
work: workInfo.work.id,
comment: commentController.text,
final recordingInfo = RecordingInfo(
recording: Recording(
id: widget.recording?.id ?? generateId(),
work: workInfo.work.id,
comment: commentController.text,
),
performances: performanceInfos,
);
final performances = performanceInfos
.map((m) => Performance(
recording: recording.id,
person: m.person?.id,
ensemble: m.ensemble?.id,
role: m.role?.id,
))
.toList();
await backend.client.putRecording(recordingInfo);
final recordingInfo =
await backend.client.putRecording(RecordingData(
recording: recording,
performances: performances,
));
Navigator.pop(context, RecordingSelectorResult(
workInfo: workInfo,
recordingInfo: recordingInfo,
));
Navigator.pop(
context,
RecordingSelectorResult(
workInfo: workInfo,
recordingInfo: recordingInfo,
),
);
},
)
],