-
Notifications
You must be signed in to change notification settings - Fork 0
Description
Description
GraphController is structurally inconsistent with all other controllers:
-
No class-level
@RequestMapping— paths are inlined on each method, mixing/api/v1/admin/graph/and/api/v1/graph/with no organizational structure. Every other controller uses@RequestMappingat the class level. -
No service layer — directly injects
GraphClient(a domain port interface) instead of going through a domain service. This bypasses any future validation, authorization, or auditing at the service layer. All other controllers delegate to services. -
Raw return types —
getAncestorsandgetDescendantsreturnList<String>(raw UIDs).findPathsreturnsList<List<String>>. Every other endpoint returns structured DTOs. This makes these endpoints impossible to extend without breaking clients. -
TODO left to rot —
// TODO: split admin/read endpoints into separate controllershas not been addressed.
Location: GraphController.java
Traced Requirements
- GC-G001: Ancestor-Descendant Traversal
- GC-G004: Apache AGE Materialization
- GC-A012: Dual API Exposure
Impact
Maintainability, API consistency, and future auth/auditing integration.