node build fixed

This commit is contained in:
ra_ma
2025-09-20 14:08:38 +01:00
parent c6ebbe069d
commit 3d298fa434
1516 changed files with 535727 additions and 2 deletions

View File

@@ -0,0 +1,115 @@
package anilist
import (
"fmt"
"github.com/goccy/go-json"
"seanime/internal/util"
"strconv"
)
func FetchBaseAnimeMap(ids []int) (ret map[int]*BaseAnime, err error) {
query := fmt.Sprintf(CompoundBaseAnimeDocument, newCompoundQuery(ids))
requestBody, err := json.Marshal(map[string]interface{}{
"query": query,
"variables": nil,
})
if err != nil {
return nil, err
}
data, err := customQuery(requestBody, util.NewLogger())
if err != nil {
return nil, err
}
var res map[string]*BaseAnime
dataB, err := json.Marshal(data)
if err != nil {
return nil, err
}
err = json.Unmarshal(dataB, &res)
if err != nil {
return nil, err
}
ret = make(map[int]*BaseAnime)
for k, v := range res {
id, err := strconv.Atoi(k[1:])
if err != nil {
return nil, err
}
ret[id] = v
}
return ret, nil
}
func newCompoundQuery(ids []int) string {
var query string
for _, id := range ids {
query += fmt.Sprintf(`
t%d: Media(id: %d) {
...baseAnime
}
`, id, id)
}
return query
}
const CompoundBaseAnimeDocument = `query CompoundQueryTest {
%s
}
fragment baseAnime on Media {
id
idMal
siteUrl
status(version: 2)
season
type
format
bannerImage
episodes
synonyms
isAdult
countryOfOrigin
meanScore
description
genres
duration
trailer {
id
site
thumbnail
}
title {
userPreferred
romaji
english
native
}
coverImage {
extraLarge
large
medium
color
}
startDate {
year
month
day
}
endDate {
year
month
day
}
nextAiringEpisode {
airingAt
timeUntilAiring
episode
}
}`