domain

package
v0.0.0-...-f0b9b21 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 14, 2024 License: GPL-3.0 Imports: 13 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var ZeroVideoEntries = VideoEntries(maps.NewGroupMap[string, *VideoEntry]())

Functions

func EscapeTitle

func EscapeTitle(title string) string

EscapeTitle ensures that the filename abides the NTFS file naming scheme where special characters aren't allowed. More information can be found here: https://docs.microsoft.com/en-us/windows/win32/fileio/naming-a-file

Types

type Anime

type Anime struct {
	ID             int64              `json:"id,omitempty"`
	IDMal          *int64             `json:"idMal,omitempty"`
	StartDate      *time.Time         `json:"startDate,omitempty"`
	EndDate        *time.Time         `json:"endDate,omitempty"`
	Score          int64              `json:"score,omitempty"`
	Description    string             `json:"description,omitempty"`
	TitleRomaji    *string            `json:"titleRomaji,omitempty"`
	TitleEnglish   *string            `json:"titleEnglish,omitempty"`
	TitleNative    *string            `json:"titleNative,omitempty"`
	Title          string             `json:"title,omitempty"`
	Colour         *string            `json:"colour,omitempty"`
	Year           *int64             `json:"year,omitempty"`
	NextAiringDate *time.Time         `json:"nextAiringDate,omitempty"`
	Status         enums.AnimeStatus  `json:"status,omitempty"`
	Format         enums.AnimeFormat  `json:"format,omitempty"`
	Season         *enums.AnimeSeason `json:"season,omitempty"`

	CreatedAt time.Time `json:"-"`
	UpdatedAt time.Time `json:"-"`

	PosterID    int64        `json:"-"`
	BannerID    *int64       `json:"-"`
	Poster      Poster       `json:"poster,omitempty"`
	Banner      *Banner      `json:"banner,omitempty"`
	Genres      []*Genre     `json:"genres,omitempty"`
	Studios     []*Studio    `json:"studios,omitempty"`
	Preferences *Preferences `json:"preferences,omitempty"`
}

type AnimeBase

type AnimeBase struct {
	ID int64 `json:"id" patternizer:"-"`

	Title        string `json:"title" patternizer:"Title"`
	Episode      string `json:"episode" patternizer:"Episode"`
	Height       int    `json:"height" patternizer:"Height"`
	ReleaseGroup string `json:"releaseGroup" patternizer:"ReleaseGroup"`
}
var ZeroAnimeBase AnimeBase

zeroAnimeBase is a zero value for AnimeBase

func (AnimeBase) Equal

func (a AnimeBase) Equal(anime AnimeBase) bool

Equal determines if the provided element matches.

func (AnimeBase) Escape

func (a AnimeBase) Escape() (out AnimeBase)

Escape ensures that the filename abides the NTFS file naming scheme where special characters aren't allowed. More information can be found here: https://docs.microsoft.com/en-us/windows/win32/fileio/naming-a-file

func (AnimeBase) Hash

func (a AnimeBase) Hash() *string

func (AnimeBase) IsZero

func (a AnimeBase) IsZero() bool

func (AnimeBase) String

func (a AnimeBase) String() string

type AnimeEpisode

type AnimeEpisode struct {
	Name          string                    `json:"name,omitempty"`
	CreatedAt     *time.Time                `json:"createdAt,omitempty"`
	ReleaseGroups AnimeEpisodeReleaseGroups `json:"releaseGroups"`
}

type AnimeEpisodeFlat

type AnimeEpisodeFlat struct {
	TitleEpisodeID        int64
	TitleEpisodeCreatedAt time.Time
	EpisodeName           string
	ReleaseGroupID        *int64
	ReleaseGroupName      *string
	XdccQualityID         *int64
	XdccQualityHeight     *int64
	VideoQualityID        *int64
	VideoQualityHeight    *int64
	ThumbnailID           *int64
	ThumbnailName         *string
	ThumbnailHash         *string
	VideoID               *int64
	VideoPath             *string
	VideoCrc32            *string
	VideoDuration         *float64
	VideoSize             *int64
	VideoCreatedAt        *time.Time
	AnimeStatus           enums.AnimeStatus
}

type AnimeEpisodeFlatItems

type AnimeEpisodeFlatItems []AnimeEpisodeFlat

func (AnimeEpisodeFlatItems) Unflatten

func (items AnimeEpisodeFlatItems) Unflatten() AnimeEpisodes

type AnimeEpisodeLatest

type AnimeEpisodeLatest struct {
	ID            int64                             `json:"id,omitempty"`
	Title         string                            `json:"title,omitempty"`
	TitleEnglish  *string                           `json:"titleEnglish,omitempty"`
	TitleNative   *string                           `json:"titleNative,omitempty"`
	TitleRomaji   *string                           `json:"titleRomaji,omitempty"`
	Score         int64                             `json:"score,omitempty"`
	Poster        Poster                            `json:"poster,omitempty"`
	Episode       Episode                           `json:"episode,omitempty"`
	ReleaseGroups []*AnimeEpisodeLatestReleaseGroup `json:"releaseGroups,omitempty"`
}

type AnimeEpisodeLatestFlat

type AnimeEpisodeLatestFlat struct {
	EpisodeID          int64
	EpisodeName        string
	TitleEpisodeID     int64
	AnimeID            int64
	AnimeTitle         string
	AnimeTitleEnglish  *string
	AnimeTitleNative   *string
	AnimeTitleRomaji   *string
	AnimeScore         int64
	PosterID           int64
	PosterHash         string
	PosterName         string
	VideoPath          string
	VideoCrc32         string
	VideoSize          int64
	VideoDuration      float64
	VideoCreatedAt     time.Time
	ThumbnailID        int64
	ThumbnailHash      string
	ThumbnailName      string
	ReleaseGroupID     int64
	ReleaseGroupName   string
	XdccQualityID      *int64
	XdccQualityHeight  *int64
	VideoQualityID     *int64
	VideoQualityHeight *int64
}

type AnimeEpisodeLatestFlatItems

type AnimeEpisodeLatestFlatItems []AnimeEpisodeLatestFlat

func (AnimeEpisodeLatestFlatItems) Unflatten

func (items AnimeEpisodeLatestFlatItems) Unflatten() []*AnimeEpisodeLatest

type AnimeEpisodeLatestItems

type AnimeEpisodeLatestItems []*AnimeEpisodeLatest

type AnimeEpisodeLatestReleaseGroup

type AnimeEpisodeLatestReleaseGroup struct {
	EpisodeID int64                                    `json:"episodeID,omitempty"`
	ID        int64                                    `json:"id,omitempty"`
	Name      string                                   `json:"name,omitempty"`
	Qualities []*AnimeEpisodeLatestReleaseGroupQuality `json:"qualities,omitempty"`
}

type AnimeEpisodeLatestReleaseGroupQuality

type AnimeEpisodeLatestReleaseGroupQuality struct {
	ID        int64      `json:"id,omitempty"`
	Height    int64      `json:"height,omitempty"`
	Video     *Video     `json:"video,omitempty"`
	Thumbnail *Thumbnail `json:"thumbnail,omitempty"`
}

type AnimeEpisodeReleaseGroup

type AnimeEpisodeReleaseGroup struct {
	EpisodeID int64                             `json:"episodeID,omitempty"`
	ID        int64                             `json:"id,omitempty"`
	Name      string                            `json:"name,omitempty"`
	Qualities AnimeEpisodeReleaseGroupQualities `json:"qualities"`
}

func (AnimeEpisodeReleaseGroup) FindByQuality

func (group AnimeEpisodeReleaseGroup) FindByQuality(quality Quality) (*AnimeEpisodeReleaseGroupQuality, bool)

type AnimeEpisodeReleaseGroupQualities

type AnimeEpisodeReleaseGroupQualities []*AnimeEpisodeReleaseGroupQuality

type AnimeEpisodeReleaseGroupQualitiesSortByHeight

type AnimeEpisodeReleaseGroupQualitiesSortByHeight AnimeEpisodeReleaseGroupQualities

func (AnimeEpisodeReleaseGroupQualitiesSortByHeight) Len

func (AnimeEpisodeReleaseGroupQualitiesSortByHeight) Less

func (AnimeEpisodeReleaseGroupQualitiesSortByHeight) Swap

type AnimeEpisodeReleaseGroupQuality

type AnimeEpisodeReleaseGroupQuality struct {
	ID        *int64     `json:"id,omitempty"`
	Height    *int64     `json:"height,omitempty"`
	Video     *Video     `json:"video,omitempty"`
	Thumbnail *Thumbnail `json:"thumbnail,omitempty"`
}

type AnimeEpisodeReleaseGroups

type AnimeEpisodeReleaseGroups []*AnimeEpisodeReleaseGroup

type AnimeEpisodeReleaseGroupsSortByName

type AnimeEpisodeReleaseGroupsSortByName AnimeEpisodeReleaseGroups

func (AnimeEpisodeReleaseGroupsSortByName) Len

func (AnimeEpisodeReleaseGroupsSortByName) Less

func (AnimeEpisodeReleaseGroupsSortByName) Swap

type AnimeEpisodes

type AnimeEpisodes []*AnimeEpisode

