New pydantic model for ConversionGuest
This commit is contained in:
@@ -32,6 +32,7 @@ from sqlalchemy import and_, select, update
|
||||
from sqlalchemy.ext.asyncio import async_sessionmaker
|
||||
from sqlalchemy.orm import selectinload
|
||||
|
||||
from alpine_bits_python.hotel_service import HotelService
|
||||
from alpine_bits_python.schemas import WebhookRequestData
|
||||
|
||||
from .alpinebits_server import (
|
||||
@@ -46,14 +47,15 @@ from .const import HttpStatusCode, WebhookStatus
|
||||
from .conversion_service import ConversionService
|
||||
from .csv_import import CSVImporter
|
||||
from .db import Customer as DBCustomer
|
||||
from .db import Reservation as DBReservation
|
||||
from .db import (
|
||||
Hotel,
|
||||
ResilientAsyncSession,
|
||||
SessionMaker,
|
||||
WebhookEndpoint,
|
||||
WebhookRequest,
|
||||
create_database_engine,
|
||||
)
|
||||
from .db import Reservation as DBReservation
|
||||
from .db_setup import run_startup_tasks
|
||||
from .email_monitoring import ReservationStatsCollector
|
||||
from .email_service import create_email_service
|
||||
@@ -890,8 +892,6 @@ async def handle_webhook_unified(
|
||||
webhook_request.status = WebhookStatus.PROCESSING
|
||||
webhook_request.processing_started_at = timestamp
|
||||
else:
|
||||
|
||||
|
||||
webhook_request_data = WebhookRequestData(
|
||||
payload_hash=payload_hash,
|
||||
webhook_endpoint_id=webhook_endpoint.id,
|
||||
@@ -905,7 +905,7 @@ async def handle_webhook_unified(
|
||||
)
|
||||
# 5. Create new webhook_request
|
||||
webhook_request = WebhookRequest(**webhook_request_data.model_dump())
|
||||
|
||||
|
||||
db_session.add(webhook_request)
|
||||
await db_session.flush()
|
||||
|
||||
@@ -1134,6 +1134,7 @@ async def _process_conversion_xml_background(
|
||||
filename: str,
|
||||
session_maker: SessionMaker,
|
||||
log_filename: Path,
|
||||
hotel: Hotel,
|
||||
):
|
||||
"""Background task to process conversion XML.
|
||||
|
||||
@@ -1162,7 +1163,7 @@ async def _process_conversion_xml_background(
|
||||
|
||||
# Now process the conversion XML
|
||||
_LOGGER.info("Starting database processing of %s", filename)
|
||||
conversion_service = ConversionService(session_maker)
|
||||
conversion_service = ConversionService(session_maker, hotel.hotel_id)
|
||||
processing_stats = await conversion_service.process_conversion_xml(xml_content)
|
||||
|
||||
_LOGGER.info(
|
||||
@@ -1250,6 +1251,10 @@ async def handle_xml_upload(
|
||||
extension = Path(filename).suffix or ".xml"
|
||||
log_filename = logs_dir / f"{base_filename}_{username}_{timestamp}{extension}"
|
||||
|
||||
hotel_service = HotelService(db_session)
|
||||
|
||||
hotel = await hotel_service.get_hotel_by_username(username)
|
||||
|
||||
_LOGGER.info(
|
||||
"XML file queued for processing: %s by user %s (original: %s)",
|
||||
log_filename,
|
||||
@@ -1266,6 +1271,7 @@ async def handle_xml_upload(
|
||||
filename,
|
||||
session_maker,
|
||||
log_filename,
|
||||
hotel,
|
||||
)
|
||||
|
||||
response_headers = {
|
||||
|
||||
Reference in New Issue
Block a user