from sqlalchemy import Column, Enum, ForeignKey, Integer, Table from database import Base from .enums import Permission # Association table: Role <-> Permission (many-to-many) role_permissions = Table( "role_permissions", Base.metadata, Column( "role_id", Integer, ForeignKey("roles.id", ondelete="CASCADE"), primary_key=True, ), Column("permission", Enum(Permission), primary_key=True), ) # Association table: User <-> Role (many-to-many) user_roles = Table( "user_roles", Base.metadata, Column( "user_id", Integer, ForeignKey("users.id", ondelete="CASCADE"), primary_key=True, ), Column( "role_id", Integer, ForeignKey("roles.id", ondelete="CASCADE"), primary_key=True, ), )