Base Models¶
Define your Base models¶
There are four Pydantic models variations provided as mixins:
- UserInRegister– User model for registering.
- UserInCreate– User model for creating.
- UserInLogin– User model for logging in.
- UserInForgotPassword– User model for forgot password.
- UserPayload– User model for payloads.
- UserInSetPassword– User model for setting password.
- UserInChangePassword– User model for changing password.
- UserInChangeUsername– User model for changing username.
- UserPrivateInfo– User model for private info.
You should define each of those variations, inheriting from each mixin:
from authx.models import user
class register(user.UserInRegister):
    pass
class Create(user.UserInCreate):
    pass
class login(user.UserInLogin):
    pass
class private(user.UserPrivateInfo):
    pass
Adding your own fields¶
You can of course add your own properties there to fit to your needs. In the
example below, we add a required string property, first_name, and an optional
string property, phone.
from authx.models import user
class register(user.UserInRegister):
    first_name: str
    phone: str
class login(user.UserInLogin):
    first_name: str
    phone: str
class UserUpdate(user.UserInChangeUsername):
    first_name: str
    phone: str
Check the pydantic documentation for more information.
Check also: