cognee/cognee/modules/users/models/ACL.py

22 lines
861 B
Python

from uuid import uuid4
from datetime import datetime, timezone
from sqlalchemy.orm import relationship
from sqlalchemy import Column, ForeignKey, DateTime, UUID
from cognee.infrastructure.databases.relational import Base
class ACL(Base):
__tablename__ = "acls"
id = Column(UUID, primary_key=True, default=uuid4)
created_at = Column(DateTime(timezone=True), default=lambda: datetime.now(timezone.utc))
updated_at = Column(DateTime(timezone=True), onupdate=lambda: datetime.now(timezone.utc))
principal_id = Column(UUID, ForeignKey("principals.id"))
permission_id = Column(UUID, ForeignKey("permissions.id"))
dataset_id = Column(UUID, ForeignKey("datasets.id", ondelete="CASCADE"))
principal = relationship("Principal")
permission = relationship("Permission")
dataset = relationship("Dataset", back_populates="acls")