User story
As a developer, I want REST API and GraphQL endpoints to share the same business logic so new features, bug fixes, and maintenance only need to be implemented once.
Use case
As CIEL Lab evolves, many features become available through both the REST API and GraphQL. Today, similar functionality is implemented and maintained independently, increasing development effort and the risk of behavioral inconsistencies.
Requirements
Acceptance criteria
More details
Technical context
CIEL Lab currently exposes both REST API and GraphQL interfaces. While this provides flexibility for different clients, it also increases maintenance cost because equivalent operations may evolve independently.
The goal of this task is not to remove either interface, but to reduce duplicated implementation by introducing a common application/service layer responsible for business rules.
The review should identify:
- duplicated validation logic
- duplicated authorization logic
- duplicated data transformation
- duplicated persistence workflows
- inconsistent error handling
- inconsistent response behavior
- opportunities for shared abstractions
The expected outcome is a cleaner architecture where REST and GraphQL become thin transport layers over the same business services.
Reference interfaces:
User story
As a developer, I want REST API and GraphQL endpoints to share the same business logic so new features, bug fixes, and maintenance only need to be implemented once.
Use case
As CIEL Lab evolves, many features become available through both the REST API and GraphQL. Today, similar functionality is implemented and maintained independently, increasing development effort and the risk of behavioral inconsistencies.
Requirements
Acceptance criteria
More details
Technical context
CIEL Lab currently exposes both REST API and GraphQL interfaces. While this provides flexibility for different clients, it also increases maintenance cost because equivalent operations may evolve independently.
The goal of this task is not to remove either interface, but to reduce duplicated implementation by introducing a common application/service layer responsible for business rules.
The review should identify:
The expected outcome is a cleaner architecture where REST and GraphQL become thin transport layers over the same business services.
Reference interfaces: