git-touch-android-ios-app/lib/models/bitbucket.dart

48 lines
1.1 KiB
Dart
Raw Normal View History

2020-02-02 07:08:58 +01:00
import 'package:json_annotation/json_annotation.dart';
part 'bitbucket.g.dart';
2020-02-02 09:40:12 +01:00
@JsonSerializable(fieldRename: FieldRename.snake)
class BbPagination {
int pagelen;
int size;
int page;
String next;
List values;
BbPagination();
factory BbPagination.fromJson(Map<String, dynamic> json) =>
_$BbPaginationFromJson(json);
}
2020-02-02 07:08:58 +01:00
@JsonSerializable(fieldRename: FieldRename.snake)
class BbUser {
String username;
2020-02-02 09:40:12 +01:00
String nickname;
2020-02-02 07:08:58 +01:00
String displayName;
2020-02-02 09:40:12 +01:00
String type; // user, team
2020-02-02 07:08:58 +01:00
bool isStaff;
DateTime createdOn;
2020-02-02 07:24:22 +01:00
Map<String, dynamic> links;
String get avatarUrl => links['avatar']['href'];
2020-02-02 07:08:58 +01:00
BbUser();
factory BbUser.fromJson(Map<String, dynamic> json) => _$BbUserFromJson(json);
}
2020-02-02 09:40:12 +01:00
@JsonSerializable(fieldRename: FieldRename.snake)
class BbRepo {
String name;
BbUser owner;
String website;
String language;
int size;
String type; // repository
bool isPrivate;
DateTime createdOn;
DateTime updatedOn;
String description;
String fullName;
Map<String, dynamic> links;
String get avatarUrl => links['avatar']['href'];
BbRepo();
factory BbRepo.fromJson(Map<String, dynamic> json) => _$BbRepoFromJson(json);
}