aboutsummaryrefslogtreecommitdiff
path: root/utils/api/malsync/types.go
blob: 99441663c9b75f7b5ae828c1ecb9508dea1be909 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
package malsync

// MALSyncStreamingSite represents a single streaming site entry in the MALSync API
type MALSyncStreamingSite struct {
	ID         int    `json:"id,omitempty"`
	Identifier any    `json:"identifier"`
	Image      string `json:"image,omitempty"`
	MalID      int    `json:"malId,omitempty"`
	AniID      int    `json:"aniId,omitempty"`
	Page       string `json:"page"`
	Title      string `json:"title"`
	Type       string `json:"type"`
	URL        string `json:"url"`
	External   bool   `json:"external,omitempty"`
}

// MALSyncSitesCollection represents the nested structure of streaming sites
// Format: map[platformName]map[identifier]siteObject
type MALSyncSitesCollection map[string]map[string]MALSyncStreamingSite

// MALSyncAnimeResponse is the top-level response from the MALSync API
type MALSyncAnimeResponse struct {
	ID      int                    `json:"id"`
	Type    string                 `json:"type"`
	Title   string                 `json:"title"`
	URL     string                 `json:"url"`
	Total   int                    `json:"total"`
	Image   string                 `json:"image"`
	AnidbID int                    `json:"anidbId,omitempty"`
	Sites   MALSyncSitesCollection `json:"Sites"`
}