mirror of
https://github.com/x1xhlol/system-prompts-and-models-of-ai-tools.git
synced 2026-06-18 15:29:36 +00:00
25 lines
833 B
Python
25 lines
833 B
Python
import uuid
|
|
from datetime import datetime, timezone
|
|
from sqlalchemy import Column, DateTime, ForeignKey, String
|
|
from sqlalchemy.orm import declared_attr
|
|
from app.database import Base
|
|
from app.models.compat import UUID, default_uuid
|
|
|
|
|
|
class BaseModel(Base):
|
|
__abstract__ = True
|
|
|
|
id = Column(UUID(as_uuid=True), primary_key=True, default=default_uuid)
|
|
created_at = Column(DateTime(timezone=True), default=lambda: datetime.now(timezone.utc))
|
|
updated_at = Column(DateTime(timezone=True),
|
|
default=lambda: datetime.now(timezone.utc),
|
|
onupdate=lambda: datetime.now(timezone.utc))
|
|
|
|
|
|
class TenantModel(BaseModel):
|
|
__abstract__ = True
|
|
|
|
@declared_attr
|
|
def tenant_id(cls):
|
|
return Column(UUID(as_uuid=True), ForeignKey("tenants.id"), nullable=False, index=True)
|