|
1 | 1 | import 'dart:convert';
|
2 | 2 |
|
3 | 3 | import 'package:drift/drift.dart';
|
4 |
| -import 'package:wger/models/exercises/alias.dart'; |
5 | 4 | import 'package:wger/models/exercises/category.dart';
|
6 |
| -import 'package:wger/models/exercises/comment.dart'; |
7 | 5 | import 'package:wger/models/exercises/equipment.dart';
|
8 |
| -import 'package:wger/models/exercises/exercise.dart'; |
9 |
| -import 'package:wger/models/exercises/image.dart'; |
10 | 6 | import 'package:wger/models/exercises/language.dart';
|
11 | 7 | import 'package:wger/models/exercises/muscle.dart';
|
12 |
| -import 'package:wger/models/exercises/translation.dart'; |
13 | 8 | import 'package:wger/models/exercises/variation.dart';
|
14 |
| -import 'package:wger/models/exercises/video.dart'; |
15 |
| - |
16 |
| -class ExerciseBaseConverter extends TypeConverter<Exercise, String> { |
17 |
| - const ExerciseBaseConverter(); |
18 |
| - |
19 |
| - @override |
20 |
| - Exercise fromSql(String fromDb) { |
21 |
| - final Map<String, dynamic> baseData = json.decode(fromDb); |
22 |
| - |
23 |
| - final category = ExerciseCategory.fromJson(baseData['categories']); |
24 |
| - final musclesPrimary = baseData['muscless'].map((e) => Muscle.fromJson(e)).toList(); |
25 |
| - final musclesSecondary = baseData['musclesSecondary'].map((e) => Muscle.fromJson(e)).toList(); |
26 |
| - final equipment = baseData['equipments'].map((e) => Equipment.fromJson(e)).toList(); |
27 |
| - final images = baseData['images'].map((e) => ExerciseImage.fromJson(e)).toList(); |
28 |
| - final videos = baseData['videos'].map((e) => Video.fromJson(e)).toList(); |
29 |
| - |
30 |
| - final List<Translation> translations = []; |
31 |
| - for (final exerciseData in baseData['translations']) { |
32 |
| - final translation = Translation( |
33 |
| - id: exerciseData['id'], |
34 |
| - name: exerciseData['name'], |
35 |
| - description: exerciseData['description'], |
36 |
| - exerciseId: baseData['id'], |
37 |
| - ); |
38 |
| - translation.aliases = exerciseData['aliases'].map((e) => Alias.fromJson(e)).toList(); |
39 |
| - translation.notes = exerciseData['notes'].map((e) => Comment.fromJson(e)).toList(); |
40 |
| - translation.language = Language.fromJson(exerciseData['languageObj']); |
41 |
| - translations.add(translation); |
42 |
| - } |
43 |
| - |
44 |
| - final exerciseBase = Exercise( |
45 |
| - id: baseData['id'], |
46 |
| - uuid: baseData['uuid'], |
47 |
| - created: null, |
48 |
| - //creationDate: toDate(baseData['creation_date']), |
49 |
| - musclesSecondary: musclesSecondary.cast<Muscle>(), |
50 |
| - muscles: musclesPrimary.cast<Muscle>(), |
51 |
| - equipment: equipment.cast<Equipment>(), |
52 |
| - category: category, |
53 |
| - images: images.cast<ExerciseImage>(), |
54 |
| - translations: translations, |
55 |
| - videos: videos.cast<Video>(), |
56 |
| - ); |
57 |
| - return exerciseBase; |
58 |
| - } |
59 |
| - |
60 |
| - @override |
61 |
| - String toSql(Exercise value) { |
62 |
| - return json.encode(value.toJson()); |
63 |
| - } |
64 |
| -} |
65 | 9 |
|
66 | 10 | class MuscleConverter extends TypeConverter<Muscle, String> {
|
67 | 11 | const MuscleConverter();
|
|
0 commit comments