Files
certain/backend/migrations/versions/0017_mail_security.py
T
GuidoandClaude Opus 5 51decb7054 feat: Verschluesselung waehlbar, dazu zwei Layout-Fehler
Verschluesselung: Bisher gab es nur den Schalter use_ssl – also implizites
TLS auf 993 oder gar nichts. STARTTLS auf 143 fehlte ganz, und das bieten
viele Anbieter an. Jetzt ein Feld mit drei Werten, der Port zieht bei der
Auswahl mit, und "keine" warnt, dass Zugangsdaten im Klartext gehen.

Layout: Die Postfach-Karte steht in einer schmalen Spalte; der waagerechte
Aufbau brach dort auf ein Wort je Zeile um und die Knoepfe lagen ueber dem
Titel. Jetzt gestapelt.

Die Einstellungsseite nutzte ein Raster, das die Karten zeilenweise
ausrichtet – die zweite Reihe begann erst unter der hoechsten Karte der
ersten, weshalb "Backup zurueckladen" allein weit unten stand. Jetzt
fliessen die Karten spaltenweise, und die Spalten sind breiter: vier
schmale Karten nebeneinander waren auf dem Notebook nicht lesbar.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-22 20:14:37 +02:00

36 lines
1.2 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
"""Verschluesselungsart des Postfachs waehlbar machen.
Bisher gab es nur den Schalter ``use_ssl`` – also implizites TLS auf Port 993
oder gar nichts. STARTTLS auf Port 143 fehlte, und genau das bieten viele
Anbieter an. Statt eines zweiten Schalters gibt es jetzt ein Feld mit drei
klaren Werten.
Revision ID: 0017
Revises: 0016
"""
import sqlalchemy as sa
from alembic import op
revision = "0017"
down_revision = "0016"
branch_labels = None
depends_on = None
def upgrade() -> None:
op.add_column("mail_sources",
sa.Column("security", sa.String(length=16), nullable=False, server_default="ssl"))
# Bestehende Postfaecher behalten ihre Einstellung.
op.execute("UPDATE mail_sources SET security = CASE WHEN use_ssl THEN 'ssl' ELSE 'none' END")
with op.batch_alter_table("mail_sources") as batch:
batch.drop_column("use_ssl")
def downgrade() -> None:
op.add_column("mail_sources",
sa.Column("use_ssl", sa.Boolean(), nullable=False, server_default=sa.true()))
op.execute("UPDATE mail_sources SET use_ssl = (security = 'ssl')")
with op.batch_alter_table("mail_sources") as batch:
batch.drop_column("security")