57 lines
1.5 KiB
Python
57 lines
1.5 KiB
Python
from pydantic import BaseModel, EmailStr
|
|
from typing import Optional, List, Any
|
|
|
|
class LoginRequest(BaseModel):
|
|
email: str
|
|
password: str
|
|
|
|
class SessionItem(BaseModel):
|
|
userId: int
|
|
email: str
|
|
fullname: Optional[str] = ""
|
|
firstName: Optional[str] = ""
|
|
username: Optional[str] = ""
|
|
roles: List[str] = []
|
|
token: str
|
|
|
|
class SessionResponse(BaseModel):
|
|
operationStatus: str # "SUCCESS" or "ERROR"
|
|
operationMessage: str # "Login Success" or "Login Failed"
|
|
item: Optional[SessionItem] = None
|
|
|
|
class RegistrationRequest(BaseModel):
|
|
email: str
|
|
password: Optional[str] = None
|
|
new_password: Optional[str] = None
|
|
confirm_password: Optional[str] = None
|
|
fullName: Optional[str] = None
|
|
first_name: Optional[str] = None
|
|
last_name: Optional[str] = None
|
|
username: Optional[str] = None
|
|
account_id: Optional[Any] = None
|
|
mob_no: Optional[Any] = None
|
|
gender: Optional[str] = None
|
|
date_of_birth: Optional[str] = None
|
|
how_you_know_aboutus: Optional[str] = None
|
|
accesstype: Optional[str] = None
|
|
|
|
class SendEmailRequest(BaseModel):
|
|
email: str
|
|
password: Optional[str] = None
|
|
fullName: Optional[str] = None
|
|
username: Optional[str] = None
|
|
account_id: Optional[Any] = None
|
|
recaptcha: Optional[Any] = None
|
|
|
|
class EmailExistsRequest(BaseModel):
|
|
email: str
|
|
|
|
class UserResponse(BaseModel):
|
|
userId: int
|
|
email: str
|
|
username: str
|
|
fullName: Optional[str] = None
|
|
firstName: Optional[str] = None
|
|
roles: List[str] = []
|
|
status: Optional[str] = "ACTIVE"
|