refactor(catalog): the unit's tables move into catalog/models

Channel, Subscription, Video, SearchFind, ExploredChannel and BlockedChannel (and LIVE_OR_UPCOMING)
leave app/models.py for app/catalog/models.py; app.tables registers them. The User↔Subscription
relationship names its other side as a type only. No schema change.
This commit is contained in:
2026-10-19 02:03:14 +02:00
parent a35eece652
commit 238e6f8a61
55 changed files with 353 additions and 308 deletions
+2 -2
View File
@@ -15,13 +15,13 @@ from app.mailtext import lang_for_user
from app import logs, quota, scheduler
from app.auth import admin_user, current_user, require_write_scope
from app.db import get_db
from app.models import (
from app.models import User
from app.catalog.models import (
LIVE_OR_UPCOMING,
BlockedChannel,
Channel,
ExploredChannel,
Subscription,
User,
Video,
)
from app.reader.models import ChannelTag, Playlist, PlaylistItem, Tag
+2 -1
View File
@@ -18,7 +18,8 @@ from sqlalchemy.orm import Session
from app import scheduler
from app.auth import admin_user
from app.db import get_db
from app.models import Channel, JobRun, LogEvent, User
from app.models import JobRun, LogEvent, User
from app.catalog.models import Channel
from app.routes import _account as account
from app.routes._keyset import PAGE_MAX, accounts, older_than, page, utc
from app.runstatus import RunStatus
+2 -1
View File
@@ -12,7 +12,8 @@ from app.audit import AuditAction
from app.auth import admin_user
from app.config import settings
from app.db import get_db
from app.models import Channel, Subscription, User, Video
from app.models import User
from app.catalog.models import Channel, Subscription, Video
from app.scheduler import (
JOB_INTERVALS,
MAX_INTERVAL,
+2 -2
View File
@@ -25,13 +25,13 @@ from sqlalchemy.orm import Session, aliased
from app import logs, quota, sysconfig
from app.auth import current_user
from app.db import get_db
from app.models import (
from app.models import User
from app.catalog.models import (
LIVE_OR_UPCOMING,
BlockedChannel,
Channel,
SearchFind,
Subscription,
User,
Video,
)
from app.reader.models import Playlist, PlaylistItem, VideoState
+2 -1
View File
@@ -6,7 +6,8 @@ from app import audit, quota, state
from app.audit import AuditAction
from app.auth import admin_user, current_user, has_read_scope
from app.db import get_db
from app.models import Channel, Subscription, User, Video
from app.models import User
from app.catalog.models import Channel, Subscription, Video
from app.routes._common import youtube_refusal
from app.ratelimit import RateLimiter
from app.sync.runner import estimate_deep_backfill