satupeta-main/app/models/role_model.py
2026-02-23 12:20:42 +07:00

33 lines
1.1 KiB
Python
Executable File

from datetime import datetime
import uuid6
from pytz import timezone
from sqlalchemy import UUID, Boolean, Column, DateTime, String, Text
from sqlalchemy.orm import relationship
from app.core.config import settings
from . import Base
class RoleModel(Base):
__tablename__ = "roles"
id = Column(UUID(as_uuid=True), primary_key=True, index=True, default=uuid6.uuid7)
name = Column(String(20), nullable=False)
description = Column(Text, nullable=True)
is_active = Column(Boolean, default=True, nullable=False)
created_at = Column(DateTime(timezone=True), default=datetime.now(timezone(settings.TIMEZONE)))
updated_at = Column(
DateTime(timezone=True),
default=datetime.now(timezone(settings.TIMEZONE)),
onupdate=datetime.now(timezone(settings.TIMEZONE)),
)
users = relationship("UserModel", lazy="selectin")
# Relationships
# organization = relationship("OrganizationModel", back_populates="members")
# produced_mapsets = relationship("MapsetModel", back_populates="producer")
# mapset_access = relationship("MapsetAccessModel", foreign_keys=[MapsetAccessModel.user_id], back_populates="user")