Skip to content

Conversation

@Zama15
Copy link
Collaborator

@Zama15 Zama15 commented Nov 23, 2025

Update Project Deadline & Validation Improvements

Description

This PR introduces a mechanism to modify the deadline of an existing Project. Since the "Start Project" workflow strictly enforces time constraints based on the Project Type (#94 ), this feature allows Professors to correct or adjust the deadline within the Project context to meet those requirements, unblocking the lifecycle progression.

Key Changes

1. Project Management API

  • New Endpoint: PATCH /project/:uuid/deadline (Web and Mobile).
  • Allows specific updates to the deadline field without exposing the entire Application structure for modification.

2. Domain Logic & Validation

  • Refactored Validation: Enhanced the validateProjectDeadline logic. It now calculates and returns the exact Minimum and Maximum Valid Dates in error messages, making it much easier for clients to understand exactly what date range is required.
  • Constraint Enforcement: strictly checks the new deadline against the minEstimatedMonths and maxEstimatedMonths of the associated Project Type before allowing the update.

3. Infrastructure

  • Implemented the Aggregate Root pattern where the Project repository manages updates to its underlying Application entity. This treats the application data as mutable metadata within the project's lifecycle context.

Documentation

  • OpenAPI: Added definitions for the new endpoint, including the specific Request Payload (requiring a valid date-time) and the Success Response structure.

@hectordani03 hectordani03 merged commit 45cdb9d into ReUC-Team:dev Nov 23, 2025
1 check failed
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.

2 participants