type AnimeEpisodesSortByName

type AnimeEpisodesSortByName AnimeEpisodes

func (AnimeEpisodesSortByName) Len

func (a AnimeEpisodesSortByName) Len() int

func (AnimeEpisodesSortByName) Less

func (a AnimeEpisodesSortByName) Less(i, j int) bool

func (AnimeEpisodesSortByName) Swap

func (a AnimeEpisodesSortByName) Swap(i, j int)

type AnimeFlat

type AnimeFlat struct {
	AnimeID                       int64
	AnimeIDMal                    *int64
	AnimeStartDate                *time.Time
	AnimeEndDate                  *time.Time
	AnimeScore                    int64
	AnimeDescription              string
	AnimeTitleRomaji              *string
	AnimeTitleEnglish             *string
	AnimeTitleNative              *string
	AnimeTitle                    string
	AnimePosterID                 int64
	AnimeBannerID                 *int64
	AnimeColour                   *string
	AnimeYear                     *int64
	AnimeNextAiringDate           *time.Time
	AnimeCreatedAt                time.Time
	AnimeUpdatedAt                time.Time
	AnimeStatus                   enums.AnimeStatus
	AnimeFormat                   enums.AnimeFormat
	AnimeSeason                   *enums.AnimeSeason
	PosterName                    string
	PosterHash                    string
	PosterUri                     string
	BannerName                    *string
	BannerHash                    *string
	BannerUri                     *string
	PreferencesAnimeID            *int64
	PreferencesFavourite          *bool
	PreferencesAutomaticDownloads *bool
	PreferencesPerformChecksum    *bool
	GenreID                       *int64
	GenreName                     *string
	StudioID                      *int64
	StudioName                    *string
}

func (AnimeFlat) Unflatten

func (a AnimeFlat) Unflatten() *Anime

type AnimeFlatItems

type AnimeFlatItems []AnimeFlat

func (AnimeFlatItems) Unflatten

func (items AnimeFlatItems) Unflatten() AnimeItems

type AnimeGenre

type AnimeGenre struct {
	AnimeID int64 `json:"animeID,omitempty"`
	GenreID int64 `json:"genreID,omitempty"`

	Anime Anime `json:"anime,omitempty"`
	Genre Genre `json:"genre,omitempty"`
}

type AnimeGenreFlat

type AnimeGenreFlat struct {
	AnimeID   int64
	GenreID   int64
	GenreName string
}

func (AnimeGenreFlat) Unflatten

func (a AnimeGenreFlat) Unflatten() *AnimeGenre

type AnimeIndexFlat

type AnimeIndexFlat struct {
	AnimeID             int64
	AnimeIDMal          *int64
	AnimeStartDate      *time.Time
	AnimeEndDate        *time.Time
	AnimeScore          int64
	AnimeDescription    string
	AnimeTitleRomaji    *string
	AnimeTitleEnglish   *string
	AnimeTitleNative    *string
	AnimeTitle          string
	AnimePosterID       int64
	AnimeBannerID       *int64
	AnimeColour         *string
	AnimeYear           *int64
	AnimeNextAiringDate *time.Time
	AnimeCreatedAt      time.Time
	AnimeUpdatedAt      time.Time
	AnimeStatus         enums.AnimeStatus
	AnimeFormat         enums.AnimeFormat
	AnimeSeason         *enums.AnimeSeason
	PosterName          string
	PosterHash          string
	PosterUri           string
	BannerName          *string
	BannerHash          *string
	BannerUri           *string
}

func (AnimeIndexFlat) Unflatten

func (a AnimeIndexFlat) Unflatten() *Anime

type AnimeItems

type AnimeItems []*Anime

func (AnimeItems) Prefixify

func (items AnimeItems) Prefixify()

func (AnimeItems) Unprefixify

func (items AnimeItems) Unprefixify()

type AnimeLatest

type AnimeLatest struct {
	ID           int64             `json:"id,omitempty"`
	IDMal        *int64            `json:"idMal,omitempty"`
	TitleRomaji  *string           `json:"titleRomaji,omitempty"`
	TitleEnglish *string           `json:"titleEnglish,omitempty"`
	TitleNative  *string           `json:"titleNative,omitempty"`
	Title        string            `json:"title,omitempty"`
	Poster       Poster            `json:"poster,omitempty"`
	Episode      Episode           `json:"episode,omitempty"`
	Format       enums.AnimeFormat `json:"format,omitempty"`
	Status       enums.AnimeStatus `json:"status,omitempty"`
	Colour       *string           `json:"colour,omitempty"`
	CreatedAt    time.Time         `json:"createdAt,omitempty"`
}

type AnimeLatestFlat

