Complete M11 Creator Studio and M12 Trust & Safety for PC5
checkpoint / checkpoint (push) Failing after 3h14m9s
checkpoint / checkpoint (push) Failing after 3h14m9s
- Creator Studio: Visual behavior & property inspector, GLB model importer, binary persistence - Trust & Safety: 18+ TOS confirmation (DOB removed), creator guidelines & briefing card on join, in-game reporting HUD - Test Harness: Add --filter, --skip-backend, --skip-godot to run_checkpoint_tests.py
This commit is contained in:
@@ -124,9 +124,42 @@ async def report_message(
|
||||
return report
|
||||
|
||||
|
||||
class ModerationReportCreate(BaseModel):
|
||||
target_type: Literal["message", "world", "user"]
|
||||
target_id: int
|
||||
reason: str = Field(..., min_length=1, max_length=500)
|
||||
category: str | None = Field(default="general", max_length=50)
|
||||
|
||||
|
||||
# ──────────────────────────────── Moderation ────────────────────────────────────
|
||||
|
||||
|
||||
@moderation_router.post(
|
||||
"/reports",
|
||||
response_model=MessageReportResponse,
|
||||
status_code=status.HTTP_201_CREATED,
|
||||
)
|
||||
async def submit_moderation_report(
|
||||
payload: ModerationReportCreate,
|
||||
current_user: CurrentUser,
|
||||
db: DbDep,
|
||||
):
|
||||
"""Submit a moderation report for a world, user, or chat message."""
|
||||
report_reason = f"[{payload.target_type.upper()}:{payload.target_id}] [{payload.category}] {payload.reason}"
|
||||
msg_id = payload.target_id if payload.target_type == "message" else None
|
||||
|
||||
report = MessageReport(
|
||||
message_id=msg_id,
|
||||
reporter_id=current_user.id,
|
||||
reason=report_reason,
|
||||
status=ReportStatus.OPEN,
|
||||
)
|
||||
db.add(report)
|
||||
await db.commit()
|
||||
await db.refresh(report)
|
||||
return report
|
||||
|
||||
|
||||
@moderation_router.get("/reports", response_model=list[MessageReportResponse])
|
||||
async def list_reports(
|
||||
current_user: CurrentUser,
|
||||
@@ -146,6 +179,7 @@ async def list_reports(
|
||||
return list(result.scalars().all())
|
||||
|
||||
|
||||
|
||||
@moderation_router.post(
|
||||
"/reports/{report_id}/resolve",
|
||||
response_model=ResolveReportResponse,
|
||||
|
||||
Reference in New Issue
Block a user