New API Endpoint
Add endpoint $ARGUMENTS[1] $ARGUMENTS[2] to $ARGUMENTS[0] service.
Description: $ARGUMENTS[3]
Prerequisites
Read the target service's existing code:
- •
backend/services/$0/internal/handler/handler.go - •
backend/services/$0/internal/service/service.go - •
backend/services/$0/internal/repository/repository.go
Backend Steps
- •
Model (
internal/model.go): Add request/response DTOs if needed. - •
Repository (
internal/repository/interface.go+repository.go):- •Add method to interface
- •Implement with SQL query (must include
WHERE user_id = $1)
- •
Service (
internal/service/interface.go+service.go):- •Add method to interface
- •Implement business logic
- •Use
shared/errorsfor domain errors
- •
Handler (
internal/handler/handler.go):- •Add handler method
- •Register route in router setup
- •Use
middleware.GetUserID(r.Context())for user extraction - •Use
middleware.JSON()/middleware.Error()for responses
- •
Tests (
internal/service/service_test.go):- •Add table-driven test for the new service method
Frontend Steps
- •
API Service (
frontend/src/api/services/):- •Add method to the corresponding API service
- •Use
httpClient.get/post/patch/delete()
- •
Store (
frontend/src/stores/):- •Add action to Zustand store if state management needed
- •
MSW Handler (
frontend/src/mocks/handlers/):- •Add mock handler for development
Verification
- •Run
cd backend && make test - •Run
cd frontend && npm run build - •Update
backend/ARCHITECTURE.mdif new endpoint pattern