93 lines
2.0 KiB
Python
93 lines
2.0 KiB
Python
# retoor <retoor@molodetz.nl>
|
|||
|
|
from typing import Any
|
||
|
|
|
||
|
|
from molodetz.schemas.base import OutModel, PublicUserOut
|
||
|
|
from molodetz.schemas.posts import PostOut
|
||
|
|
|
||
|
|
|
||
|
|
class AdminIndexOut(OutModel):
|
||
|
|
post_count: int = 0
|
||
|
|
open_joins: int = 0
|
||
|
|
user_count: int = 0
|
||
|
|
deleted_count: int = 0
|
||
|
|
|
||
|
|
|
||
|
|
class AdminPostsOut(OutModel):
|
||
|
|
posts: list[PostOut] = []
|
||
|
|
|
||
|
|
|
||
|
|
class ServiceOut(OutModel):
|
||
|
|
name: str | None = None
|
||
|
|
title: str | None = None
|
||
|
|
description: str | None = None
|
||
|
|
status: str | None = None
|
||
|
|
enabled: bool = False
|
||
|
|
last_run: str | None = None
|
||
|
|
next_run: str | None = None
|
||
|
|
heartbeat: str | None = None
|
||
|
|
metrics: dict[str, Any] = {}
|
||
|
|
logs: list[str] = []
|
||
|
|
fields: list[dict[str, Any]] = []
|
||
|
|
|
||
|
|
|
||
|
|
class ServicesOut(OutModel):
|
||
|
|
services: list[ServiceOut] = []
|
||
|
|
|
||
|
|
|
||
|
|
class ServiceDetailOut(OutModel):
|
||
|
|
service: ServiceOut | None = None
|
||
|
|
|
||
|
|
|
||
|
|
class SettingsOut(OutModel):
|
||
|
|
settings: dict[str, str] = {}
|
||
|
|
|
||
|
|
|
||
|
|
class AdminUsersOut(OutModel):
|
||
|
|
users: list[PublicUserOut] = []
|
||
|
|
|
||
|
|
|
||
|
|
class TrashItemOut(OutModel):
|
||
|
|
table: str | None = None
|
||
|
|
uid: str | None = None
|
||
|
|
label: str | None = None
|
||
|
|
deleted_at: str | None = None
|
||
|
|
deleted_by: str | None = None
|
||
|
|
|
||
|
|
|
||
|
|
class TrashOut(OutModel):
|
||
|
|
items: list[TrashItemOut] = []
|
||
|
|
|
||
|
|
|
||
|
|
class AuditRowOut(OutModel):
|
||
|
|
uid: str | None = None
|
||
|
|
event_key: str | None = None
|
||
|
|
category: str | None = None
|
||
|
|
actor_kind: str | None = None
|
||
|
|
actor_uid: str | None = None
|
||
|
|
result: str | None = None
|
||
|
|
message: str | None = None
|
||
|
|
created_at: str | None = None
|
||
|
|
|
||
|
|
|
||
|
|
class AuditOut(OutModel):
|
||
|
|
rows: list[AuditRowOut] = []
|
||
|
|
|
||
|
|
|
||
|
|
class BackupRowOut(OutModel):
|
||
|
|
uid: str | None = None
|
||
|
|
target: str | None = None
|
||
|
|
status: str | None = None
|
||
|
|
size_bytes: int | None = None
|
||
|
|
error: str | None = None
|
||
|
|
created_at: str | None = None
|
||
|
|
finished_at: str | None = None
|
||
|
|
|
||
|
|
|
||
|
|
class BackupsOut(OutModel):
|
||
|
|
backups: list[BackupRowOut] = []
|
||
|
|
|
||
|
|
|
||
|
|
class StatsOut(OutModel):
|
||
|
|
top_paths: list[dict[str, Any]] = []
|
||
|
|
daily: list[dict[str, Any]] = []
|