docs(data-model): had_video
CI / Lint / Test / Vet (pull_request) Successful in 26s
CI / Build & Import (pull_request) Skipped
CI / Deploy via GitOps (pull_request) Skipped

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
2026-10-01 18:43:55 +02:00
co-authored by Claude Sonnet 5.5
parent adaaa9918f
commit 365dff5c85
+2 -1
View File
@@ -152,6 +152,7 @@ erDiagram
text endpoint "which backend served it: iguana/... | berget/... (berget = audio left the homelab)" text endpoint "which backend served it: iguana/... | berget/... (berget = audio left the homelab)"
float audio_seconds float audio_seconds
text error_kind "typed: interrupted | transcription_failed — never a provider string" text error_kind "typed: interrupted | transcription_failed — never a provider string"
bool had_video "the file carried a video track; only its audio was used (migration 018)"
timestamptz created_at timestamptz created_at
timestamptz finished_at timestamptz finished_at
} }
@@ -223,7 +224,7 @@ mechanism.
grounds that it holds only public caption content, and a recorded meeting is the opposite. grounds that it holds only public caption content, and a recorded meeting is the opposite.
`user_id NOT NULL ... ON DELETE CASCADE`, FORCE RLS'd. `status` runs `queued → transcribing → `user_id NOT NULL ... ON DELETE CASCADE`, FORCE RLS'd. `status` runs `queued → transcribing →
done | failed`; `done` requires `content`, `failed` requires a typed `error_kind` (CHECK done | failed`; `done` requires `content`, `failed` requires a typed `error_kind` (CHECK
constraints). `endpoint` records which backend served it — `berget/...` means the audio left the constraints). `had_video` (migration 018) records that the file carried a video track — a Teams meeting with the camera off is still a video file — so the page can say only its audio was used and the video was discarded. `endpoint` records which backend served it — `berget/...` means the audio left the
homelab. The audio itself is never stored. `segments` keeps the timestamps (re-transcribing 90 homelab. The audio itself is never stored. `segments` keeps the timestamps (re-transcribing 90
minutes costs ~7). Unlike `summary_actions`/`login_events` it **does** cascade on user deletion. minutes costs ~7). Unlike `summary_actions`/`login_events` it **does** cascade on user deletion.
- **LOGIN_EVENTS** (migration 010) — throttled one-row-per-(user, date) login stamp. Used by the - **LOGIN_EVENTS** (migration 010) — throttled one-row-per-(user, date) login stamp. Used by the