import uuid
from datetime import datetime
from pydantic import EmailStr, Field
from dataio.tools import BonsaiBaseModel
[docs]
class User(BonsaiBaseModel):
"""Pydantic model representing a user."""
email: EmailStr
name: str
is_active: bool = True
is_staff: bool = False
is_superuser: bool = False
[docs]
class DataLicense(BonsaiBaseModel):
"""Pydantic model for Data License."""
name: str
description: str | None = None
url: str
create_time: datetime = Field(default_factory=datetime.now)
created_by: User | None = None # Assuming a ForeignKey-like relationship
def __str__(self) -> str:
return self.name
[docs]
class Version(BonsaiBaseModel):
version: str
create_time: datetime = Field(default_factory=datetime.now)
comments: str | None = None
def __str__(self) -> str:
return f"Version {self.version}"