Use AnimeID type

This commit is contained in:
2019-06-07 10:50:38 +09:00
parent a3f04fbd2f
commit 18a7be18d2
12 changed files with 41 additions and 35 deletions

@ -4,9 +4,9 @@ import "sort"
// ActivityConsumeAnime is a user activity that consumes anime.
type ActivityConsumeAnime struct {
AnimeID string `json:"animeId"`
FromEpisode int `json:"fromEpisode"`
ToEpisode int `json:"toEpisode"`
AnimeID AnimeID `json:"animeId"`
FromEpisode int `json:"fromEpisode"`
ToEpisode int `json:"toEpisode"`
hasID
hasCreator
@ -14,7 +14,7 @@ type ActivityConsumeAnime struct {
}
// NewActivityConsumeAnime creates a new activity.
func NewActivityConsumeAnime(animeID string, fromEpisode int, toEpisode int, userID UserID) *ActivityConsumeAnime {
func NewActivityConsumeAnime(animeID AnimeID, fromEpisode int, toEpisode int, userID UserID) *ActivityConsumeAnime {
return &ActivityConsumeAnime{
hasID: hasID{
ID: GenerateID("ActivityConsumeAnime"),
@ -46,7 +46,7 @@ func (activity *ActivityConsumeAnime) Self() Loggable {
}
// LastActivityConsumeAnime returns the last activity for the given anime.
func (user *User) LastActivityConsumeAnime(animeID string) *ActivityConsumeAnime {
func (user *User) LastActivityConsumeAnime(animeID AnimeID) *ActivityConsumeAnime {
activities := FilterActivitiesConsumeAnime(func(activity *ActivityConsumeAnime) bool {
return activity.AnimeID == animeID && activity.CreatedBy == user.ID
})