feat(platform): add audit logs and activity feed

This commit is contained in:
Schubert Ferenc 2026-07-03 00:04:44 +02:00
parent 92cb8d1286
commit c816e9869d
34 changed files with 1592 additions and 43 deletions

View file

@ -0,0 +1,16 @@
from typing import Any
from pydantic import BaseModel, Field
class ApiSuccess(BaseModel):
success: bool = True
data: Any = None
message: str = ""
class ApiError(BaseModel):
success: bool = False
message: str
error_code: str
details: list[Any] = Field(default_factory=list)

View file

@ -0,0 +1,39 @@
from datetime import datetime
from typing import Any
from pydantic import BaseModel, ConfigDict
class AuditLogResponse(BaseModel):
id: int
actor_user_id: int | None
actor_username: str
action: str
entity_type: str
entity_id: int | None
entity_label: str
ip_address: str
user_agent: str
before_data: Any = None
after_data: Any = None
metadata_data: Any = None
created_at: datetime
model_config = ConfigDict(from_attributes=True)
class AuditLogListResponse(BaseModel):
items: list[AuditLogResponse]
total: int
page: int
page_size: int
class ActivityFeedItem(BaseModel):
id: int
title: str
description: str
actor: str
entity_type: str
entity_id: int | None
created_at: datetime