save method
Implementation
@override
Future<StudySubject> save() async {
final response = await env.client.from(tableName).upsert(toJson()).execute();
SupabaseQuery.catchPostgrestError(response);
final json = List<Map<String, dynamic>>.from(response.data as List).single;
json['study'] = study.toJson();
json['subject_progress'] = progress.map((p) => p.toJson()).toList();
return StudySubject.fromJson(json);
}