mirror of
https://github.com/outbackdingo/step-ca-webui.git
synced 2026-01-27 10:20:25 +00:00
54 lines
992 B
Python
54 lines
992 B
Python
import enum
|
|
from datetime import datetime
|
|
from typing import Optional, List
|
|
from uuid import UUID
|
|
|
|
from pydantic import BaseModel
|
|
|
|
|
|
class LogSeverity(enum.StrEnum):
|
|
DEBUG = "DEBUG"
|
|
INFO = "INFO"
|
|
WARNING = "WARN"
|
|
ERROR = "ERROR"
|
|
|
|
@staticmethod
|
|
def as_list() -> List[str]: # TODO use
|
|
return [s.upper() for s in LogSeverity]
|
|
|
|
|
|
class LogsFilter(BaseModel):
|
|
trace_id: Optional[UUID] = None
|
|
commands_only: bool
|
|
severity: List[LogSeverity]
|
|
|
|
|
|
class Paging(BaseModel):
|
|
page: int
|
|
page_size: int
|
|
|
|
|
|
class KeyType(enum.StrEnum):
|
|
RSA = "RSA"
|
|
ECDSA = "ECDSA"
|
|
|
|
@staticmethod
|
|
def as_list() -> List[str]: # TODO use
|
|
return [s.upper() for s in KeyType]
|
|
|
|
|
|
class CommandInfo(BaseModel):
|
|
command: str
|
|
output: str
|
|
exit_code: int
|
|
action: str
|
|
|
|
|
|
class LogEntry(BaseModel):
|
|
timestamp: datetime
|
|
entry_id: int
|
|
severity: LogSeverity
|
|
trace_id: UUID
|
|
message: str
|
|
command_info: Optional[CommandInfo] = None
|