diff --git a/model/src/main/java/com/sho/masegi/model/Event.kt b/model/src/main/java/com/sho/masegi/model/Event.kt new file mode 100644 index 0000000..660ccad --- /dev/null +++ b/model/src/main/java/com/sho/masegi/model/Event.kt @@ -0,0 +1,13 @@ +package com.sho.masegi.model + +import java.util.* + +typealias EventId = String + +data class Event( + val id: EventId, + val type: String, + val actor: User, + val repo: RepoLink, + val createdAt: Date +) diff --git a/model/src/main/java/com/sho/masegi/model/RepoLink.kt b/model/src/main/java/com/sho/masegi/model/RepoLink.kt new file mode 100644 index 0000000..945cf8f --- /dev/null +++ b/model/src/main/java/com/sho/masegi/model/RepoLink.kt @@ -0,0 +1,9 @@ +package com.sho.masegi.model + +import java.net.URL + +data class RepoLink( + val id: RepositoryId, + val name: String, + val url: URL +) \ No newline at end of file diff --git a/model/src/main/java/com/sho/masegi/model/Repository.kt b/model/src/main/java/com/sho/masegi/model/Repository.kt new file mode 100644 index 0000000..c15b637 --- /dev/null +++ b/model/src/main/java/com/sho/masegi/model/Repository.kt @@ -0,0 +1,23 @@ +package com.sho.masegi.model + +import java.net.URL +import java.util.Date + +typealias RepositoryId = Long + +data class Repository( + val id: RepositoryId, + val name: String, + val fullName: String, + val owner: User, + val url: URL, + val forksCount: Int, + val openIssuesCount: Int, + val watchersCount: Int, + val stargazersCount: Int, + val language: String?, + val createdAt: Date, + val updatedAt: Date, + val `private`: Boolean, + val description: String? + ) diff --git a/model/src/main/java/com/sho/masegi/model/User.kt b/model/src/main/java/com/sho/masegi/model/User.kt index 420ed8e..436d2f7 100644 --- a/model/src/main/java/com/sho/masegi/model/User.kt +++ b/model/src/main/java/com/sho/masegi/model/User.kt @@ -1,6 +1,13 @@ package com.sho.masegi.model +import java.net.URL + +typealias UserId = Long + data class User( - val id: Int, - val name: String + val id: UserId, + val login: String, + val displayLogin: String?, + val url: URL, + val avatarUrl: URL ) \ No newline at end of file