Skip to content

epic: Implement enrollment system for course access control #17

@azapg

Description

@azapg

What is being done

Create enrollment table and API to manage student course enrollments.

Why it's needed

Multiple TODOs reference missing enrollment system blocking proper permission checks. Currently students cannot access course details and permission validation is incomplete.

How or initial approach

  1. Create Enrollment model (user_id, course_id, enrolled_at)
  2. Add enrollment CRUD API endpoints
  3. Update course GET endpoints to check enrollment for students
  4. Update assignment list endpoint to check enrollment
  5. Update artifact permission system to verify enrollment
  6. Create database migration

Acceptance Criteria

  • Enrollment table exists with proper relationships
  • API allows instructors/admins to enroll students in courses
  • Students can view courses they're enrolled in
  • Students can view assignments for enrolled courses
  • Artifact permissions respect enrollment
  • Tests verify enrollment-based access control

Files: src/fair_platform/backend/api/routers/courses.py lines 92, 127; assignments.py line 167; artifact_manager.py line 616

Estimate: L

Metadata

Metadata

Assignees

Labels

Projects

Status

Done

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions