import { BadRequestException, Controller, Get, Query } from '@nestjs/common'; import { ApiBearerAuth, ApiTags } from '@nestjs/swagger'; import { RequirePermission } from '../auth/decorators/require-permission.decorator'; import { CalendarService } from './calendar.service'; @ApiTags('calendar') @ApiBearerAuth() @Controller('calendar') export class CalendarController { constructor(private readonly calendarService: CalendarService) {} @RequirePermission('calendar:read') @Get() getEvents( @Query('from') from: string, @Query('to') to: string, @Query('apiaryId') apiaryId?: string, ) { if (!from || !to) { throw new BadRequestException( 'Query parameters from and to are required', ); } return this.calendarService.getEvents({ from: new Date(from), to: new Date(to), apiaryId, }); } }