Skip to content

Commit 0ec7eda

Browse files
committed
add models
1 parent ba98b5e commit 0ec7eda

12 files changed

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

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

0 commit comments

Comments
 (0)