Skip to content

Add typed content collections - #21

Merged
owjs3901 merged 4 commits into
mainfrom
owjs3901/content
Aug 30, 2026
Merged

Add typed content collections#21
owjs3901 merged 4 commits into
mainfrom
owjs3901/content

Conversation

@owjs3901

Copy link
Copy Markdown
Contributor

Summary

  • add compile-time typed content collection declarations and concrete Rust request/response handlers
  • persist shared draft/published entries with collection-scoped slugs, author/timestamps, and transactional audit events
  • export schemas/defaults for reusable generated collection hub, list, editor, filters, and pagination UI
  • add the reference Content pages collection with canonical Media reference validation

Full gate

  • cargo clippy --workspace --all-targets --all-features -- -D warnings
  • cargo test --workspace
  • RUSTDOCFLAGS=-D warnings cargo doc --workspace --no-deps
  • bunx oxlint
  • bun x tsc --noEmit in packages/app, apps/example-app, and every plugin workspace
  • cargo run -p yeollin-cli -- build --skip-backend from apps/example-app (18 routes prerendered)

Browser QA

  • signed in through the real vinext dev UI
  • uploaded a PNG in Media and used its stable media reference in Content
  • verified collection hub, empty state, create, edit, status filter, publish, exact public retrieval, unpublish, and delete
  • verified drafts return 404 from the public endpoint and the browser reported no page errors

devfive added 4 commits August 31, 2026 06:25
Define collection schemas in Rust so plugins get concrete CRUD and publication handlers without duplicating persistence.

Export field contracts for the shared admin UI and keep content writes and audit events in one transaction.
Explain collection declarations, generated routes, publication security, audit events, media references, and prebuild-owned admin pages.
Keep frozen Bun installs reproducible after adding the new plugin workspace.
Ensure Vespera route discovery sees its required source directory on filesystems that do not preserve empty folders.
@owjs3901
owjs3901 merged commit 6a75d95 into main Aug 30, 2026
1 check passed
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.

1 participant