privacy/security: add PM privacy levels and improve session visibility
All checks were successful
CI / test (push) Successful in 24s

This commit is contained in:
2026-03-08 14:26:19 +03:00
parent 528778238b
commit 76cc5e0f12
17 changed files with 229 additions and 24 deletions

View File

@@ -6,6 +6,7 @@ from typing import Literal
PrivacyLevel = Literal["everyone", "contacts", "nobody"]
GroupInvitePrivacyLevel = Literal["everyone", "contacts"]
PrivateMessagesPrivacyLevel = Literal["everyone", "contacts", "nobody"]
class UserBase(BaseModel):
@@ -26,6 +27,7 @@ class UserRead(UserBase):
bio: str | None = None
email_verified: bool
allow_private_messages: bool
privacy_private_messages: PrivateMessagesPrivacyLevel = "everyone"
privacy_last_seen: PrivacyLevel = "everyone"
privacy_avatar: PrivacyLevel = "everyone"
privacy_group_invites: GroupInvitePrivacyLevel = "everyone"
@@ -40,6 +42,7 @@ class UserProfileUpdate(BaseModel):
bio: str | None = Field(default=None, max_length=500)
avatar_url: str | None = Field(default=None, max_length=512)
allow_private_messages: bool | None = None
privacy_private_messages: PrivateMessagesPrivacyLevel | None = None
privacy_last_seen: PrivacyLevel | None = None
privacy_avatar: PrivacyLevel | None = None
privacy_group_invites: GroupInvitePrivacyLevel | None = None