diff --git a/apps/challenges/src/controllers/season.ts b/apps/challenges/src/controllers/season.ts index c61952af..517bea11 100644 --- a/apps/challenges/src/controllers/season.ts +++ b/apps/challenges/src/controllers/season.ts @@ -33,6 +33,7 @@ const getSeasons = asyncHandler(async (req: Request, res: Response) => { try { const seasons = await SeasonService.getSeasonsByDate(_startDate, _endDate); + res.status(200).json({ seasons: seasons, }); @@ -165,9 +166,15 @@ const getSeasonRankings = asyncHandler(async (req: Request, res: Response) => { const getSeasonQuestions = asyncHandler(async (req: Request, res: Response) => { try { const seasonID = zodIsValidObjectId.parse(req.params.seasonID); + + const season = await SeasonService.getSeasonByID(seasonID); + if (!season) { + res.status(404).json({ message: 'Season not found' }); + return; + } const questions = await SeasonService.getSeasonQuestions(seasonID); - + res.status(200).json(questions); } catch (err) { if (err instanceof z.ZodError) { diff --git a/apps/challenges/src/model/season.ts b/apps/challenges/src/model/season.ts index f52cdacc..458b605f 100644 --- a/apps/challenges/src/model/season.ts +++ b/apps/challenges/src/model/season.ts @@ -1,4 +1,13 @@ import mongoose, { Schema } from 'mongoose'; +import { QuestionModel } from './question'; + +export interface GetSeasonResp { + id: mongoose.Types.ObjectId; + title: string; + startDate: Date; + endDate: Date; + questions: QuestionModel[]; +} export interface SeasonModel { _id: mongoose.Types.ObjectId;