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

146 lines
3.0 KiB
Dart
Raw Normal View History

2019-12-04 15:00:39 +01:00
import 'package:json_annotation/json_annotation.dart';
part 'gitlab.g.dart';
@JsonSerializable(fieldRename: FieldRename.snake)
2019-12-11 16:09:39 +01:00
class GitlabUserProject {
2019-12-04 15:00:39 +01:00
int id;
2019-12-11 16:09:39 +01:00
GitlabUser owner;
2019-12-04 15:00:39 +01:00
String name;
2019-12-11 16:09:39 +01:00
String description;
int starCount;
int forksCount;
String visibility;
2019-12-04 15:00:39 +01:00
2019-12-11 16:09:39 +01:00
GitlabUserProject();
2019-12-04 15:00:39 +01:00
2019-12-11 16:09:39 +01:00
factory GitlabUserProject.fromJson(Map<String, dynamic> json) =>
_$GitlabUserProjectFromJson(json);
2019-12-04 15:00:39 +01:00
}
@JsonSerializable(fieldRename: FieldRename.snake)
2019-12-11 16:09:39 +01:00
class GitlabUser {
2019-12-04 15:00:39 +01:00
int id;
2019-12-11 16:09:39 +01:00
String username;
2019-12-04 15:00:39 +01:00
String name;
2019-12-11 16:09:39 +01:00
String avatarUrl;
2019-12-04 15:00:39 +01:00
2019-12-11 16:09:39 +01:00
GitlabUser();
2019-12-04 15:00:39 +01:00
2019-12-11 16:09:39 +01:00
factory GitlabUser.fromJson(Map<String, dynamic> json) =>
_$GitlabUserFromJson(json);
2019-12-04 15:00:39 +01:00
}
@JsonSerializable(fieldRename: FieldRename.snake)
class GitlabTodoProject {
String pathWithNamespace;
GitlabTodoProject();
factory GitlabTodoProject.fromJson(Map<String, dynamic> json) =>
_$GitlabTodoProjectFromJson(json);
}
@JsonSerializable(fieldRename: FieldRename.snake)
class GitlabTodo {
GitlabUser author;
GitlabTodoProject project;
String actionName;
String targetType;
GitlabIssue target;
GitlabTodo();
factory GitlabTodo.fromJson(Map<String, dynamic> json) =>
_$GitlabTodoFromJson(json);
}
@JsonSerializable(fieldRename: FieldRename.snake)
class GitlabIssue {
int iid;
int projectId;
String title;
GitlabUser author;
String description;
String createdAt;
GitlabIssue();
factory GitlabIssue.fromJson(Map<String, dynamic> json) =>
_$GitlabIssueFromJson(json);
}
@JsonSerializable(fieldRename: FieldRename.snake)
class GitlabIssueNote {
GitlabUser author;
String body;
GitlabIssueNote();
factory GitlabIssueNote.fromJson(Map<String, dynamic> json) =>
_$GitlabIssueNoteFromJson(json);
}
2019-12-11 16:09:39 +01:00
@JsonSerializable(fieldRename: FieldRename.snake)
class GitlabProject {
int id;
String name;
String avatarUrl;
String description;
int starCount;
int forksCount;
String visibility;
String readmeUrl;
String webUrl;
GitlabProjectNamespace namespace;
bool issuesEnabled;
int openIssuesCount;
bool mergeRequestsEnabled;
@JsonKey(ignore: true)
String readme;
@JsonKey(ignore: true)
Map<String, double> languages;
@JsonKey(ignore: true)
String primaryLanguage;
GitlabProject();
factory GitlabProject.fromJson(Map<String, dynamic> json) =>
_$GitlabProjectFromJson(json);
}
@JsonSerializable(fieldRename: FieldRename.snake)
class GitlabProjectNamespace {
int id;
String name;
GitlabProjectNamespace();
factory GitlabProjectNamespace.fromJson(Map<String, dynamic> json) =>
_$GitlabProjectNamespaceFromJson(json);
}
2019-12-11 16:37:29 +01:00
@JsonSerializable(fieldRename: FieldRename.snake)
class GitlabTreeItem {
String type;
String path;
2019-12-11 17:07:12 +01:00
String name;
2019-12-11 16:37:29 +01:00
GitlabTreeItem();
factory GitlabTreeItem.fromJson(Map<String, dynamic> json) =>
_$GitlabTreeItemFromJson(json);
}
2019-12-11 16:58:25 +01:00
@JsonSerializable(fieldRename: FieldRename.snake)
class GitlabBlob {
String content;
GitlabBlob();
factory GitlabBlob.fromJson(Map<String, dynamic> json) =>
_$GitlabBlobFromJson(json);
}