42 lines
1.9 KiB
Go
42 lines
1.9 KiB
Go
package domain
|
|
|
|
import (
|
|
"context"
|
|
"mal/integrations/jikan"
|
|
"mal/internal/db"
|
|
)
|
|
|
|
type Anime = jikan.Anime
|
|
type TopAnimeResult = jikan.TopAnimeResult
|
|
type Genre = jikan.Genre
|
|
type Character = jikan.CharacterEntry
|
|
type Recommendation = jikan.RecommendationEntry
|
|
type StaffEntry = jikan.StaffEntry
|
|
type Statistics = jikan.Statistics
|
|
type ThemesData = jikan.ThemesData
|
|
type ReviewEntry = jikan.ReviewEntry
|
|
|
|
type AnimeService interface {
|
|
GetCatalogSection(ctx context.Context, userID string, section string) (map[string]any, error)
|
|
GetDiscoverSection(ctx context.Context, userID string, section string) (map[string]any, error)
|
|
GetAnimeByID(ctx context.Context, id int) (Anime, error)
|
|
SearchAdvanced(ctx context.Context, q, animeType, status, orderBy, sort string, genres []int, sfw bool, page, limit int) (jikan.SearchResult, error)
|
|
GetGenres(ctx context.Context) ([]Genre, error)
|
|
GetCharacters(ctx context.Context, id int) ([]Character, error)
|
|
GetRecommendations(ctx context.Context, id int) ([]Recommendation, error)
|
|
GetRelations(ctx context.Context, id int) ([]jikan.RelationEntry, error)
|
|
GetEpisodes(ctx context.Context, id int, page int) (jikan.EpisodesResponse, error)
|
|
GetAllEpisodes(ctx context.Context, id int) ([]EpisodeData, error)
|
|
GetRandomAnime(ctx context.Context) (Anime, error)
|
|
GetStaff(ctx context.Context, id int) ([]StaffEntry, error)
|
|
GetStatistics(ctx context.Context, id int) (Statistics, error)
|
|
GetThemes(ctx context.Context, id int) (ThemesData, error)
|
|
GetReviews(ctx context.Context, id int, page int) ([]ReviewEntry, bool, error)
|
|
}
|
|
|
|
type AnimeRepository interface {
|
|
GetUserWatchList(ctx context.Context, userID string) ([]db.GetUserWatchListRow, error)
|
|
GetWatchListEntry(ctx context.Context, params db.GetWatchListEntryParams) (db.WatchListEntry, error)
|
|
GetContinueWatchingEntries(ctx context.Context, userID string) ([]db.GetContinueWatchingEntriesRow, error)
|
|
}
|