Add RBAC: admin user management, audit log, runtime settings, delete PC

This commit is contained in:
2026-07-16 17:28:04 +07:00
parent c2148f334d
commit d1128f4aa3
16 changed files with 690 additions and 24 deletions
+38
View File
@@ -17,6 +17,20 @@ class UserOut(BaseModel):
model_config = ConfigDict(from_attributes=True)
class UserUpdate(BaseModel):
role: Optional[str] = None
password: Optional[str] = None
class UserListOut(BaseModel):
id: int
username: str
role: str
created_at: Optional[datetime]
model_config = ConfigDict(from_attributes=True)
class Token(BaseModel):
access_token: str
refresh_token: str
@@ -90,3 +104,27 @@ class NotificationOut(BaseModel):
read_at: Optional[datetime]
model_config = ConfigDict(from_attributes=True)
class AuditLogOut(BaseModel):
id: int
user_id: Optional[int]
username: Optional[str]
action: str
details: Optional[str]
timestamp: Optional[datetime]
model_config = ConfigDict(from_attributes=True)
class SettingOut(BaseModel):
key: str
value: Optional[str]
class SettingsUpdate(BaseModel):
AGENT_TOKEN: Optional[str] = None
OFFLINE_THRESHOLD_MINUTES: Optional[int] = None
NOTIFICATION_WEBHOOK_URL: Optional[str] = None
NOTIFICATION_TELEGRAM_BOT_TOKEN: Optional[str] = None
NOTIFICATION_TELEGRAM_CHAT_ID: Optional[str] = None