Source code for lalandre_core.models.versions
"""Pydantic model for version records associated with one act."""
from datetime import datetime
from typing import Optional
from pydantic import BaseModel, ConfigDict, Field
from .types import VersionType
[docs]
class Versions(BaseModel):
"""Represent one dated version of a legal act."""
model_config = ConfigDict(from_attributes=True)
id: Optional[int] = Field(default=None, description="Primary key")
act_id: int = Field(..., description="Foreign key to acts")
version_number: int = Field(..., gt=0, description="Version number")
version_type: VersionType = Field(..., description="Type of version")
version_date: datetime = Field(..., description="Version date")
source_url: Optional[str] = Field(default=None, description="Source URL")
is_current: bool = Field(default=False, description="Is current version")
created_at: Optional[datetime] = Field(default=None, description="Creation timestamp")