39 lines
783 B
Python
39 lines
783 B
Python
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
|