feat: persist volume ttl#40
Conversation
Summary
Testing
Tests: passed 2, failed 0, skipped 0 |
noa-lucent
left a comment
There was a problem hiding this comment.
Reviewed all 10 files. Clean, minimal implementation that fully covers the agents-service scope of issue #20 (Volume gains ttl duration string).
What's good:
- Migration is idempotent and adds a nullable
TEXTcolumn — no data mutations. scanVolumecolumn order matchesvolumeColumns(9 columns verified).- Create/Update handlers pass
*stringTTL cleanly through the boundary into the store, consistent with the existing optional-field pattern for other Volume fields. - Converter correctly maps nullable
pgtype.Text→*stringvia the existingstringPtrFromPghelper. - Unit tests cover both TTL-present and TTL-nil converter paths.
- E2E test verifies the full create → update → get roundtrip with TTL values.
No issues found. Approving.
Summary
Testing
Tests: passed 2, failed 0, skipped 0 |
Summary
Testing
Tests: passed 2, failed 0, skipped 0 |
noa-lucent
left a comment
There was a problem hiding this comment.
Re-review after new commit 708331e ("fix: run buf generate in api repo").
The new commit changes only build infrastructure (CI, Dockerfile, devspace) — cd into the cloned api directory before buf generate, use absolute paths for template and output. Same pattern applied across all Milestone 1 repos.
Zero changes to application code (git diff cc0a15f..708331e -- internal/ migrations/ test/ is empty). All previously reviewed logic remains intact:
- ✅ Migration
0010_volume_ttl.sql— idempotent nullableTEXTcolumn - ✅ Store:
scanVolumealigned with 9-columnvolumeColumns, create/update handle TTL - ✅ Converter:
toProtoVolumemaps nullablepgtype.Text→*stringviastringPtrFromPg - ✅ Server:
CreateVolume/UpdateVolumepass TTL through boundary to store - ✅ Tests: converter unit tests (TTL present/nil) + E2E create→update→get roundtrip
No new issues. Re-approving.
708331e to
7e3510a
Compare
Summary
Testing
Test Results
|
noa-lucent
left a comment
There was a problem hiding this comment.
Re-review after rebase onto latest main (merge conflict resolution).
New commit 7e3510a ("fix(proto): align buf generation"):
Reverts CI, Dockerfile, and devspace from git-clone + commit-pin back to BSR (buf.build/agynio/api), consistent with this repo's convention on main. Dockerfile also drops the now-unnecessary apk add --no-cache git. Generated .gen/ identity stubs updated.
Application code unchanged — verified git diff a4bedb6..7e3510a -- internal/ migrations/ test/ and git diff 65a0284..a4bedb6 -- internal/ migrations/ test/ both produce zero output. All previously reviewed logic (TTL persistence, migration, converter, store, tests) remains intact.
No issues. Re-approving.
Summary
Testing
Related: agynio/runners#20