Files
NewTube/db/migrations/20250923_add_subscriptions_tables.sql
T
bruno 97e5de74f5
CI / build-and-test (push) Successful in 13m34s
feat(channel): page details chaine multi-providers avec onglets et infinite scroll
- Strategy Pattern front: ChannelProviderInterface + 6 providers (yt/dm/tw/pt/od/ru) + factory (ids longs/courts)
- ChannelContentService: cache par onglet/tri/recherche (TTL 5min), pagination nextPage
- ChannelPage: header (banniere/avatar/subs/description ...plus), tabs dynamiques par capabilities, grilles videos/shorts 9:16/playlists/live, recherche debounced, tri recent/populaire, infinite scroll IntersectionObserver, skeletons/empty/error
- Backend: GET /api/channels/:provider/:id/content (videos/shorts/playlists/live) natif par provider
2026-09-25 10:15:12 -04:00

28 lines
656 B
SQL

BEGIN TRANSACTION;
CREATE TABLE IF NOT EXISTS channels (
id INTEGER PRIMARY KEY AUTOINCREMENT,
provider TEXT NOT NULL,
external_id TEXT NOT NULL,
title TEXT,
handle TEXT,
avatar_url TEXT,
url TEXT,
subs_count INTEGER,
verified INTEGER DEFAULT 0,
last_refreshed_at INTEGER,
UNIQUE(provider, external_id)
);
CREATE TABLE IF NOT EXISTS subscriptions (
id INTEGER PRIMARY KEY AUTOINCREMENT,
user_id INTEGER NOT NULL,
channel_id INTEGER NOT NULL REFERENCES channels(id) ON DELETE CASCADE,
created_at INTEGER NOT NULL,
UNIQUE(user_id, channel_id)
);
CREATE INDEX IF NOT EXISTS idx_subs_user ON subscriptions(user_id);
COMMIT;