Files
disknext/routers/api/v1/__init__.py
于小丘 4c1b7a8aad feat: add theme preset system with admin CRUD, public listing, and user theme settings
- Add ChromaticColor (17 Tailwind colors) and NeutralColor (5 grays) enums
- Add ThemePreset table with flat color columns and unique name constraint
- Add admin theme endpoints (CRUD + set default) at /api/v1/admin/theme
- Add public theme listing at /api/v1/site/themes
- Add user theme settings (PATCH /theme) with color snapshot on User model
- User.color_* columns store per-user overrides; fallback to default preset then builtin
- Initialize default theme preset in migration
- Remove legacy defaultTheme/themes settings

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-12 19:34:41 +08:00

40 lines
1.2 KiB
Python

from fastapi import APIRouter
from utils.conf import appmeta
from .admin import admin_router
from .callback import callback_router
from .directory import directory_router
from .download import download_router
from .file import router as file_router
from .object import object_router
from .share import share_router
from .trash import trash_router
from .site import site_router
from .slave import slave_router
from .user import user_router
from .vas import vas_router
from .webdav import webdav_router
router = APIRouter(prefix="/v1")
# [TODO] 如果是主机,导入下面的路由
if appmeta.mode == "master":
router.include_router(admin_router)
router.include_router(callback_router)
router.include_router(directory_router)
router.include_router(download_router)
router.include_router(file_router)
router.include_router(object_router)
router.include_router(share_router)
router.include_router(site_router)
router.include_router(trash_router)
router.include_router(user_router)
router.include_router(vas_router)
router.include_router(webdav_router)
elif appmeta.mode == "slave":
router.include_router(slave_router)
else:
raise ValueError("Config `mode` must in ['master', 'slave']")