@@ -18,12 +18,52 @@ class APIClient {
18
18
}
19
19
}
20
20
21
+ String buildImageUrl (String uuid) {
22
+ final route = "/images/$uuid " ;
23
+ return _host + (kDebugMode ? route : "api$route " );
24
+ }
25
+
21
26
Future <Artist > getArtist (String uuid) async {
22
27
var responseBody = await _request (RequestType .get , '/artists/$uuid ' );
23
28
return Artist .fromJson (responseBody);
24
29
}
25
30
26
- Future <Map <String , dynamic >> _request (RequestType type, String route,
31
+ Future <Package > getPackage (String uuid) async {
32
+ var responseBody = await _request (RequestType .get , '/packages/$uuid ' );
33
+ return Package .fromJson (responseBody);
34
+ }
35
+
36
+ Future <Page <Package >> getPackages (
37
+ {PageQuery page = const PageQuery ()}) async {
38
+ var responseBody = await _request (
39
+ RequestType .get , '/packages?take=${page .take }&skip=${page .skip }' );
40
+ return Page .fromJson (
41
+ responseBody, (x) => Package .fromJson (x as Map <String , dynamic >));
42
+ }
43
+
44
+ Future <Page <Movie >> getMovies (String packageUuid) async {
45
+ var responseBody =
46
+ await _request (RequestType .get , '/movies?package=$packageUuid ' );
47
+ return Page .fromJson (
48
+ responseBody, (x) => Movie .fromJson (x as Map <String , dynamic >));
49
+ }
50
+
51
+ Future <Page <Chapter >> getChapters (String movieUuid, PageQuery query) async {
52
+ var responseBody = await _request (RequestType .get ,
53
+ '/movies/$movieUuid /chapters?take=${query .take }&skip=${query .skip }' );
54
+ return Page .fromJson (
55
+ responseBody, (x) => Chapter .fromJson (x as Map <String , dynamic >));
56
+ }
57
+
58
+ Future <Page <Extra >> getExtras (
59
+ {String ? packageUuid, PageQuery page = const PageQuery ()}) async {
60
+ var responseBody = await _request (RequestType .get ,
61
+ '/extras?package=$packageUuid &take=${page .take }&skip=${page .skip }' );
62
+ return Page .fromJson (
63
+ responseBody, (x) => Extra .fromJson (x as Map <String , dynamic >));
64
+ }
65
+
66
+ Future <dynamic > _request (RequestType type, String route,
27
67
{Map <String , dynamic >? body, Map <String , dynamic >? params}) async {
28
68
body ?? = {};
29
69
params ?? {};
0 commit comments