type AnimeLatestFlat struct {
	AnimeID               int64
	AnimeIDMal            *int64
	AnimeTitle            string
	AnimeTitleEnglish     *string
	AnimeTitleNative      *string
	AnimeTitleRomaji      *string
	AnimeColour           *string
	AnimeFormat           enums.AnimeFormat
	AnimeStatus           enums.AnimeStatus
	PosterID              int64
	PosterName            string
	PosterHash            string
	EpisodeName           string
	TitleEpisodeID        int64
	TitleEpisodeCreatedAt time.Time
	PreferencesFavourite  *bool
}

type AnimeLatestFlatItems

type AnimeLatestFlatItems []AnimeLatestFlat

func (AnimeLatestFlatItems) Unflatten

func (c AnimeLatestFlatItems) Unflatten() []*AnimeLatest

type AnimeLatestItems

type AnimeLatestItems []*AnimeLatest

type AnimeSearch

type AnimeSearch struct {
	AnimeID int64
	Title   string
}

type AnimeSearchContext

type AnimeSearchContext struct {
	IDs    []int64
	Scores []*AnimeSearchScore
}

func (*AnimeSearchContext) Append

func (a *AnimeSearchContext) Append(score *AnimeSearchScore)

func (AnimeSearchContext) Len

func (a AnimeSearchContext) Len() int

func (AnimeSearchContext) Less

func (a AnimeSearchContext) Less(i, j int) bool

func (*AnimeSearchContext) Results

func (a *AnimeSearchContext) Results() []int64

func (AnimeSearchContext) Swap

func (a AnimeSearchContext) Swap(i, j int)

type AnimeSearchItems

type AnimeSearchItems []*AnimeSearch

type AnimeSearchItemsSortByTitle

type AnimeSearchItemsSortByTitle AnimeSearchItems

func (AnimeSearchItemsSortByTitle) Len

func (AnimeSearchItemsSortByTitle) Less

func (a AnimeSearchItemsSortByTitle) Less(i, j int) bool

func (AnimeSearchItemsSortByTitle) Swap

func (a AnimeSearchItemsSortByTitle) Swap(i, j int)

type AnimeSearchScore

type AnimeSearchScore struct {
	AnimeSearch AnimeSearch
	Score       int
}

type AnimeSimulcast

type AnimeSimulcast struct {
	ID             int64              `json:"id,omitempty"`
	IDMal          *int64             `json:"idMal,omitempty"`
	StartDate      *time.Time         `json:"startDate,omitempty"`
	EndDate        *time.Time         `json:"endDate,omitempty"`
	Score          int64              `json:"score,omitempty"`
	Description    string             `json:"description,omitempty"`
	TitleRomaji    *string            `json:"titleRomaji,omitempty"`
	TitleEnglish   *string            `json:"titleEnglish,omitempty"`
	TitleNative    *string            `json:"titleNative,omitempty"`
	Title          string             `json:"title,omitempty"`
	Status         enums.AnimeStatus  `json:"status,omitempty"`
	Format         enums.AnimeFormat  `json:"format,omitempty"`
	Season         *enums.AnimeSeason `json:"season,omitempty"`
	SeasonYear     *int64             `json:"seasonYear,omitempty"`
	Colour         *string            `json:"colour,omitempty"`
	Poster         Poster             `json:"poster,omitempty"`
	Banner         *Banner            `json:"banner,omitempty"`
	Genres         []*Genre           `json:"genres,omitempty"`
	Studios        []*Studio          `json:"studios,omitempty"`
	Weekday        time.Weekday       `json:"weekday,omitempty"`
	NextAiringDate time.Time          `json:"nextAiringDate,omitempty"`
}

type AnimeSimulcastFlat

type AnimeSimulcastFlat struct {
	AnimeID           int64
	AnimeIDMal        *int64
	AnimeStartDate    *time.Time
	AnimeEndDate      *time.Time
	AnimeScore        int64
	AnimeDescription  string
	AnimeTitleRomaji  *string
	AnimeTitleEnglish *string
	AnimeTitleNative  *string
	AnimeTitle        string
	AnimeStatus       enums.AnimeStatus
	AnimeFormat       enums.AnimeFormat
	AnimePosterID     int64
	AnimeBannerID     *int64
	AnimeSeason       *enums.AnimeSeason
	AnimeYear         *int64
	AnimeColour       *string
	PosterName        string
	PosterHash        string
	BannerName        *string
	BannerHash        *string
	SimulcastHour     int16
	SimulcastMinute   int16
	SimulcastSecond   int16
	SimulcastWeekday  int64
	GenreID           *int64
	GenreName         *string
	StudioID          *int64
	StudioName        *string
}

