Skip to content

refactor(stovepipe): make IngestController operate on entities#361

Merged
ubettigole merged 1 commit into
mainfrom
abettigole/protoless_ingest
Jul 14, 2026
Merged

refactor(stovepipe): make IngestController operate on entities#361
ubettigole merged 1 commit into
mainfrom
abettigole/protoless_ingest

Conversation

@ubettigole

@ubettigole ubettigole commented Jul 14, 2026

Copy link
Copy Markdown
Contributor

Summary

Remove proto coupling from IngestController.Ingest by changing its signature
to accept entity.IngestRequest and return entity.IngestResult directly.

Add mapper.ProtoToIngestRequest and mapper.IngestResultToProto in the mapper
subpackage.

Co-Authored-By: Claude Opus 4.6 (1M context) noreply@anthropic.com

Test Plan

Unit tests

Issues

Stack

  1. refactor(gateway): make LandController operate on entities #359
  2. refactor(gateway): make CancelController operate on entities #360
  3. refactor(gateway): make StatusController operate on entities #363
  4. @ refactor(stovepipe): make IngestController operate on entities #361

@ubettigole ubettigole changed the base branch from abettigole/protoless_cancel to abettigole/protoless_status July 14, 2026 17:40
@ubettigole ubettigole force-pushed the abettigole/protoless_status branch from 2177a97 to a3b7ac5 Compare July 14, 2026 18:09
@ubettigole ubettigole force-pushed the abettigole/protoless_ingest branch from efa048e to 6383702 Compare July 14, 2026 18:09
@ubettigole ubettigole changed the title refactor(gateway): make StatusController operate on entities refactor(runway): make IngestController operate on entities Jul 14, 2026
@ubettigole ubettigole changed the title refactor(runway): make IngestController operate on entities refactor(stovepipe): make IngestController operate on entities Jul 14, 2026
@ubettigole ubettigole marked this pull request as ready for review July 14, 2026 18:20
@ubettigole ubettigole requested review from a team, behinddwalls and sbalabanov as code owners July 14, 2026 18:20
@behinddwalls behinddwalls force-pushed the abettigole/protoless_status branch from a3b7ac5 to 0d3ad54 Compare July 14, 2026 20:06
@behinddwalls behinddwalls force-pushed the abettigole/protoless_ingest branch from 6383702 to 1298dd5 Compare July 14, 2026 20:06
@behinddwalls behinddwalls force-pushed the abettigole/protoless_status branch from 0d3ad54 to 07c6c36 Compare July 14, 2026 20:13
@behinddwalls behinddwalls force-pushed the abettigole/protoless_ingest branch from 1298dd5 to 272e677 Compare July 14, 2026 20:13
roychying pushed a commit to roychying/submitqueue that referenced this pull request Jul 14, 2026
## Summary
Move proto<->entity translation out of the gateway Land controller and
into a dedicated mapper package. The controller now takes
entity.LandRequest
and returns entity.LandResult, keeping business logic proto-free; the
GatewayServer adapter maps the wire request in and the response out.

- add entity.LandResult; consolidate LandRequest/LandResult into
entity/land.go
- add service/.../server/mapper with ProtoToLandRequest + strategy
resolution
- keep field validation in the controller so it runs on
controller-to-controller calls

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

## Test Plan


## Issues


## Stack
1. @ uber#359
1. uber#360
1. uber#363
1. uber#361

Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
roychying pushed a commit to roychying/submitqueue that referenced this pull request Jul 14, 2026
## Summary
Remove proto coupling from CancelController.Cancel by changing its
signature
from (*pb.CancelRequest) (*pb.CancelResponse, error) to
(entity.CancelRequest) error.
The empty CancelResponse is now constructed at the handler layer.

Add mapper.ProtoToCancelRequest in the mapper subpackage and wire it
through
GatewayServer.Cancel. Rename entity/cancel_request.go to
entity/cancel.go for
consistency with entity/land.go.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

## Test Plan


## Issues


## Stack
1. uber#359
1. @ uber#360
1. uber#363
1. uber#361

Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Remove proto coupling from IngestController.Ingest by changing its signature
to accept entity.IngestRequest and return entity.IngestResult.

Add entity.IngestRequest{Queue} and entity.IngestResult{ID} in stovepipe/entity/.
Create service/stovepipe/server/mapper/ package with ProtoToIngestRequest and
IngestResultToProto, and wire them through StovepipeServer.Ingest.

This is the first non-gateway domain to follow the protoless controller pattern,
standing up the mapper subpackage for stovepipe.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@behinddwalls behinddwalls force-pushed the abettigole/protoless_ingest branch from 272e677 to e09b121 Compare July 14, 2026 20:18
@behinddwalls behinddwalls changed the base branch from abettigole/protoless_status to main July 14, 2026 20:18
@ubettigole ubettigole added this pull request to the merge queue Jul 14, 2026
Merged via the queue into main with commit 92b0f7b Jul 14, 2026
15 of 27 checks passed
@behinddwalls behinddwalls deleted the abettigole/protoless_ingest branch July 14, 2026 20:26
roychying pushed a commit to roychying/submitqueue that referenced this pull request Jul 14, 2026
## Summary
Remove proto coupling from StatusController.Status by changing its
signature
to accept entity.StatusRequest and return request.CurrentState directly.

Add mapper.ProtoToStatusRequest and mapper.CurrentStateToProto in the
mapper
subpackage. The Status mapper is the first with a non-trivial
entity-to-proto
direction (translating the CurrentState read model into
pb.StatusResponse).

Add entity.StatusRequest{ID} for input consistency with the other
controllers.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

## Test Plan


## Issues


## Stack
1. uber#359
1. uber#360
1. @ uber#363
1. uber#361

Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants