feat(users): Initialize user API client

This commit is contained in:
Chris Coutinho
2025-09-11 09:42:42 +02:00
parent 6fa59621bf
commit 961f23b5ea
6 changed files with 1653 additions and 0 deletions
+38
View File
@@ -0,0 +1,38 @@
from typing import List, Optional
from pydantic import BaseModel, Field
class User(BaseModel):
"""Model for creating a new user."""
userid: str
password: Optional[str] = None
displayName: Optional[str] = None
email: Optional[str] = None
groups: Optional[List[str]] = Field(default_factory=list)
subadmin: Optional[List[str]] = Field(default_factory=list)
quota: Optional[str] = None
language: Optional[str] = None
class UserDetails(BaseModel):
"""Model for retrieving detailed user information."""
enabled: bool
id: str
quota: str
email: str
displayname: str = Field(
alias="display-name"
) # Handle both displayname and display-name
phone: Optional[str] = None
address: Optional[str] = None
website: Optional[str] = None
twitter: Optional[str] = None
groups: Optional[List[str]] = Field(default_factory=list)
class Group(BaseModel):
"""Model for a user group."""
id: str