func (AnimeSimulcastFlat) Unflatten

func (a AnimeSimulcastFlat) Unflatten(currentTime time.Time) *AnimeSimulcast

type AnimeSimulcastFlatItems

type AnimeSimulcastFlatItems []AnimeSimulcastFlat

func (AnimeSimulcastFlatItems) Unflatten

func (items AnimeSimulcastFlatItems) Unflatten() AnimeSimulcasts

type AnimeSimulcasts

type AnimeSimulcasts []*AnimeSimulcast

func (AnimeSimulcasts) Prefixify

func (items AnimeSimulcasts) Prefixify()

func (AnimeSimulcasts) Unprefixify

func (items AnimeSimulcasts) Unprefixify()

type AnimeSimulcastsSortByNextAiringDate

type AnimeSimulcastsSortByNextAiringDate AnimeSimulcasts

func (AnimeSimulcastsSortByNextAiringDate) Len

func (AnimeSimulcastsSortByNextAiringDate) Less

func (AnimeSimulcastsSortByNextAiringDate) Swap

type AnimeStudio

type AnimeStudio struct {
	AnimeID  int64
	StudioID int64

	Anime  Anime
	Studio Studio
}

type AnimeStudioFlat

type AnimeStudioFlat struct {
	AnimeID    int64
	StudioID   int64
	StudioName string
}

func (AnimeStudioFlat) Unflatten

func (a AnimeStudioFlat) Unflatten() *AnimeStudio
type Banner struct {
	ID   int64  `json:"id,omitempty"`
	Name string `json:"name,omitempty"`
	Hash string `json:"hash,omitempty"`
	Uri  string `json:"uri,omitempty"`
}

func (*Banner) Review

func (p *Banner) Review() *BannerReview

type BannerReview

type BannerReview struct {
	ID   int64  `json:"id,omitempty"`
	Name string `json:"name,omitempty"`
	Hash string `json:"hash,omitempty"`
}

type Bot

type Bot struct {
	ID   int64  `json:"id,omitempty"`
	Name string `json:"name,omitempty"`
}

type DeadXDCCReason

type DeadXDCCReason struct {
	Reason enums.XDCCRemoveReason
	XDCC   XDCC
}

type Episode

type Episode struct {
	ID   int64  `json:"id,omitempty"`
	Name string `json:"name,omitempty"`
}

type Genre

type Genre struct {
	ID   int64  `json:"id,omitempty"`
	Name string `json:"name,omitempty"`
}

type Genres

type Genres []*Genre

type GenresSortByName

type GenresSortByName Genres

func (GenresSortByName) Len

func (a GenresSortByName) Len() int

func (GenresSortByName) Less

func (a GenresSortByName) Less(i, j int) bool

func (GenresSortByName) Swap

func (a GenresSortByName) Swap(i, j int)

type GroupPack

type GroupPack struct {
	Entry entry.Entry
	Pack  Pack
}

type GroupPacks

type GroupPacks map[TitleBase][]*GroupPack

type LibraryBestQualitiesPerReleaseGroup

type LibraryBestQualitiesPerReleaseGroup []*LibraryBestQualityPerReleaseGroup

func (LibraryBestQualitiesPerReleaseGroup) FindByReleaseGroup

func (items LibraryBestQualitiesPerReleaseGroup) FindByReleaseGroup(releaseGroupName string) *Quality

type LibraryBestQualitiesPerReleaseGroupSortByReleaseGroup

type LibraryBestQualitiesPerReleaseGroupSortByReleaseGroup LibraryBestQualitiesPerReleaseGroup

func (LibraryBestQualitiesPerReleaseGroupSortByReleaseGroup) Len

func (LibraryBestQualitiesPerReleaseGroupSortByReleaseGroup) Less

func (LibraryBestQualitiesPerReleaseGroupSortByReleaseGroup) Swap

type LibraryBestQualityPerReleaseGroup

type LibraryBestQualityPerReleaseGroup struct {
	Quality      *Quality     `json:"quality,omitempty"`
	ReleaseGroup ReleaseGroup `json:"releaseGroup,omitempty"`
}

type LibraryItem

type LibraryItem struct {
	TitleName         string     `json:"titleName,omitempty"`
	TitleSeasonNumber string     `json:"seasonNumber,omitempty"`
	DeletedAt         *time.Time `json:"deletedAt,omitempty"`
	AnimeID           *int64     `json:"animeID,omitempty"`
}

type LibraryVideo

