Skip to content

feat(courses): implement course archiving feature with tabbed interfa…#533

Open
MaxTekpa494 wants to merge 2 commits into
developfrom
archived-courses
Open

feat(courses): implement course archiving feature with tabbed interfa…#533
MaxTekpa494 wants to merge 2 commits into
developfrom
archived-courses

Conversation

@MaxTekpa494

Copy link
Copy Markdown
Member

This pull request introduces a comprehensive course archiving feature, allowing users to archive and unarchive their own course memberships. The changes span both frontend and backend, adding UI controls for archiving, updating data models and APIs, and ensuring the archived state is respected throughout the course listing and management experience.

Frontend: Course Archiving UI and Logic

  • Added a tabbed interface to courses.page.html for switching between current and archived courses, with logic to load the appropriate list based on the selected tab. [1] F11e9fb0L90R90, [2]
  • Updated CourseListComponent and CourseItemComponent to support an archive/unarchive button, emitting events to trigger archiving actions. [1] [2] [3] [4]
  • Integrated the archiving logic in CoursesPage with new methods for tab switching and archiving, and a refactored loadCourses method to respect the archived filter. [1] [2]

Backend: API and Model Enhancements

  • Extended course member models (CourseMember, CourseFilters, DTOs, and entities) to include an archived boolean field, and updated filters and endpoints to support querying and updating this state. [1] [2] [3] [4] [5]
  • Added a new API endpoint (PATCH /courses/:courseId/members/me) to allow users to archive/unarchive their own membership, with corresponding service and provider logic. [1] [2] [3] [4] [5]

Other Improvements

  • Minor refactoring and cleanup of tutorial logic and documentation in courses.page.ts. [1] [2]
  • Updated module imports to include new dependencies for tabs. [1] [2]

Frontend: Archiving UI & Logic

  • Added tabbed navigation for current/archived courses and connected it to backend filtering in courses.page.html and courses.page.ts. [1] F11e9fb0L90R90, [2]
  • Implemented archive/unarchive button in CourseItemComponent, propagating events through CourseListComponent to parent page. [1] [2] [3] [4]

Backend: API and Model Enhancements

  • Extended models (CourseMember, CourseFilters, DTOs, and entities) to support the archived property and filtering. [1] [2] [3] [4] [5]
  • Added a new endpoint for archiving/unarchiving the current user's course membership, with supporting service and provider methods. [1] [2] [3] [4] [5]

Other

@MaxTekpa494 MaxTekpa494 requested a review from NewMeeh June 1, 2026 09:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant