]> git.lizzy.rs Git - go-anidb.git/blobdiff - mylist.go
Modernize
[go-anidb.git] / mylist.go
index 8f7288cd3d54ebddea3e8a5a6e15a39f047144e9..d65d9f41d6235516fafa3b74890b13f5fc847dc4 100644 (file)
--- a/mylist.go
+++ b/mylist.go
@@ -1,3 +1,71 @@
 package anidb
 
+import (
+       "time"
+)
+
 type LID int64
+
+type MyListState int
+
+const (
+       MyListStateUnknown = MyListState(iota)
+       MyListStateHDD
+       MyListStateCD
+       MyListStateDeleted
+)
+
+type FileState int
+
+const (
+       FileStateOriginal = FileState(iota)
+       FileStateCorrupted
+       FileStateEdited
+
+       FileStateOther = 100
+)
+const (
+       FileStateSelfRip = FileState(10 + iota)
+       FileStateDVD
+       FileStateVHS
+       FileStateTV
+       FileStateTheaters
+       FileStateStreamed
+)
+
+type MyListEntry struct {
+       LID LID
+
+       FID FID
+       EID EID
+       AID AID
+       GID GID
+
+       DateAdded   time.Time
+       DateWatched time.Time
+
+       State       FileState
+       MyListState MyListState
+
+       Storage string
+       Source  string
+       Other   string
+
+       Cached time.Time
+}
+
+func (e *MyListEntry) File() *File {
+       return e.FID.File()
+}
+
+func (e *MyListEntry) Episode() *Episode {
+       return e.EID.Episode()
+}
+
+func (e *MyListEntry) Anime() *Anime {
+       return e.AID.Anime()
+}
+
+func (e *MyListEntry) Group() *Group {
+       return e.GID.Group()
+}