refactor: update toggleRecommended endpoint to accept is_recommended as a query parameter and remove the ToggleRecommendedRequest type.

This commit is contained in:
JakkrapartXD 2026-02-11 15:04:10 +07:00
parent 4ca5692e6f
commit 840eae4fad
3 changed files with 7 additions and 10 deletions

View file

@ -23,9 +23,10 @@ export class CoursesController {
@Query() category_id?: number,
@Query() page?: number,
@Query() limit?: number,
@Query() random?: boolean
@Query() random?: boolean,
@Query() is_recommended?: boolean
): Promise<listCourseResponse> {
return await this.coursesService.ListCourses({ category_id, page, limit, random });
return await this.coursesService.ListCourses({ category_id, page, limit, random, is_recommended });
}
/**

View file

@ -1,10 +1,9 @@
import { Body, Get, Path, Put, Request, Response, Route, Security, SuccessResponse, Tags } from 'tsoa';
import { Get, Path, Put, Query, Request, Response, Route, Security, SuccessResponse, Tags } from 'tsoa';
import { ValidationError } from '../middleware/errorHandler';
import { RecommendedCoursesService } from '../services/RecommendedCourses.service';
import {
ListApprovedCoursesResponse,
GetCourseByIdResponse,
ToggleRecommendedRequest,
ToggleRecommendedResponse
} from '../types/RecommendedCourses.types';
@ -64,12 +63,12 @@ export class RecommendedCoursesController {
public async toggleRecommended(
@Request() request: any,
@Path() courseId: number,
@Body() body: ToggleRecommendedRequest
@Query() is_recommended: boolean
): Promise<ToggleRecommendedResponse> {
const token = request.headers.authorization?.replace('Bearer ', '');
if (!token) {
throw new ValidationError('No token provided');
}
return await RecommendedCoursesService.toggleRecommended(token, courseId, body.is_recommended);
return await RecommendedCoursesService.toggleRecommended(token, courseId, is_recommended);
}
}

View file

@ -4,9 +4,6 @@ import { MultiLanguageText } from './index';
// Request Types
// ============================================
export interface ToggleRecommendedRequest {
is_recommended: boolean;
}
// ============================================
// Response Types