compiler/endpoints/series.ts
Florian Bouillon 39a69d5d56
Updated to V2 :D
Signed-off-by: Avior <florian.bouillon@delta-wings.net>
2021-04-05 23:11:01 +02:00

33 lines
918 B
TypeScript

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<SerieList, SerieSingle, {}, Array<Serie>> {
public constructor(
private lang: keyof Languages
) {}
public async index(common: Array<Serie>) {
return Promise.all(common.map((s) => serieToSerieSimple(s, this.lang)))
}
public async item(common: Array<Serie>) {
const items: Record<string, SerieSingle> = {}
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) {
items[name] = gen
}
items[key] = gen
}
return items
}
public async common() {
return getSeries()
}
}