feat: add validation for minimum length on various fields and update type definitions
This commit is contained in:
@@ -1,8 +1,10 @@
|
||||
from __future__ import annotations
|
||||
|
||||
from datetime import datetime
|
||||
from typing import Any
|
||||
from uuid import UUID
|
||||
|
||||
from pydantic import field_validator
|
||||
from sqlmodel import SQLModel
|
||||
|
||||
|
||||
@@ -17,6 +19,16 @@ class GatewayBase(SQLModel):
|
||||
class GatewayCreate(GatewayBase):
|
||||
token: str | None = None
|
||||
|
||||
@field_validator("token", mode="before")
|
||||
@classmethod
|
||||
def normalize_token(cls, value: Any) -> Any:
|
||||
if value is None:
|
||||
return None
|
||||
if isinstance(value, str):
|
||||
value = value.strip()
|
||||
return value or None
|
||||
return value
|
||||
|
||||
|
||||
class GatewayUpdate(SQLModel):
|
||||
name: str | None = None
|
||||
@@ -26,6 +38,16 @@ class GatewayUpdate(SQLModel):
|
||||
workspace_root: str | None = None
|
||||
skyll_enabled: bool | None = None
|
||||
|
||||
@field_validator("token", mode="before")
|
||||
@classmethod
|
||||
def normalize_token(cls, value: Any) -> Any:
|
||||
if value is None:
|
||||
return None
|
||||
if isinstance(value, str):
|
||||
value = value.strip()
|
||||
return value or None
|
||||
return value
|
||||
|
||||
|
||||
class GatewayRead(GatewayBase):
|
||||
id: UUID
|
||||
|
||||
Reference in New Issue
Block a user