|
- # Purpose: User schema for pydantic (validation, inside-api usage)
-
- from pydantic import BaseModel, EmailStr, Field
-
-
- class UserCreate(BaseModel):
- Email: EmailStr
- Password: str = Field(..., min_length=7, max_length=20)
- Name: str = Field(..., min_length=3, max_length=50)
- MiddleName: str = Field(None)
- LastName: str = Field(..., min_length=3, max_length=50)
- ContactNumber: str = Field(..., min_length=12, max_length=12)
- GovernmentId: str = Field(...)
- Address: str = Field(...)
- Email: EmailStr = Field(...)
-
-
- class DriverCreate(UserCreate):
- DrivingLicenseNumber: str = Field(...)
-
-
- class ShowUser(BaseModel):
- Id: int
- Name: str
- MiddleName: str | None
- LastName: str
- ContactNumber: str
- GovernmentId: str
- Address: str
- Email: EmailStr
- Role: str
-
- class Config:
- orm_mode = True
- validate_assignment = True
-
-
- class ShowDriverNoVehicle(ShowUser):
- DrivingLicenseNumber: str | None
-
-
- from schemas.vehicle import OutputVehicle
-
-
- class ShowDriver(ShowUser):
- DrivingLicenseNumber: str | None
- AssignedVehicle: OutputVehicle | None
|