mirror of
https://github.com/MODSetter/SurfSense.git
synced 2026-07-06 22:12:12 +02:00
Rename schemas/search_space.py -> schemas/workspace.py, the SearchSpace* classes -> Workspace* (incl. UserSearchSpaceAccess -> UserWorkspaceAccess), and the search_space_id / search_space_name fields -> workspace_id / workspace_name across all schema modules. Under hard cutover the serialized JSON keys change outright (no alias). Re-exports in schemas/__init__.py updated.
52 lines
1.2 KiB
Python
52 lines
1.2 KiB
Python
from datetime import datetime
|
|
from typing import Any
|
|
|
|
from pydantic import BaseModel, ConfigDict
|
|
|
|
from app.db import LogLevel, LogStatus
|
|
|
|
from .base import IDModel, TimestampModel
|
|
|
|
|
|
class LogBase(BaseModel):
|
|
level: LogLevel
|
|
status: LogStatus
|
|
message: str
|
|
source: str | None = None
|
|
log_metadata: dict[str, Any] | None = None
|
|
|
|
|
|
class LogCreate(BaseModel):
|
|
level: LogLevel
|
|
status: LogStatus
|
|
message: str
|
|
source: str | None = None
|
|
log_metadata: dict[str, Any] | None = None
|
|
workspace_id: int
|
|
|
|
|
|
class LogUpdate(BaseModel):
|
|
level: LogLevel | None = None
|
|
status: LogStatus | None = None
|
|
message: str | None = None
|
|
source: str | None = None
|
|
log_metadata: dict[str, Any] | None = None
|
|
|
|
|
|
class LogRead(LogBase, IDModel, TimestampModel):
|
|
id: int
|
|
created_at: datetime
|
|
workspace_id: int
|
|
|
|
model_config = ConfigDict(from_attributes=True)
|
|
|
|
|
|
class LogFilter(BaseModel):
|
|
level: LogLevel | None = None
|
|
status: LogStatus | None = None
|
|
source: str | None = None
|
|
workspace_id: int | None = None
|
|
start_date: datetime | None = None
|
|
end_date: datetime | None = None
|
|
|
|
model_config = ConfigDict(from_attributes=True)
|