File size: 467 Bytes
8ac4183
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
from typing import Optional
from beanie import Document, Link, Indexed
from pydantic import EmailStr, Field

class UserProfile(Document):
    full_name: str
    age: Optional[int] = None
    bio: Optional[str] = None

class User(Document):
    username: str = Field(..., unique=True)
    email: EmailStr = Field(..., unique=True)
    password: str 
    is_active: bool = True
    profile: Optional[Link[UserProfile]] = None

    class Settings:
        name = "users"