feat(platform): add audit logs and activity feed
This commit is contained in:
parent
92cb8d1286
commit
c816e9869d
34 changed files with 1592 additions and 43 deletions
39
backend/hermes/app/schemas/audit.py
Normal file
39
backend/hermes/app/schemas/audit.py
Normal 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
|
||||
Loading…
Add table
Add a link
Reference in a new issue