type LibraryVideo struct {
	AnimeID          int64  `json:"animeID,omitempty"`
	TitleEpisodeID   int64  `json:"titleEpisodeID,omitempty"`
	XDCCID           int64  `json:"xdccid,omitempty"`
	ReleaseGroupName string `json:"releaseGroupName,omitempty"`
	QualityHeight    int64  `json:"qualityHeight,omitempty"`
	AnimeTitle       string `json:"animeTitle,omitempty"`
	EpisodeName      string `json:"episodeName,omitempty"`
}

type ListReviewedLibraryItem

type ListReviewedLibraryItem struct {
	Title   Title
	AnimeID []int64
}

type ListReviewedLibraryItemFlat

type ListReviewedLibraryItemFlat struct {
	TitleID           int64
	TitleName         string
	TitleReviewed     bool
	TitleCreatedAt    time.Time
	TitleUpdatedAt    time.Time
	TitleDeletedAt    *time.Time
	TitleSeasonNumber string
	AnimeID           int64
}

type ListReviewedLibraryItemsFlat

type ListReviewedLibraryItemsFlat []ListReviewedLibraryItemFlat

func (ListReviewedLibraryItemsFlat) Unflatten

type Pack

type Pack struct {
	Pack     int64
	Size     int64
	Bot      string
	Filename string
}

type PackItems

type PackItems []*Pack

type PacklistSync

type PacklistSync struct {
	Retrieved int
	Created   int
	Updated   int
	Deleted   int
}

func (PacklistSync) IsEmpty

func (s PacklistSync) IsEmpty() bool

type Poster

type Poster struct {
	ID   int64  `json:"id,omitempty"`
	Name string `json:"name,omitempty"`
	Hash string `json:"hash,omitempty"`
	Uri  string `json:"-"`
}

type Preferences

type Preferences struct {
	AnimeID   int64     `json:"-"`
	CreatedAt time.Time `json:"-"`
	UpdatedAt time.Time `json:"-"`

	Favourite          *bool `json:"favourite,omitempty"`
	AutomaticDownloads *bool `json:"automaticDownloads,omitempty"`
	PerformChecksum    *bool `json:"performChecksum,omitempty"`
}

type Quality

type Quality struct {
	ID     int64 `json:"id,omitempty"`
	Height int64 `json:"height,omitempty"`
}

type ReleaseGroup

type ReleaseGroup struct {
	ID   int64  `json:"id,omitempty"`
	Name string `json:"name,omitempty"`
}

type Runner

type Runner struct {
	ID        int64     `json:"id,omitempty"`
	CreatedAt time.Time `json:"createdAt,omitempty"`
	UpdatedAt time.Time `json:"updatedAt,omitempty"`
	Name      string    `json:"name,omitempty"`
	User      string    `json:"user,omitempty"`
	Ident     string    `json:"ident,omitempty"`
	Hostname  string    `json:"hostname,omitempty"`
	Signature string    `json:"signature,omitempty"`
}

type Simulcast

type Simulcast struct {
	TitleID int64
	Weekday time.Weekday
	Hour    int8
	Minute  int8
	Second  int8
}

type Studio

type Studio struct {
	ID   int64  `json:"id,omitempty"`
	Name string `json:"name,omitempty"`
}

type Studios

type Studios []*Studio

type StudiosSortByName

type StudiosSortByName Studios

func (StudiosSortByName) Len

func (a StudiosSortByName) Len() int

func (StudiosSortByName) Less

func (a StudiosSortByName) Less(i, j int) bool

func (StudiosSortByName) Swap

func (a StudiosSortByName) Swap(i, j int)

type Thumbnail

type Thumbnail struct {
	ID   int64  `json:"id,omitempty"`
	Name string `json:"name,omitempty"`
	Hash string `json:"hash,omitempty"`
}

func (*Thumbnail) Review

func (p *Thumbnail) Review() *ThumbnailReview

type ThumbnailReview

type ThumbnailReview struct {
	ID   int64  `json:"id,omitempty"`
	Name string `json:"name,omitempty"`
	Hash string `json:"hash,omitempty"`
}

type Title

type Title struct {
	ID           int64  `json:"id,omitempty"`
	Name         string `json:"name,omitempty"`
	Reviewed     bool   `json:"reviewed,omitempty"`
	SeasonNumber string `json:"seasonNumber,omitempty"`

	IsDeleted bool       `json:"-"`
	CreatedAt time.Time  `json:"-"`
	UpdatedAt time.Time  `json:"-"`
	DeletedAt *time.Time `json:"-"`
}

func (Title) Names

func (t Title) Names() []string

type TitleAnime

type TitleAnime struct {
	TitleID   int64     `json:"titleID,omitempty"`
	AnimeID   int64     `json:"animeID,omitempty"`
	CreatedAt time.Time `json:"createdAt,omitempty"`

	Title Title `json:"title,omitempty"`
	Anime Anime `json:"anime,omitempty"`
}

