feat(transcription): add Supabase schema and API endpoints for CIS
This commit is contained in:
@@ -1,24 +1,31 @@
|
||||
from fastapi import APIRouter, Request
|
||||
"""DEPRECATED - utterance.py
|
||||
|
||||
This module is deprecated. All transcription data now goes through
|
||||
the new sessions router at /transcribe/sessions.
|
||||
|
||||
The old endpoints are kept for backwards compatibility but will be
|
||||
removed in a future release. New integrations should use:
|
||||
POST /transcribe/sessions - create session
|
||||
POST /transcribe/sessions/{id}/segments - batch upsert segments
|
||||
"""
|
||||
|
||||
from fastapi import APIRouter, Request, HTTPException
|
||||
import os
|
||||
import queue
|
||||
from dotenv import load_dotenv
|
||||
import json
|
||||
|
||||
load_dotenv()
|
||||
router = APIRouter(deprecated=True)
|
||||
|
||||
router = APIRouter()
|
||||
|
||||
@router.post("/handle_whisper_live_eos_utterance/{user_id}")
|
||||
async def handle_whisper_live_eos_utterance(user_id: str, request: Request):
|
||||
"""DEPRECATED - Use POST /transcribe/sessions instead."""
|
||||
data = await request.json()
|
||||
utterance = data.get("utterance")
|
||||
print(f"Utterance: {utterance}")
|
||||
start = data.get("start")
|
||||
end = data.get("end")
|
||||
print(f"Start: {start}")
|
||||
print(f"End: {end}")
|
||||
eos = data.get("eos")
|
||||
print(f"Eos: {eos}")
|
||||
|
||||
# Log deprecation warning
|
||||
print(f"[DEPRECATED] /handle_whisper_live_eos_utterance called for user {user_id}. "
|
||||
f"Please migrate to POST /transcribe/sessions/{{id}}/segments")
|
||||
|
||||
# Keep writing to flat file for backwards compat
|
||||
user_dir = f"../../data/users/{user_id}/transcripts"
|
||||
if not os.path.exists(user_dir):
|
||||
os.makedirs(user_dir)
|
||||
@@ -27,16 +34,21 @@ async def handle_whisper_live_eos_utterance(user_id: str, request: Request):
|
||||
with open(log_file, "a") as f:
|
||||
f.write(json.dumps(data) + "\n")
|
||||
|
||||
return {"message": "Utterance logged successfully"}
|
||||
return {"message": "Utterance logged (deprecated - migrate to sessions API)", "_deprecated": True}
|
||||
|
||||
|
||||
@router.get("/get_utterances/{user_id}")
|
||||
async def get_utterances(user_id: str):
|
||||
"""DEPRECATED - Use GET /transcribe/sessions/{id}/segments instead."""
|
||||
print(f"[DEPRECATED] /get_utterances called for user {user_id}. "
|
||||
f"Please migrate to GET /transcribe/sessions/{{id}}/segments")
|
||||
|
||||
user_dir = f"../../data/users/{user_id}/transcripts"
|
||||
log_file = os.path.join(user_dir, "utterances.log")
|
||||
if not os.path.exists(log_file):
|
||||
return {"utterances": []}
|
||||
return {"utterances": [], "_deprecated": True}
|
||||
|
||||
with open(log_file, "r") as f:
|
||||
utterances = [json.loads(line) for line in f]
|
||||
|
||||
return {"utterances": utterances}
|
||||
return {"utterances": utterances, "_deprecated": True}
|
||||
|
||||
Reference in New Issue
Block a user