import 'package:json_annotation/json_annotation.dart'; part 'gitea.g.dart'; @JsonSerializable(fieldRename: FieldRename.snake) class GiteaUser { int? id; String? login; String? fullName; String? avatarUrl; DateTime? created; GiteaUser(); factory GiteaUser.fromJson(Map json) => _$GiteaUserFromJson(json); } @JsonSerializable(fieldRename: FieldRename.snake) class GiteaOrg { int? id; String? username; String? fullName; String? avatarUrl; String? description; String? website; String? location; GiteaOrg(); factory GiteaOrg.fromJson(Map json) => _$GiteaOrgFromJson(json); } @JsonSerializable(fieldRename: FieldRename.snake) class GiteaRepository { int? id; GiteaUser? owner; String? name; String? description; int? starsCount; int? forksCount; DateTime? updatedAt; String? website; int? size; int? openIssuesCount; int? openPrCounter; GiteaRepository(); factory GiteaRepository.fromJson(Map json) => _$GiteaRepositoryFromJson(json); } @JsonSerializable(fieldRename: FieldRename.snake) class GiteaTree { String type; String name; String? path; int? size; String? downloadUrl; GiteaTree({required this.type, required this.name}); factory GiteaTree.fromJson(Map json) => _$GiteaTreeFromJson(json); } @JsonSerializable(fieldRename: FieldRename.snake) class GiteaBlob extends GiteaTree { String? content; GiteaBlob({required String type, required String name}) : super(name: name, type: type); factory GiteaBlob.fromJson(Map json) => _$GiteaBlobFromJson(json); } @JsonSerializable(fieldRename: FieldRename.snake) class GiteaCommit { int? number; GiteaUser? author; String? title; String? body; GiteaCommitDetail? commit; String? sha; String? htmlUrl; GiteaCommit(); factory GiteaCommit.fromJson(Map json) => _$GiteaCommitFromJson(json); } @JsonSerializable(fieldRename: FieldRename.snake) class GiteaCommitDetail { String? message; GiteaCommitAuthor? author; GiteaCommitAuthor? committer; GiteaCommitDetail(); factory GiteaCommitDetail.fromJson(Map json) => _$GiteaCommitDetailFromJson(json); } @JsonSerializable(fieldRename: FieldRename.snake) class GiteaCommitAuthor { String? name; String? email; DateTime? date; GiteaCommitAuthor(); factory GiteaCommitAuthor.fromJson(Map json) => _$GiteaCommitAuthorFromJson(json); } @JsonSerializable(fieldRename: FieldRename.snake) class GiteaIssue { String? title; String? body; int? number; GiteaUser? user; int? comments; DateTime? updatedAt; String? state; String? htmlUrl; List? labels; GiteaIssue(); factory GiteaIssue.fromJson(Map json) => _$GiteaIssueFromJson(json); } @JsonSerializable(fieldRename: FieldRename.snake) class GiteaLabel { String? color; String? name; GiteaLabel(); factory GiteaLabel.fromJson(Map json) => _$GiteaLabelFromJson(json); } @JsonSerializable(fieldRename: FieldRename.snake) class GiteaHeatmapItem { int? timestamp; int? contributions; GiteaHeatmapItem(); factory GiteaHeatmapItem.fromJson(Map json) => _$GiteaHeatmapItemFromJson(json); } @JsonSerializable(fieldRename: FieldRename.snake) class GiteaComment { String? body; DateTime? createdAt; String? htmlUrl; String? originalAuthor; DateTime? updatedAt; int? id; GiteaUser? user; GiteaComment(); factory GiteaComment.fromJson(Map json) => _$GiteaCommentFromJson(json); }