From dfba88a601192095c255b0974937819fbc434279 Mon Sep 17 00:00:00 2001 From: Ethanfel Date: Thu, 16 Apr 2026 13:48:33 +0200 Subject: [PATCH] feat: add markers/profiles/labels API endpoints Co-Authored-By: Claude Opus 4.6 --- server/app.py | 4 ++++ server/routes/markers.py | 26 +++++++++++++++++++++++++- 2 files changed, 29 insertions(+), 1 deletion(-) diff --git a/server/app.py b/server/app.py index 5c55183..0a89e61 100644 --- a/server/app.py +++ b/server/app.py @@ -1,9 +1,13 @@ from fastapi import FastAPI +from core.db import ProcessedDB +from .config import DB_PATH from .routes import files, stream, markers, export, hidden app = FastAPI(title="8-cut Server") +db = ProcessedDB(DB_PATH) + app.include_router(files.router, prefix="/api") app.include_router(stream.router, prefix="/api") app.include_router(markers.router, prefix="/api") diff --git a/server/routes/markers.py b/server/routes/markers.py index af9233c..973fdcd 100644 --- a/server/routes/markers.py +++ b/server/routes/markers.py @@ -1,3 +1,27 @@ -from fastapi import APIRouter +from fastapi import APIRouter, Query router = APIRouter() + + +def _db(): + from ..app import db + return db + + +@router.get("/markers/{filename}") +def get_markers(filename: str, profile: str = Query("default")): + markers = _db().get_markers(filename, profile) + return [ + {"start_time": t, "marker_number": n, "output_path": p} + for t, n, p in markers + ] + + +@router.get("/profiles") +def get_profiles(): + return _db().get_profiles() + + +@router.get("/labels") +def get_labels(): + return _db().get_labels()