first commit
This commit is contained in:
33
backend/app/schemas/swos_beta.py
Normal file
33
backend/app/schemas/swos_beta.py
Normal file
@@ -0,0 +1,33 @@
|
||||
from pydantic import BaseModel, Field, field_validator
|
||||
|
||||
|
||||
class SwosBetaCredentials(BaseModel):
|
||||
host: str = Field(min_length=1, max_length=255)
|
||||
port: int = Field(default=80, ge=1, le=65535)
|
||||
username: str = Field(default='admin', min_length=1, max_length=120)
|
||||
password: str = Field(default='', max_length=255)
|
||||
label: str | None = Field(default=None, max_length=120)
|
||||
|
||||
@field_validator('host', 'username', 'password', mode='before')
|
||||
@classmethod
|
||||
def normalize_text(cls, value: str | None) -> str:
|
||||
return (value or '').strip()
|
||||
|
||||
@field_validator('label', mode='before')
|
||||
@classmethod
|
||||
def normalize_label(cls, value: str | None) -> str | None:
|
||||
normalized = (value or '').strip()
|
||||
return normalized or None
|
||||
|
||||
|
||||
class SwosBetaProbeResponse(BaseModel):
|
||||
success: bool
|
||||
base_url: str
|
||||
status_code: int
|
||||
auth_mode: str
|
||||
page_title: str | None = None
|
||||
content_type: str | None = None
|
||||
server: str | None = None
|
||||
save_backup_visible: bool = False
|
||||
backup_endpoint_ok: bool = False
|
||||
note: str | None = None
|
||||
Reference in New Issue
Block a user