summaryrefslogtreecommitdiff
path: root/docs/podcasts.md
diff options
context:
space:
mode:
authorPaul Buetow <paul@buetow.org>2026-05-17 15:25:52 +0300
committerPaul Buetow <paul@buetow.org>2026-05-17 15:25:52 +0300
commit914bd7cd6aa14e839332a98d91c30b19865b0cf2 (patch)
tree02b11537237a204048589e14ed24938b805e42f7 /docs/podcasts.md
parent3b24f0e1be832584d6550e8cc3e5d24329f66f90 (diff)
Restructure repo: move Go server into player-server/
Diffstat (limited to 'docs/podcasts.md')
-rw-r--r--docs/podcasts.md31
1 files changed, 0 insertions, 31 deletions
diff --git a/docs/podcasts.md b/docs/podcasts.md
deleted file mode 100644
index 6d03601..0000000
--- a/docs/podcasts.md
+++ /dev/null
@@ -1,31 +0,0 @@
-Podcast Support
-===============
-
-Podcasts are **special sets** (`sets.is_podcast = 1`). They reuse set permissions, browsing, and cover images, while adding feed management and episode tracking.
-
-### Subscribing
-
-Admin opens the **Podcasts** button in the admin panel (or calls `POST /api/podcasts`):
-- Submit an RSS/Atom feed URL and optional folder name.
-- Server creates a set folder, parses the feed, downloads the cover image, and inserts episodes into `podcast_episodes`.
-
-### Episode Management
-
-Episodes are stored in `podcast_episodes` and rendered in the browse grid for podcast sets:
-- **Undownloaded** episodes show a **Download to server** button (calls `POST /api/podcasts/episodes/{id}/download`).
-- **Downloaded** episodes become regular `media` rows and appear as normal media cards.
-- Users can mark episodes as listened/unlistened via the checkmark button.
-
-### Background Feed Checker
-
-A background goroutine (`CheckFeeds`) refreshes feeds every hour (configurable via `PODCAST_CHECK_INTERVAL_MINUTES`). It uses conditional GET (`If-None-Match`, `If-Modified-Since`) to avoid re-downloading unchanged feeds.
-
-### API Endpoints
-
-| Method | Path | Description |
-|--------|------|-------------|
-| `GET` | `/api/podcasts` | List podcast sets |
-| `POST` | `/api/podcasts` | Subscribe to a new feed (admin) |
-| `GET` | `/api/podcasts/{id}/episodes` | List episodes with status |
-| `POST` | `/api/podcasts/episodes/{id}/download` | Server-side download |
-| `POST` | `/api/podcasts/episodes/{id}/complete` | Toggle completion | \ No newline at end of file