Removed redundant size_field in webhook_requests

This commit is contained in:
Jonas Linter
2025-11-25 20:20:06 +01:00
parent 95953fa639
commit 9522091efc
2 changed files with 7 additions and 5 deletions

View File

@@ -10,6 +10,8 @@ from typing import Sequence, Union
from alembic import op from alembic import op
import sqlalchemy as sa import sqlalchemy as sa
from alpine_bits_python.const import WebhookStatus
# revision identifiers, used by Alembic. # revision identifiers, used by Alembic.
revision: str = 'e7ee03d8f430' revision: str = 'e7ee03d8f430'
@@ -66,13 +68,12 @@ def upgrade() -> None:
sa.Column('payload_hash', sa.String(length=64), nullable=False), sa.Column('payload_hash', sa.String(length=64), nullable=False),
sa.Column('webhook_endpoint_id', sa.Integer(), nullable=True), sa.Column('webhook_endpoint_id', sa.Integer(), nullable=True),
sa.Column('hotel_id', sa.String(length=50), nullable=True), sa.Column('hotel_id', sa.String(length=50), nullable=True),
sa.Column('status', sa.String(length=20), nullable=False, default='pending'), sa.Column('status', sa.String(length=20), nullable=False, default=WebhookStatus.PENDING.value),
sa.Column('processing_started_at', sa.DateTime(timezone=True), nullable=True), sa.Column('processing_started_at', sa.DateTime(timezone=True), nullable=True),
sa.Column('processing_completed_at', sa.DateTime(timezone=True), nullable=True), sa.Column('processing_completed_at', sa.DateTime(timezone=True), nullable=True),
sa.Column('retry_count', sa.Integer(), nullable=True, default=0), sa.Column('retry_count', sa.Integer(), nullable=True, default=0),
sa.Column('last_error', sa.String(length=2000), nullable=True), sa.Column('last_error', sa.String(length=2000), nullable=True),
sa.Column('payload_json', sa.JSON(), nullable=True), sa.Column('payload_json', sa.JSON(), nullable=True),
sa.Column('payload_size_bytes', sa.Integer(), nullable=True),
sa.Column('purged_at', sa.DateTime(timezone=True), nullable=True), sa.Column('purged_at', sa.DateTime(timezone=True), nullable=True),
sa.Column('created_at', sa.DateTime(timezone=True), nullable=False), sa.Column('created_at', sa.DateTime(timezone=True), nullable=False),
sa.Column('source_ip', sa.String(length=45), nullable=True), sa.Column('source_ip', sa.String(length=45), nullable=True),

View File

@@ -4,6 +4,8 @@ import os
from collections.abc import AsyncGenerator, Callable from collections.abc import AsyncGenerator, Callable
from typing import TypeVar from typing import TypeVar
from .const import WebhookStatus
from sqlalchemy import ( from sqlalchemy import (
JSON, JSON,
Boolean, Boolean,
@@ -751,8 +753,8 @@ class WebhookRequest(Base):
hotel_id = Column(String(50), ForeignKey("hotels.hotel_id"), nullable=True, index=True) hotel_id = Column(String(50), ForeignKey("hotels.hotel_id"), nullable=True, index=True)
# Processing tracking # Processing tracking
status = Column(String(20), nullable=False, default='pending', index=True) status = Column(String(20), nullable=False, default=WebhookStatus.PENDING.value, index=True)
# Status values: 'pending', 'processing', 'completed', 'failed' # Status values: 'pending', 'processing', 'completed', 'failed' set by Enum WebhookStatus
processing_started_at = Column(DateTime(timezone=True), nullable=True) processing_started_at = Column(DateTime(timezone=True), nullable=True)
processing_completed_at = Column(DateTime(timezone=True), nullable=True) processing_completed_at = Column(DateTime(timezone=True), nullable=True)
@@ -763,7 +765,6 @@ class WebhookRequest(Base):
# Payload storage # Payload storage
payload_json = Column(JSON, nullable=True) # NULL after purge, kept for retries payload_json = Column(JSON, nullable=True) # NULL after purge, kept for retries
payload_size_bytes = Column(Integer, nullable=True) # Track original size
purged_at = Column(DateTime(timezone=True), nullable=True) # When JSON was purged purged_at = Column(DateTime(timezone=True), nullable=True) # When JSON was purged
# Metadata # Metadata