from app import db from sqlalchemy.dialects.postgresql import UUID import uuid class User(db.Model): __tablename__ = 'users' id = db.Column(UUID(as_uuid=True), primary_key=True, default=uuid.uuid4) email = db.Column(db.String(255), unique=True, nullable=False) # Placeholders for Milestone 1 password_hash = db.Column(db.LargeBinary) imap_config = db.Column(db.JSON) # Using db.JSON instead of db.JSONB for compatibility class Folder(db.Model): __tablename__ = 'folders' id = db.Column(UUID(as_uuid=True), primary_key=True, default=uuid.uuid4) user_id = db.Column(UUID(as_uuid=True), db.ForeignKey('users.id'), nullable=False) name = db.Column(db.String(255), nullable=False) rule_text = db.Column(db.Text) priority = db.Column(db.Integer) user = db.relationship('User', backref=db.backref('folders', lazy=True))