mirror of
https://github.com/tcgdex/compiler.git
synced 2025-04-22 10:42:09 +00:00
Added support for sets images
Signed-off-by: Avior <florian.bouillon@delta-wings.net>
This commit is contained in:
parent
40206cb4ee
commit
4105122b05
@ -1,5 +1,5 @@
|
|||||||
import { Set, SupportedLanguages } from "db/interfaces"
|
import { Set, SupportedLanguages } from "db/interfaces"
|
||||||
import { smartGlob } from "./util"
|
import { fetchRemoteFile, smartGlob } from "./util"
|
||||||
import { cardToCardSimple, getCards } from './cardUtil'
|
import { cardToCardSimple, getCards } from './cardUtil'
|
||||||
import { SetResume, Set as SetSingle } from '@tcgdex/sdk/interfaces'
|
import { SetResume, Set as SetSingle } from '@tcgdex/sdk/interfaces'
|
||||||
|
|
||||||
@ -41,11 +41,26 @@ export function isSetAvailable(set: Set, lang: SupportedLanguages) {
|
|||||||
return lang in set.name
|
return lang in set.name
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export async function getSetPictures(set: Set, lang: SupportedLanguages): Promise<[string | undefined, string | undefined]> {
|
||||||
|
try {
|
||||||
|
const file = await fetchRemoteFile(`https://assets.tcgdex.net/datas.json`)
|
||||||
|
const logoExists = !!file[lang]?.[set.serie.id]?.[set.id]?.logo ? `https://assets.tcgdex.net/${lang}/${set.serie.id}/${set.id}/logo` : undefined
|
||||||
|
const symbolExists = !!file.univ?.[set.serie.id]?.[set.id]?.symbol ? `https://assets.tcgdex.net/univ/${set.serie.id}/${set.id}/symbol` : undefined
|
||||||
|
return [
|
||||||
|
logoExists,
|
||||||
|
symbolExists
|
||||||
|
]
|
||||||
|
} catch {
|
||||||
|
return [undefined, undefined]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
export async function setToSetSimple(set: Set, lang: SupportedLanguages): Promise<SetResume> {
|
export async function setToSetSimple(set: Set, lang: SupportedLanguages): Promise<SetResume> {
|
||||||
|
const pics = await getSetPictures(set, lang)
|
||||||
return {
|
return {
|
||||||
id: set.id,
|
id: set.id,
|
||||||
// logo: set.images && set.images.logo,
|
logo: pics[0],
|
||||||
// symbol: set.images && set.images.symbol,
|
symbol: pics[1],
|
||||||
name: set.name[lang] as string,
|
name: set.name[lang] as string,
|
||||||
cardCount: {
|
cardCount: {
|
||||||
total: set.cardCount.total,
|
total: set.cardCount.total,
|
||||||
@ -55,6 +70,7 @@ export async function setToSetSimple(set: Set, lang: SupportedLanguages): Promis
|
|||||||
}
|
}
|
||||||
|
|
||||||
export async function setToSetSingle(set: Set, lang: SupportedLanguages): Promise<SetSingle> {
|
export async function setToSetSingle(set: Set, lang: SupportedLanguages): Promise<SetSingle> {
|
||||||
|
const pics = await getSetPictures(set, lang)
|
||||||
return {
|
return {
|
||||||
name: set.name[lang] as string,
|
name: set.name[lang] as string,
|
||||||
id: set.id,
|
id: set.id,
|
||||||
@ -72,10 +88,8 @@ export async function setToSetSingle(set: Set, lang: SupportedLanguages): Promis
|
|||||||
standard: set.legal.standard,
|
standard: set.legal.standard,
|
||||||
expanded: set.legal.expanded
|
expanded: set.legal.expanded
|
||||||
},
|
},
|
||||||
// images: set.images && {
|
logo: pics[0],
|
||||||
// symbol: set.images.symbol,
|
symbol: pics[1],
|
||||||
// logo: set.images.logo
|
|
||||||
// },
|
|
||||||
cards: await Promise.all((await getCards(lang, set)).map(([id, card]) => cardToCardSimple(id, card, lang)))
|
cards: await Promise.all((await getCards(lang, set)).map(([id, card]) => cardToCardSimple(id, card, lang)))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user