981bde3dc1
Migration 0021_kiosk_security (eingeklinkt zwischen 0020 und 0022): - kiosk_devices: token_hash + is_active → status enum(pending/approved/revoked) - kiosk_devices: public_key, key_algorithm, enrollment_token_hash/expires_at - kiosk_devices: last_heartbeat_at, client_version, offline_queue_size - kiosk_devices: current_user_id (DSGVO), ip_whitelist (CIDR) - companies: kiosk_require_approval, kiosk_track_current_user, kiosk_heartbeat_interval_sec Model KioskDevice: komplett überarbeitet (KioskDeviceStatus Enum) Model Company: 3 neue Kiosk-Felder Bestehende Geräte: status=revoked (müssen neu enrolled werden) Existing servers: SQL manuell angewendet (Alembic skip bei inserted migrations) Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
31 lines
564 B
Python
31 lines
564 B
Python
"""add sick_note_required_after_days to companies
|
|
|
|
Revision ID: 0022
|
|
Revises: 0020
|
|
Create Date: 2026-05-06
|
|
"""
|
|
from alembic import op
|
|
import sqlalchemy as sa
|
|
|
|
|
|
revision = "0022"
|
|
down_revision = "0021"
|
|
branch_labels = None
|
|
depends_on = None
|
|
|
|
|
|
def upgrade() -> None:
|
|
op.add_column(
|
|
"companies",
|
|
sa.Column(
|
|
"sick_note_required_after_days",
|
|
sa.Integer(),
|
|
nullable=False,
|
|
server_default="3",
|
|
),
|
|
)
|
|
|
|
|
|
def downgrade() -> None:
|
|
op.drop_column("companies", "sick_note_required_after_days")
|