Init first files

This commit is contained in:
2026-02-12 09:09:13 +01:00
parent 6535699b0e
commit d1d8ae43a4
61 changed files with 2424 additions and 0 deletions

View File

@@ -0,0 +1 @@

View File

@@ -0,0 +1,16 @@
from pydantic import BaseModel, EmailStr
class LoginRequest(BaseModel):
email: EmailStr
password: str
class RefreshRequest(BaseModel):
refresh_token: str
class TokenResponse(BaseModel):
access_token: str
refresh_token: str
token_type: str = "bearer"

View File

@@ -0,0 +1,19 @@
from datetime import datetime
from pydantic import BaseModel
class MetricOut(BaseModel):
ts: datetime
metric_name: str
value: float
labels: dict
class QueryStatOut(BaseModel):
ts: datetime
queryid: str
calls: int
total_time: float
mean_time: float
rows: int
query_text: str | None

View File

@@ -0,0 +1,34 @@
from datetime import datetime
from pydantic import BaseModel, Field
class TargetBase(BaseModel):
name: str
host: str
port: int = 5432
dbname: str
username: str
sslmode: str = "prefer"
tags: dict = Field(default_factory=dict)
class TargetCreate(TargetBase):
password: str
class TargetUpdate(BaseModel):
name: str | None = None
host: str | None = None
port: int | None = None
dbname: str | None = None
username: str | None = None
password: str | None = None
sslmode: str | None = None
tags: dict | None = None
class TargetOut(TargetBase):
id: int
created_at: datetime
model_config = {"from_attributes": True}

View File

@@ -0,0 +1,23 @@
from datetime import datetime
from pydantic import BaseModel, EmailStr
class UserOut(BaseModel):
id: int
email: EmailStr
role: str
created_at: datetime
model_config = {"from_attributes": True}
class UserCreate(BaseModel):
email: EmailStr
password: str
role: str = "viewer"
class UserUpdate(BaseModel):
email: EmailStr | None = None
password: str | None = None
role: str | None = None