zd / app /api /v1 /endpoints /word_of_day.py
Juna190825's picture
Create app/api/v1/endpoints/word_of_day.py
633a8b5 verified
raw
history blame contribute delete
769 Bytes
from fastapi import APIRouter, Depends
from sqlalchemy.orm import Session
from datetime import date
from app.db.session import SessionLocal
from app.models.dictionary_entry import DictionaryEntry
from app.schemas.dictionary_entry import DictionaryEntry as DictionaryEntrySchema
router = APIRouter()
def get_db():
db = SessionLocal()
try:
yield db
finally:
db.close()
@router.get("", response_model=DictionaryEntrySchema)
def word_of_day(db: Session = Depends(get_db)):
# Simple example: pick deterministic entry by day
entries = db.query(DictionaryEntry).order_by(DictionaryEntry.id).all()
if not entries:
raise RuntimeError("No entries available")
idx = date.today().day % len(entries)
return entries[idx]