26 lines
1002 B
Python
Executable File
26 lines
1002 B
Python
Executable File
import enum
|
|
from sqlalchemy import Column, Integer, String, Boolean, Enum, ForeignKey
|
|
from sqlalchemy.orm import relationship
|
|
from app.db.base import Base
|
|
|
|
# Átnevezve OrgUserRole-ra, hogy ne ütközzön a globális UserRole-al
|
|
class OrgUserRole(str, enum.Enum):
|
|
OWNER = "OWNER"
|
|
ADMIN = "ADMIN"
|
|
FLEET_MANAGER = "FLEET_MANAGER"
|
|
DRIVER = "DRIVER"
|
|
|
|
class OrganizationMember(Base):
|
|
__tablename__ = "organization_members"
|
|
__table_args__ = {"schema": "data"}
|
|
|
|
id = Column(Integer, primary_key=True, index=True)
|
|
org_id = Column(Integer, ForeignKey("data.organizations.id", ondelete="CASCADE"))
|
|
user_id = Column(Integer, ForeignKey("data.users.id", ondelete="CASCADE"))
|
|
# Itt is frissítjük a hivatkozást
|
|
role = Column(Enum(OrgUserRole), default=OrgUserRole.DRIVER)
|
|
|
|
is_permanent = Column(Boolean, default=False)
|
|
|
|
organization = relationship("Organization", back_populates="members")
|
|
# # # user = relationship("User", back_populates="memberships") |