bcgov / bcgov/range-api

#523 - Extract plan vertical slice to controller/service/repository boundary

Open
#525 0 comments 0 reactions 1 assignee Claimed by @brijesh-amin View on GitHub
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.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.