import { Serie as SerieSingle, SerieList } from '@tcgdex/sdk/interfaces' import { Languages, Serie } from '../db/interfaces' import { Endpoint } from '../interfaces' import { getSeries, serieToSerieSimple, serieToSerieSingle } from '../utils/serieUtil' export default class implements Endpoint> { public constructor( private lang: keyof Languages ) {} public async index(common: Array) { return Promise.all(common.map((s) => serieToSerieSimple(s, this.lang))) } public async item(common: Array) { const items: Record = {} for (let key = 0; key < common.length; key++) { const val = common[key]; const gen = await serieToSerieSingle(val, this.lang) const name = val.name[this.lang] if (name && val.id !== name.toLowerCase()) { items[name] = gen } items[val.id] = gen } return items } public async common() { return getSeries(this.lang) } }