Web API for Oblique Strategies.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

21 lines
672 B

  1. import { RouteHandlerMethod } from 'fastify';
  2. import { Controller } from '../../utils/types';
  3. import { CardService, CardServiceImpl } from './service';
  4. export interface CardController extends Controller<'generate'> {}
  5. export class CardControllerImpl implements CardController {
  6. private readonly cardService: CardService;
  7. constructor() {
  8. this.cardService = new CardServiceImpl();
  9. }
  10. readonly generate: RouteHandlerMethod = async (request, reply) => {
  11. const query = request.query as Record<string, unknown>;
  12. const cardSources = query.cards as string[] | undefined;
  13. const card = this.cardService.generate(cardSources);
  14. reply.send(card);
  15. };
  16. }