from pydantic import BaseModel, EmailStr from pydantic_mongo import AbstractRepository, ObjectIdField class User(BaseModel): id: ObjectIdField = None username: str password: str roles: str = "User" status: int = 0 email: EmailStr class UserOut(BaseModel): id: ObjectIdField = None username: str roles: str status: int = 0 email: EmailStr class UserIn(BaseModel): username: str roles: str password: str email: EmailStr class UserCreate(BaseModel): username: str password: str email: EmailStr class UserInDB(User): password: str class UserRepository(AbstractRepository[User]): class Meta: collection_name = "users"