db_modeling_for_capi #5

Merged
jonas merged 23 commits from db_modeling_for_capi into main 2025-10-10 14:57:52 +00:00
2 changed files with 7 additions and 2 deletions
Showing only changes of commit 18d30a140f - Show all commits

View File

@@ -505,6 +505,9 @@ class ReadAction(AlpineBitsAction):
start_date = None start_date = None
"""When given, the server will send only inquiries generated after the Start timestamp, regardless
whether the client has retrieved them before or not."""
if hotel_read_request.selection_criteria is not None: if hotel_read_request.selection_criteria is not None:
start_date = datetime.fromisoformat( start_date = datetime.fromisoformat(
hotel_read_request.selection_criteria.start hotel_read_request.selection_criteria.start
@@ -518,7 +521,8 @@ class ReadAction(AlpineBitsAction):
.filter(Reservation.hotel_code == hotelid) .filter(Reservation.hotel_code == hotelid)
) )
if start_date: if start_date:
stmt = stmt.filter(Reservation.start_date >= start_date) _LOGGER.info("Filtering reservations from start date %s", start_date)
stmt = stmt.filter(Reservation.created_at >= start_date)
# remove reservations that have been acknowledged via client_id # remove reservations that have been acknowledged via client_id
elif client_info.client_id: elif client_info.client_id:
subquery = ( subquery = (

View File

@@ -10,7 +10,7 @@ from XML generation (xsdata) follows clean architecture principles.
""" """
import hashlib import hashlib
from datetime import date from datetime import date, datetime
from enum import Enum from enum import Enum
from pydantic import BaseModel, EmailStr, Field, field_validator, model_validator from pydantic import BaseModel, EmailStr, Field, field_validator, model_validator
@@ -43,6 +43,7 @@ class ReservationData(BaseModel):
md5_unique_id: str | None = Field(None, min_length=1, max_length=32) md5_unique_id: str | None = Field(None, min_length=1, max_length=32)
start_date: date start_date: date
end_date: date end_date: date
created_at: datetime = Field(default_factory=datetime.now)
num_adults: int = Field(..., ge=1) num_adults: int = Field(..., ge=1)
num_children: int = Field(0, ge=0, le=10) num_children: int = Field(0, ge=0, le=10)
children_ages: list[int] = Field(default_factory=list) children_ages: list[int] = Field(default_factory=list)