#523 - Extract plan vertical slice to controller/service/repository boundary
- Dominant language
- TypeScript
- Stars
- 1
- Forks
- 7
- PR merge metrics
- No merged PRs in 30d
Description
Parent: #523
## Objective
Create a modern boundary for one high-value plan flow by separating transport concerns from business logic and data access.
## In scope
- Select one plan workflow currently implemented in `PlanController`
- Introduce service module(s) under `src/services/plan/` for orchestration/business rules
- Introduce repository abstraction(s) over db2 access for the selected flow
- Keep controller as thin request/response adapter
- Add/adjust tests to protect behavior
## Acceptance criteria
- Controller delegates core logic to service
- Service does not depend on Express req/res
- Repository encapsulates query implementation for the selected flow
- Existing endpoint behavior remains compatible
- Regression tests cover service behavior and endpoint contract
## Notes
Use this as the reference pattern for later controller decompositions.
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.