// trainer.controller.ts (add an endpoint)
import { Controller, Get, Query, Req, UseGuards, Param, ParseIntPipe } from '@nestjs/common';
import { JwtAuthGuard } from '../auth/jwt-auth.guard';
import { Roles } from '../auth/roles.decorator';
import { RolesGuard } from '../auth/roles.guard';
import { TrainerService } from './trainer.service';

@Controller('trainer')
@UseGuards(JwtAuthGuard, RolesGuard)
export class TrainerController {
  constructor(private readonly trainerService: TrainerService) {}

  @Roles('trainer','admin')
  @Get('courses/with-content')
  myCoursesWithContent(
    @Req() req,
    @Query('skip') skip = '0',
    @Query('take') take = '1000',
  ) {
    return this.trainerService.getTrainerCoursesWithContent(req.user.id, Number(skip), Number(take));
  }
  
  @Roles('trainer','admin')
  @Get('courses/:courseId/with-content')
  myCoursebyid(
    @Req() req,
    @Param('courseId', ParseIntPipe) courseId: number,
  ) {
    return this.trainerService.getTrainerCourseById(req.user.id, courseId);
  }
}
