Skip to content

Add JSON APIs for projects, plans, and builds - #144

Closed
tkadauke-syrus[bot] wants to merge 2 commits into
masterfrom
syrus/direct-866
Closed

tkadauke-syrus[bot] wants to merge 2 commits into
masterfrom
syrus/direct-866

Conversation

@tkadauke-syrus

@tkadauke-syrus tkadauke-syrus Bot commented Jun 11, 2026 •

Copy link
Copy Markdown
Contributor

Expose project and plan management data for the React migration through JSON endpoints, including plan stats, relationships, detail payloads, and manual build creation responses suitable for client navigation.

Implemented API controllers, scoped routes, permission-aware parameter handling for plan steps, validation/error JSON responses, and nested build route support. Added functional coverage for CRUD permissions, plan serialization, child chain behavior, admin-only steps, and manual build triggering.

Triggered by @tkadauke


Authored by Codex (trigger=initial). Review carefully.

This PR was implemented by Syrus across 19 Runs at a total cost of $0.00.

@tkadauke-syrus
tkadauke-syrus Bot force-pushed the syrus/direct-866 branch 2 times, most recently from 89b8c69 to e485050 Compare June 11, 2026 13:31
Expose project and plan management data for the React migration through JSON endpoints, including plan stats, relationships, detail payloads, and manual build creation responses suitable for client navigation.

Implemented API controllers, scoped routes, permission-aware parameter handling for plan steps, validation/error JSON responses, and nested build route support. Added functional coverage for CRUD permissions, plan serialization, child chain behavior, admin-only steps, and manual build triggering.

Co-Authored-By: Thomas Kadauke <thomas.kadauke@googlemail.com>
CI was failing because Vite resolved extensionless imports to legacy `.js` modules before the newer TypeScript sources, which caused missing export errors during the test asset build. The Vite resolver now prefers `.tsx` and `.ts` before `.js` so the React entrypoint builds correctly.

The API build lookup test also expected `ActiveRecord::RecordNotFound` to escape the controller, but API controllers render that as JSON 404. The test now asserts the intended not-found API response while preserving the database-id lookup coverage.

Co-Authored-By: Thomas Kadauke <thomas.kadauke@googlemail.com>
@tkadauke-syrus

Copy link
Copy Markdown
Contributor Author

Landed via Epic merge-train (integration PR #170). Job #866.

@tkadauke-syrus tkadauke-syrus Bot closed this Jun 11, 2026
@tkadauke-syrus
tkadauke-syrus Bot deleted the syrus/direct-866 branch July 4, 2026 07:46
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.

0 participants