type TitleAnimeFlat

type TitleAnimeFlat struct {
	TitleID             int64
	AnimeID             int64
	CreatedAt           time.Time
	TitleName           string
	TitleSeasonNumber   string
	TitleReviewed       bool
	TitleIsDeleted      bool
	AnimeIDMal          *int64
	AnimeStartDate      *time.Time
	AnimeEndDate        *time.Time
	AnimeScore          int64
	AnimeDescription    string
	AnimeTitleRomaji    *string
	AnimeTitleEnglish   *string
	AnimeTitleNative    *string
	AnimeTitle          string
	AnimePosterID       int64
	AnimeBannerID       *int64
	AnimeColour         *string
	AnimeYear           *int64
	AnimeNextAiringDate *time.Time
	AnimeCreatedAt      time.Time
	AnimeUpdatedAt      time.Time
	AnimeStatus         enums.AnimeStatus
	AnimeFormat         enums.AnimeFormat
	AnimeSeason         *enums.AnimeSeason
	PosterName          string
	PosterHash          string
	PosterUri           string
	BannerName          *string
	BannerHash          *string
	BannerUri           *string
}

func (TitleAnimeFlat) Unflatten

func (a TitleAnimeFlat) Unflatten() *TitleAnime

type TitleBase

type TitleBase struct {
	Name         string `json:"name,omitempty"`
	SeasonNumber string `json:"seasonNumber,omitempty"`
}

func (TitleBase) String

func (p TitleBase) String() string

type TitleEpisode

type TitleEpisode struct {
	ID        int64 `json:"id,omitempty"`
	TitleID   int64 `json:"titleID,omitempty"`
	EpisodeID int64 `json:"episodeID,omitempty"`
	IsDeleted bool  `json:"isDeleted,omitempty"`

	CreatedAt time.Time  `json:"-"`
	DeletedAt *time.Time `json:"-"`

	Title   Title   `json:"-"`
	Episode Episode `json:"-"`
}

type TitleEpisodeFlat

type TitleEpisodeFlat struct {
	ID                int64
	TitleID           int64
	EpisodeID         int64
	CreatedAt         time.Time
	DeletedAt         *time.Time
	IsDeleted         bool
	TitleName         string
	TitleSeasonNumber string
	TitleReviewed     bool
	TitleIsDeleted    bool
	TitleDeletedAt    *time.Time
	EpisodeName       string
}

func (TitleEpisodeFlat) Unflatten

func (e TitleEpisodeFlat) Unflatten() *TitleEpisode

type TitleReview

type TitleReview struct {
	ID           int64  `json:"id,omitempty"`
	Name         string `json:"name,omitempty"`
	Reviewed     bool   `json:"reviewed,omitempty"`
	SeasonNumber string `json:"seasonNumber,omitempty"`

	CreatedAt time.Time  `json:"-"`
	UpdatedAt time.Time  `json:"-"`
	DeletedAt *time.Time `json:"-"`
	IsDeleted bool       `json:"-"`

	Filenames []string   `json:"filenames,omitempty"`
	Anime     AnimeItems `json:"anime,omitempty"`
}

type TitleReviewFlat

type TitleReviewFlat struct {
	TitleID             int64
	TitleName           string
	TitleReviewed       bool
	TitleCreatedAt      time.Time
	TitleUpdatedAt      time.Time
	TitleDeletedAt      *time.Time
	TitleIsDeleted      bool
	TitleSeasonNumber   string
	AnimeID             *int64
	AnimeIDMal          *int64
	AnimeStartDate      *time.Time
	AnimeEndDate        *time.Time
	AnimeScore          *int64
	AnimeDescription    *string
	AnimeTitleRomaji    *string
	AnimeTitleEnglish   *string
	AnimeTitleNative    *string
	AnimeTitle          *string
	AnimePosterID       *int64
	AnimeBannerID       *int64
	AnimeColour         *string
	AnimeYear           *int64
	AnimeNextAiringDate *time.Time
	AnimeCreatedAt      *time.Time
	AnimeUpdatedAt      *time.Time
	AnimeStatus         *enums.AnimeStatus
	AnimeFormat         *enums.AnimeFormat
	AnimeSeason         *enums.AnimeSeason
	PosterName          *string
	PosterHash          *string
	PosterUri           *string
	BannerName          *string
	BannerHash          *string
	BannerUri           *string
	XdccFilename        *string
}

type TitleReviewFlatItems

type TitleReviewFlatItems []TitleReviewFlat

func (TitleReviewFlatItems) Unflatten

