Skip to content

Commit e045a75

Browse files
committed
Load video information from exercise base endpoint
1 parent 665a79e commit e045a75

File tree

4 files changed

+27
-0
lines changed

4 files changed

+27
-0
lines changed

lib/models/exercises/base.dart

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -90,6 +90,7 @@ class ExerciseBase extends Equatable {
9090
List<ExerciseImage>? images,
9191
List<Exercise>? exercises,
9292
ExerciseCategory? category,
93+
List<Video>? videos,
9394
}) {
9495
this.images = images ?? [];
9596
this.equipment = equipment ?? [];
@@ -116,6 +117,10 @@ class ExerciseBase extends Equatable {
116117
if (exercises != null) {
117118
this.exercises = exercises;
118119
}
120+
121+
if (videos != null) {
122+
this.videos = videos;
123+
}
119124
}
120125

121126
/// Returns exercises for the given language

lib/providers/exercises.dart

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@ import 'package:wger/models/exercises/image.dart';
3535
import 'package:wger/models/exercises/language.dart';
3636
import 'package:wger/models/exercises/muscle.dart';
3737
import 'package:wger/models/exercises/variation.dart';
38+
import 'package:wger/models/exercises/video.dart';
3839
import 'package:wger/providers/base_provider.dart';
3940

4041
class ExercisesProvider with ChangeNotifier {
@@ -315,6 +316,7 @@ class ExercisesProvider with ChangeNotifier {
315316
final musclesSecondary = baseData['muscles_secondary'].map((e) => Muscle.fromJson(e)).toList();
316317
final equipment = baseData['equipment'].map((e) => Equipment.fromJson(e)).toList();
317318
final images = baseData['images'].map((e) => ExerciseImage.fromJson(e)).toList();
319+
final videos = baseData['videos'].map((e) => Video.fromJson(e)).toList();
318320

319321
final List<Exercise> exercises = [];
320322
for (final exerciseData in baseData['exercises']) {
@@ -341,6 +343,7 @@ class ExercisesProvider with ChangeNotifier {
341343
category: category,
342344
images: images.cast<ExerciseImage>(),
343345
exercises: exercises,
346+
videos: videos.cast<Video>(),
344347
);
345348

346349
return exerciseBase;

test/exercises/exercise_provider_load_test.dart

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -83,6 +83,7 @@ void main() {
8383
'd8aa5990-bb47-4111-9823-e2fbd98fe07f',
8484
'49a159e1-1e00-409a-81c9-b4d4489fbd67'
8585
]);
86+
expect(base.videos.map((v) => v.uuid), ['63e996e9-a772-4ca5-9d09-8b4be03f6be4']);
8687

8788
final exercise1 = base.exercises[0];
8889
expect(exercise1.name, '2 Handed Kettlebell Swing');

test/fixtures/exercises/exercisebaseinfo_response.json

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -100,6 +100,24 @@
100100
"style": "4"
101101
}
102102
],
103+
"videos": [
104+
{
105+
"id": 2,
106+
"uuid": "63e996e9-a772-4ca5-9d09-8b4be03f6be4",
107+
"exercise_base": 258,
108+
"exercise_base_uuid": "6260e3aa-e46b-4b4b-8ada-58bfd0922d3a",
109+
"video": "http://localhost:8000/media/exercise-video/258/63e996e9-a772-4ca5-9d09-8b4be03f6be4.MOV",
110+
"is_main": false,
111+
"size": 0,
112+
"duration": "0.00",
113+
"width": 0,
114+
"height": 0,
115+
"codec": "",
116+
"codec_long": "",
117+
"license": 2,
118+
"license_author": null
119+
}
120+
],
103121
"exercises": [
104122
{
105123
"id": 345,

0 commit comments

Comments
 (0)