mirror of
https://github.com/ae-utbm/sith.git
synced 2025-05-05 00:54:06 +00:00
38 lines
961 B
Python
38 lines
961 B
Python
from datetime import datetime
|
|
|
|
from ninja import FilterSchema, ModelSchema
|
|
from pydantic import Field
|
|
|
|
from club.schemas import ClubSchema
|
|
from core.schemas import SimpleUserSchema
|
|
from reservation.models import ReservationSlot, Room
|
|
|
|
|
|
class RoomFilterSchema(FilterSchema):
|
|
club: set[int] | None = Field(None, q="club_id__in")
|
|
|
|
|
|
class RoomSchema(ModelSchema):
|
|
class Meta:
|
|
model = Room
|
|
fields = ["id", "name", "description", "address"]
|
|
|
|
club: ClubSchema
|
|
|
|
|
|
class SlotFilterSchema(FilterSchema):
|
|
after: datetime = Field(default=None, q="end_at__gt")
|
|
before: datetime = Field(default=None, q="start_at__lt")
|
|
room: set[int] | None = None
|
|
club: set[int] | None = None
|
|
|
|
|
|
class SlotSchema(ModelSchema):
|
|
class Meta:
|
|
model = ReservationSlot
|
|
fields = ["id", "room", "nb_people", "comment"]
|
|
|
|
start: datetime = Field(alias="start_at")
|
|
end: datetime = Field(alias="end_at")
|
|
author: SimpleUserSchema
|