# models.py from sqlalchemy import Column, Integer, String, Enum, ForeignKey from sqlalchemy.orm import relationship from data.db import Base from core.enums import ConnectionTypes, UserRole class User(Base): __tablename__ = "users" id = Column(Integer, primary_key=True, index=True) username = Column(String, unique=True, index=True, nullable=False) role = Column(Enum(UserRole), default=UserRole.user, nullable=False) api_key = Column(String, unique=True, nullable=False) # repos = relationship("Connection", back_populates="owner") class Connection(Base): __tablename__ = "connections" id = Column(Integer, primary_key=True, index=True) db_name = Column(String, nullable=False) type = Column(Enum(ConnectionTypes), nullable=False) host = Column(String) port = Column(Integer) username = Column(String) password = Column(String) owner_id = Column(Integer, ForeignKey("users.id")) # owner = relationship("User", back_populates="connections")