Skip to content

Commit d14d288

Browse files
committed
add models
1 parent ba98b5e commit d14d288

12 files changed

+922
-1
lines changed

lib/models/index.dart

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
export 'src/media.dart';
2+
export 'src/response.dart';

lib/models/src/media.dart

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
import 'package:built_collection/built_collection.dart';
2+
import 'package:built_value/built_value.dart';
3+
import 'package:built_value/serializer.dart';
4+
5+
import 'serializers.dart';
6+
7+
part 'media.g.dart';
8+
9+
abstract class Media implements Built<Media, MediaBuilder> {
10+
String get id;
11+
12+
String get caption;
13+
14+
String get url;
15+
16+
MediaType get type;
17+
18+
Media._();
19+
20+
factory Media([void Function(MediaBuilder) updates]) = _$Media;
21+
22+
static Media fromJson(String jsonString) {
23+
return serializers.fromJson(Media.serializer, jsonString)!;
24+
}
25+
26+
String toJson() {
27+
return serializers.toJson(Media.serializer, this);
28+
}
29+
30+
static Serializer<Media> get serializer => _$mediaSerializer;
31+
}
32+
33+
class MediaType extends EnumClass {
34+
static const MediaType image = _$image;
35+
static const MediaType video = _$video;
36+
37+
const MediaType._(super.name);
38+
39+
static BuiltSet<MediaType> get values => _$values;
40+
41+
static MediaType valueOf(String name) => _$valueOf(name);
42+
43+
static Serializer<MediaType> get serializer => _$mediaTypeSerializer;
44+
}

lib/models/src/media.g.dart

Lines changed: 232 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

lib/models/src/response.dart

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
import 'package:built_collection/built_collection.dart';
2+
import 'package:built_value/built_value.dart';
3+
import 'package:built_value/serializer.dart';
4+
5+
import 'media.dart';
6+
import 'serializers.dart';
7+
8+
part 'response.g.dart';
9+
10+
abstract class Response implements Built<Response, ResponseBuilder> {
11+
BuiltList<Media> get medias;
12+
13+
Response._();
14+
15+
factory Response([void Function(ResponseBuilder) updates]) = _$Response;
16+
17+
static Response fromJson(String jsonString) {
18+
return serializers.fromJson(Response.serializer, jsonString)!;
19+
}
20+
21+
String toJson() {
22+
return serializers.toJson(Response.serializer, this);
23+
}
24+
25+
static Serializer<Response> get serializer => _$responseSerializer;
26+
}

0 commit comments

Comments
 (0)