connectiopn fix round 2 1

This commit is contained in:
2026-08-21 14:18:27 +02:00
parent ad728ba96c
commit 6b2c5ac8a2
11 changed files with 544 additions and 135 deletions

View File

@ -255,12 +255,30 @@ class ConnectRequest(BaseModel):
host_id: int
class RdpCredentialsRequest(BaseModel):
password: str = Field(min_length=1, max_length=512)
# Benutzername und (optional) Domaene der Windows-Anmeldung. Seit
# Migration 0010 Teil der Zugangsdaten statt des Hosts.
username: str | None = Field(default=None, max_length=128)
class RdpCredentialCreateRequest(BaseModel):
"""Migration 0012: RDP-Zugangsdaten sind ein eigenstaendiges,
wiederverwendbares Objekt (analog SshKeyCreateRequest), das im Reiter
'Zugangsdaten' angelegt und danach beliebigen Hosts zugewiesen wird --
NICHT mehr direkt im Serverformular erzeugt."""
label: str = Field(min_length=1, max_length=128)
username: str = Field(min_length=1, max_length=128)
domain: str | None = Field(default=None, max_length=128)
password: str = Field(min_length=1, max_length=512)
tenant_id: int | None = None
class RdpCredentialUpdateRequest(BaseModel):
"""Label/Benutzername/Domaene sind jederzeit aenderbar. Eine Rotation des
Passworts ist bewusst ein SEPARATER Aufruf mit nur 'password' gesetzt
(siehe update_rdp_credential in admin/routes.py) -- analog zur
getrennten Passphrase-Aenderung bei SSH-Keys, damit ein Label-Update
nicht versehentlich das Passwort mitanfasst."""
label: str | None = Field(default=None, min_length=1, max_length=128)
username: str | None = Field(default=None, min_length=1, max_length=128)
# Wird nur beachtet, wenn das Feld im Request vorkommt: Weglassen laesst
# die Domaene unveraendert, explizites null/"" entfernt sie.
domain: str | None = Field(default=None, max_length=128)
password: str | None = Field(default=None, min_length=1, max_length=512)
class SshPasswordCredentialsRequest(BaseModel):