Add challenges preview + makefile
This commit is contained in:
@@ -28,6 +28,10 @@ from app.schemas.challenge import (
|
||||
ChallengeUpdate,
|
||||
ChallengeResponse,
|
||||
ChallengeGenerated,
|
||||
ChallengePreview,
|
||||
ChallengesPreviewResponse,
|
||||
ChallengeSaveItem,
|
||||
ChallengesSaveRequest,
|
||||
)
|
||||
from app.schemas.assignment import (
|
||||
CompleteAssignment,
|
||||
@@ -74,6 +78,10 @@ __all__ = [
|
||||
"ChallengeUpdate",
|
||||
"ChallengeResponse",
|
||||
"ChallengeGenerated",
|
||||
"ChallengePreview",
|
||||
"ChallengesPreviewResponse",
|
||||
"ChallengeSaveItem",
|
||||
"ChallengesSaveRequest",
|
||||
# Assignment
|
||||
"CompleteAssignment",
|
||||
"AssignmentResponse",
|
||||
|
||||
@@ -51,3 +51,40 @@ class ChallengeGenerated(BaseModel):
|
||||
estimated_time: int | None = None
|
||||
proof_type: str
|
||||
proof_hint: str | None = None
|
||||
|
||||
|
||||
class ChallengePreview(BaseModel):
|
||||
"""Schema for challenge preview (with game info)"""
|
||||
game_id: int
|
||||
game_title: str
|
||||
title: str
|
||||
description: str
|
||||
type: str
|
||||
difficulty: str
|
||||
points: int
|
||||
estimated_time: int | None = None
|
||||
proof_type: str
|
||||
proof_hint: str | None = None
|
||||
|
||||
|
||||
class ChallengesPreviewResponse(BaseModel):
|
||||
"""Response with generated challenges for preview"""
|
||||
challenges: list[ChallengePreview]
|
||||
|
||||
|
||||
class ChallengeSaveItem(BaseModel):
|
||||
"""Single challenge to save"""
|
||||
game_id: int
|
||||
title: str
|
||||
description: str
|
||||
type: str
|
||||
difficulty: str
|
||||
points: int
|
||||
estimated_time: int | None = None
|
||||
proof_type: str
|
||||
proof_hint: str | None = None
|
||||
|
||||
|
||||
class ChallengesSaveRequest(BaseModel):
|
||||
"""Request to save previewed challenges"""
|
||||
challenges: list[ChallengeSaveItem]
|
||||
|
||||
Reference in New Issue
Block a user