You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
1.8 KiB
1.8 KiB
+++ title = "Implement GET /api/ — serve OpenAPI spec as JSON" priority = 5 status = "todo" ticket_type = "task" dependencies = ["f3dc74", "1f5bb5", "2ec8b1"] +++
The `quotesdb` API is built with Axum + Tokio, targeting Cloudflare Workers via `workers-rs`. It serves JSON at `/api/*` endpoints and persists data to Cloudflare D1 (production) or a local SQLite file via Turso (development). Source lives in `src/bin/api/`.Shared types and utilities are in src/lib.rs — code placed there must compile for both the host target and wasm32-unknown-unknown.
The GET /api/ endpoint serves the OpenAPI 3.1.0 specification as JSON. This endpoint requires no authentication and is the entry point for API documentation and client generation.
cargo fmt
cargo check
cargo clippy
cargo test
`feat(quotesdb): implement GET /api/ to serve OpenAPI spec as JSON`