24 lines
499 B
Python
24 lines
499 B
Python
from typing import Annotated
|
|
|
|
import shortuuid
|
|
from layercake.extra_types import CnpjStr
|
|
from pydantic import BaseModel, Field, StringConstraints
|
|
|
|
|
|
class Org(BaseModel):
|
|
id: str
|
|
name: Annotated[str, StringConstraints(strip_whitespace=True)]
|
|
cnpj: CnpjStr | None = None
|
|
|
|
|
|
class Cert(BaseModel):
|
|
id: str
|
|
exp_interval: int
|
|
|
|
|
|
class Course(BaseModel):
|
|
id: str = Field(default_factory=shortuuid.uuid)
|
|
name: str
|
|
cert: Cert | None = None
|
|
access_period: int | None = None
|