Add RBAC: admin user management, audit log, runtime settings, delete PC
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user