Skip to content

Add applicant subject-area subscription server #2088

@CelineLahnor

Description

@CelineLahnor

Description

Applicants should be able to persist one or more subject-area subscriptions for future notification logic. This issue covers the persistence model, server API, authorization, and validation only. It does not include UI or sending emails.

Tasks

  • Add a persistence model for applicant subject-area subscriptions
  • Add a Liquibase migration for the new table
  • Add a unique constraint to prevent duplicate subscriptions per applicant and subject area
  • Implement repository, service, and DTOs
  • Add GET and PUT endpoints for the authenticated applicant
  • Ensure only applicants can read and update their own subscriptions
  • Reuse the existing subject-area option source for validation
  • Add server tests for loading, saving, deduplication, validation, and authorization

Acceptance Criteria

  • Applicants can store multiple subject-area subscriptions
  • The authenticated applicant can load their saved subscriptions via API
  • The authenticated applicant can update their saved subscriptions via API
  • Duplicate subject areas are not stored twice
  • Non-applicant roles cannot use this applicant-specific setting
  • Existing notification settings are unchanged
  • Relevant backend tests are implemented and passing

Metadata

Metadata

Assignees

Labels

taskTasks related to TumApply which are not whole features

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions