new api service and logic implemented
This commit is contained in:
134
trash/models_old.py
Normal file
134
trash/models_old.py
Normal file
@@ -0,0 +1,134 @@
|
||||
"""
|
||||
Authentication request models.
|
||||
"""
|
||||
|
||||
from typing import TYPE_CHECKING, Dict, Any, Literal, Optional, TypedDict
|
||||
from pydantic import BaseModel, Field, model_validator, RootModel, ConfigDict
|
||||
from ApiEvents.base_request_model import BaseRequestModel, DictRequestModel
|
||||
|
||||
if TYPE_CHECKING:
|
||||
from fastapi import Request
|
||||
|
||||
|
||||
class TokenObjectBase(BaseModel):
|
||||
"""Base model for token objects."""
|
||||
|
||||
user_type: str = Field(..., description="Type of user")
|
||||
user_id: str = Field(..., description="User ID")
|
||||
token: str = Field(..., description="Authentication token")
|
||||
permissions: Dict[str, Any] = Field(description="User permissions")
|
||||
|
||||
|
||||
class LoginData(TypedDict):
|
||||
"""Type for login data."""
|
||||
|
||||
domain: str
|
||||
access_key: str
|
||||
password: str
|
||||
remember_me: bool
|
||||
|
||||
|
||||
class LoginRequestModel(BaseRequestModel[LoginData]):
|
||||
"""Request model for login endpoint."""
|
||||
|
||||
model_config = ConfigDict(
|
||||
json_schema_extra={
|
||||
"example": {
|
||||
"domain": "example.com",
|
||||
"access_key": "user@example",
|
||||
"password": "password",
|
||||
"remember_me": False,
|
||||
}
|
||||
}
|
||||
)
|
||||
|
||||
|
||||
class LogoutData(TypedDict):
|
||||
"""Type for logout data."""
|
||||
|
||||
token: str
|
||||
|
||||
|
||||
class LogoutRequestModel(BaseRequestModel[LogoutData]):
|
||||
"""Request model for logout endpoint."""
|
||||
|
||||
model_config = ConfigDict(
|
||||
json_schema_extra={"example": {"token": "your-token-here"}}
|
||||
)
|
||||
|
||||
|
||||
class RememberData(TypedDict):
|
||||
"""Type for remember token data."""
|
||||
|
||||
remember_token: str
|
||||
|
||||
|
||||
class RememberRequestModel(BaseRequestModel[RememberData]):
|
||||
"""Request model for remember token endpoint."""
|
||||
|
||||
model_config = ConfigDict(
|
||||
json_schema_extra={"example": {"remember_token": "your-remember-token-here"}}
|
||||
)
|
||||
|
||||
|
||||
class ForgotData(TypedDict):
|
||||
"""Type for forgot password data."""
|
||||
|
||||
email: str
|
||||
domain: str
|
||||
|
||||
|
||||
class ForgotRequestModel(BaseRequestModel[ForgotData]):
|
||||
"""Request model for forgot password endpoint."""
|
||||
|
||||
model_config = ConfigDict(
|
||||
json_schema_extra={
|
||||
"example": {"email": "user@example.com", "domain": "example.com"}
|
||||
}
|
||||
)
|
||||
|
||||
|
||||
class ChangePasswordData(TypedDict):
|
||||
"""Type for change password data."""
|
||||
|
||||
old_password: str
|
||||
new_password: str
|
||||
|
||||
|
||||
class ChangePasswordRequestModel(BaseRequestModel[ChangePasswordData]):
|
||||
"""Request model for change password endpoint."""
|
||||
|
||||
model_config = ConfigDict(
|
||||
json_schema_extra={
|
||||
"example": {"old_password": "old-pass", "new_password": "new-pass"}
|
||||
}
|
||||
)
|
||||
|
||||
|
||||
class CreatePasswordData(TypedDict):
|
||||
"""Type for create password data."""
|
||||
|
||||
token: str
|
||||
password: str
|
||||
|
||||
|
||||
class CreatePasswordRequestModel(BaseRequestModel[CreatePasswordData]):
|
||||
"""Request model for create password endpoint."""
|
||||
|
||||
model_config = ConfigDict(
|
||||
json_schema_extra={
|
||||
"example": {"token": "password-creation-token", "password": "new-password"}
|
||||
}
|
||||
)
|
||||
|
||||
|
||||
class SelectionDataOccupant(BaseModel):
|
||||
"""Type for selection data."""
|
||||
|
||||
build_living_space_uu_id: Optional[str]
|
||||
|
||||
|
||||
class SelectionDataEmployee(BaseModel):
|
||||
"""Type for selection data."""
|
||||
|
||||
company_uu_id: Optional[str]
|
||||
Reference in New Issue
Block a user