func (a TitleReviewFlatItems) Unflatten() []*TitleReview

type TitleReviewItems

type TitleReviewItems []*TitleReview

type UnusedImages

type UnusedImages struct {
	UnusedPoster    int64
	UnusedBanner    int64
	UnusedThumbnail int64
}

func (UnusedImages) AnyUnused

func (u UnusedImages) AnyUnused() bool

type Video

type Video struct {
	CreatedAt time.Time `json:"createdAt,omitempty"`
	Path      string    `json:"path,omitempty"`
	CRC32     string    `json:"crc32,omitempty"`
	ID        int64     `json:"id,omitempty"`
	Duration  float64   `json:"duration,omitempty"`
	Size      int64     `json:"size,omitempty"`

	QualityID   *int64 `json:"-"`
	ThumbnailID int64  `json:"-"`
	XDCCID      int64  `json:"-"`

	Thumbnail *Thumbnail `json:"thumbnail,omitempty"`
	XDCC      *XDCC      `json:"xdcc,omitempty"`
	Quality   *Quality   `json:"quality,omitempty"`
}

type VideoEntries

type VideoEntries maps.GroupMap[string, *VideoEntry]

type VideoEntry

type VideoEntry struct {
	Anime       AnimeBase   `json:"anime,omitempty"`
	Video       Video       `json:"video,omitempty"`
	Preferences Preferences `json:"preferences,omitempty"`
}

type VideoEntryFlat

type VideoEntryFlat []VideoEntryFlatItem

func (VideoEntryFlat) Unflatten

func (items VideoEntryFlat) Unflatten() VideoEntries

type VideoEntryFlatItem

type VideoEntryFlatItem struct {
	VideoID                       int64
	VideoPath                     string
	VideoDuration                 float64
	VideoSize                     int64
	VideoCrc32                    string
	VideoThumbnailID              int64
	VideoXdccID                   int64
	VideoQualityID                *int64
	VideoCreatedAt                time.Time
	AnimeID                       int64
	AnimeTitle                    string
	PreferencesFavourite          *bool
	PreferencesAutomaticDownloads *bool
	PreferencesPerformChecksum    *bool
	EpisodeName                   string
	QualityHeight                 int64
	ReleaseGroupName              string
}

func (VideoEntryFlatItem) Unflatten

func (h VideoEntryFlatItem) Unflatten() *VideoEntry

type XDCC

type XDCC struct {
	ID              int64      `json:"id,omitempty"`
	Pack            int64      `json:"pack,omitempty"`
	Size            int64      `json:"size,omitempty"`
	Filename        string     `json:"filename,omitempty"`
	EscapedFilename string     `json:"escapedFilename,omitempty"`
	BotID           int64      `json:"botID,omitempty"`
	QualityID       *int64     `json:"qualityID,omitempty"`
	ReleaseGroupID  int64      `json:"releaseGroupID,omitempty"`
	TitleEpisodeID  int64      `json:"titleEpisodeID,omitempty"`
	DeletedAt       *time.Time `json:"deletedAt,omitempty"`
	CreatedAt       time.Time  `json:"createdAt,omitempty"`
	UpdatedAt       time.Time  `json:"updatedAt,omitempty"`
	IsDeleted       bool       `json:"isDeleted,omitempty"`

	Bot          Bot          `json:"bot,omitempty"`
	Quality      *Quality     `json:"quality,omitempty"`
	ReleaseGroup ReleaseGroup `json:"releaseGroup,omitempty"`
	TitleEpisode TitleEpisode `json:"titleEpisode,omitempty"`
	Videos       []*Video     `json:"videos.omitempty"`
}

func (XDCC) IsFairlyNew

func (x XDCC) IsFairlyNew() bool

type XDCCFlat

type XDCCFlat struct {
	ID                    int64
	Pack                  int64
	Size                  int64
	Filename              string
	EscapedFilename       string
	BotID                 int64
	QualityID             *int64
	ReleaseGroupID        int64
	TitleEpisodeID        int64
	CreatedAt             time.Time
	UpdatedAt             time.Time
	DeletedAt             *time.Time
	IsDeleted             bool
	VideoID               *int64
	BotName               string
	ReleaseGroupName      string
	QualityHeight         *int64
	TitleEpisodeTitleID   int64
	TitleEpisodeEpisodeID int64
	EpisodeName           string
	TitleName             string
	TitleSeasonNumber     string
}

func (XDCCFlat) Unflatten

func (x XDCCFlat) Unflatten() *XDCC

type XDCCFlatItems

type XDCCFlatItems []XDCCFlat

func (XDCCFlatItems) Unflatten

func (items XDCCFlatItems) Unflatten() []*XDCC

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL