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,38 @@
|
||||
# SPDX-FileCopyrightText: 2026 Filmhuis Den Haag
|
||||
# SPDX-License-Identifier: AGPL-3.0-or-later
|
||||
|
||||
from datetime import datetime
|
||||
|
||||
import sqlalchemy as sa
|
||||
from pydantic import field_serializer, field_validator
|
||||
from sqlmodel import Field, SQLModel
|
||||
|
||||
from fhdhview.models.enums import KijkWijzer, Screen
|
||||
|
||||
|
||||
class Screening(SQLModel, table=True):
|
||||
id: int | None = Field(default=None, primary_key=True)
|
||||
session: int
|
||||
screen: Screen = Field(default=Screen.ONE, sa_column=sa.Column(sa.Enum(Screen)))
|
||||
complex_ident: str
|
||||
start: datetime
|
||||
end: datetime
|
||||
duration: int
|
||||
title: str
|
||||
rating: int
|
||||
seats_total: int
|
||||
seats_sold: int
|
||||
en_subs: bool = False
|
||||
intro: bool = False
|
||||
outro: bool = False
|
||||
kijkwijzer: list[KijkWijzer] = Field(default_factory=list, sa_type=sa.JSON)
|
||||
tags: list[str] = Field(default_factory=list, sa_type=sa.JSON)
|
||||
|
||||
@field_validator("kijkwijzer", mode="before")
|
||||
@classmethod
|
||||
def _coerce(cls, v):
|
||||
return [r.value if isinstance(r, KijkWijzer) else r for r in v]
|
||||
|
||||
@field_serializer("kijkwijzer")
|
||||
def _serialize(self, v: list[KijkWijzer]) -> list[str]:
|
||||
return [r.value if isinstance(r, KijkWijzer) else r for r in v]
|
||||
Reference in new issue
Block a user