Something went wrong. Try again.
atproto Thingiverse but good
Something went wrong. Try again.
1.0 kB · 24 lines
SQL
at commit 919dcb93
12345678910111213141516171819202122232425-- PM-43: server-side, non-public publish drafts.---- A draft is an in-progress publish composition that never reaches the actor's-- PDS until publish. It is stored as a `DraftThingInput`-shaped JSON payload (a-- ThingInput mirror with every field optional, so partial drafts round-trip).-- Drafts are app-internal (not ATProto records, not federated) and are strictly-- owner-scoped by DID. They live in their own table, so feeds — which read only-- the `things` table — never surface them.---- `name` and `model_count` are denormalized copies refreshed on every upsert so-- `listDrafts` can render entries without parsing each payload.CREATE TABLE drafts ( owner_did TEXT NOT NULL, draft_id TEXT NOT NULL, payload_json TEXT NOT NULL, name TEXT, model_count INTEGER NOT NULL DEFAULT 0, created_at INTEGER NOT NULL, updated_at INTEGER NOT NULL, PRIMARY KEY (owner_did, draft_id));
CREATE INDEX idx_drafts_owner_updated ON drafts(owner_did, updated_at DESC);