import { RouteHandlerMethod } from 'fastify'; import { Controller } from '../../utils/types'; import { CardService, CardServiceImpl } from './service'; export interface CardController extends Controller<'generate'> {} export class CardControllerImpl implements CardController { private readonly cardService: CardService; constructor() { this.cardService = new CardServiceImpl(); } readonly generate: RouteHandlerMethod = async (request, reply) => { const query = request.query as Record; const cardSources = query.cards as string[] | undefined; const card = this.cardService.generate(cardSources); reply.send(card); }; }