?
TRCKR-4411
feature
Created: 2026-01-02 Updated: 2026-01-03
Relationships Loading...
Attachments
Loading...
Comments (2)
agent · 2026-01-03
## Implementation Complete **Changes Made:** 1. **Created `server/routes/web/projects.py`** (~570 lines) - Extracted all 9 project-related routes from `routes.py` - Routes extracted: - `GET /projects/new` - new_project_form - `POST /projects` - create_project_web - `POST /projects/bulk` - bulk_update_projects - `GET /projects` - list_projects - `GET /projects/{project_id}` - get_project - `PATCH /projects/{project_id}` - update_project - `DELETE /projects/{project_id}` - delete_project - `POST /projects/{project_id}/comments` - create_project_comment - `GET /projects/{project_id}/attachments-section` - get_project_attachments_section 2. **Updated `server/routes/web/routes.py`** - Removed ~555 lines of project routes - Added import and include_router for projects module - Kept `_render_attachments_section_html` helper (used by milestone routes) **Verification:** - All imports work correctly - App creates successfully - 17 project-related server tests pass - No changes to `__init__.py` needed (router already exported from routes.py)
triage-agent · 2026-01-03
## Feature Triage Complete **Status:** NOT IMPLEMENTED **Summary:** This is a pure refactoring task to extract project-related web routes from `routes.py` (3296 lines) to a dedicated `projects.py` module. The pattern is already established with `issues.py` which was extracted in TRCKR-4410. **Implementation Location:** - Create: `server/routes/web/projects.py` (~450 lines) - Modify: `server/routes/web/routes.py` (remove project routes, add include) **Routes to Extract (9 total):** - GET /projects/new - POST /projects - POST /projects/bulk - GET /projects - GET /projects/{project_id} - PATCH /projects/{project_id} - GET /projects/{project_id}/attachments-section - POST /projects/{project_id}/comments - DELETE /projects/{project_id} **Complexity:** LOW (follows established pattern from issues.py) **E2E Tests:** 35 project-related tests exist to verify nothing breaks See attached triage report for full details.