rename project to fhdhview
This commit is contained in:
1 parent
c4d3b6b292
commit
6755875938
51 files changed
+39
-39
No files matched your search
@@ -0,0 +1,47 @@
|
||||
# SPDX-FileCopyrightText: 2026 Filmhuis Den Haag
|
||||
# SPDX-License-Identifier: AGPL-3.0-or-later
|
||||
|
||||
from datetime import datetime, timedelta
|
||||
from zoneinfo import ZoneInfo
|
||||
|
||||
from fastapi import APIRouter, Depends
|
||||
from sqlmodel import col, select
|
||||
from sqlmodel.ext.asyncio.session import AsyncSession
|
||||
|
||||
from fhdhview.api.deps import get_session
|
||||
from fhdhview.core.config import settings
|
||||
from fhdhview.models.screening import Screening
|
||||
from fhdhview.schemas.screening import ScreeningRead
|
||||
|
||||
router = APIRouter(prefix="/screenings", tags=["Screenings"])
|
||||
|
||||
|
||||
@router.get(
|
||||
"",
|
||||
response_model=list[ScreeningRead],
|
||||
summary="Get upcoming screenings for the infodesk"
|
||||
)
|
||||
async def get_infodesk_screenings(
|
||||
session: AsyncSession = Depends(get_session)
|
||||
) -> list[ScreeningRead]:
|
||||
now = datetime.now(tz=ZoneInfo(settings.timezone))
|
||||
today = now.date()
|
||||
|
||||
query = (
|
||||
select(Screening)
|
||||
.where(Screening.start > now - timedelta(minutes=10))
|
||||
.where(Screening.start < today + timedelta(days=1))
|
||||
.order_by(col(Screening.start))
|
||||
.limit(8)
|
||||
)
|
||||
screenings = await session.exec(query)
|
||||
return [ScreeningRead.model_validate(s) for s in screenings.all()]
|
||||
|
||||
|
||||
@router.get(
|
||||
"/prices",
|
||||
response_model=dict,
|
||||
summary="Get pricing information"
|
||||
)
|
||||
async def get_screening_prices() -> dict:
|
||||
return settings.prices
|
||||
Reference in new issue
Block a user