lots of configuration progress.

This commit is contained in:
2025-08-06 15:38:49 -07:00
parent c6102dda45
commit 41ea8fb3bd
24 changed files with 2566 additions and 51 deletions

View File

@@ -40,8 +40,29 @@ class Folder(Base):
rule_text = db.Column(db.Text)
priority = db.Column(db.Integer)
organize_enabled = db.Column(db.Boolean, default=True)
folder_type = db.Column(db.String(20), default='destination', nullable=False)
total_count = db.Column(db.Integer, default=0)
pending_count = db.Column(db.Integer, default=0)
emails_count = db.Column(db.Integer, default=0)
recent_emails = db.Column(db.JSON, default=list) # Store recent email subjects with dates
user = db.relationship('User', backref=db.backref('folders', lazy=True))
user = db.relationship('User', backref=db.backref('folders', lazy=True))
class ProcessedEmail(Base):
__tablename__ = 'processed_emails'
id = db.Column(db.Integer, primary_key=True, autoincrement=True)
user_id = db.Column(db.Integer, db.ForeignKey('users.id'), nullable=False)
folder_id = db.Column(db.Integer, db.ForeignKey('folders.id'), nullable=False)
email_uid = db.Column(db.String(255), nullable=False)
folder_name = db.Column(db.String(255), nullable=False)
is_processed = db.Column(db.Boolean, default=False)
first_seen_at = db.Column(db.DateTime, default=datetime.utcnow)
processed_at = db.Column(db.DateTime, nullable=True)
created_at = db.Column(db.DateTime, default=datetime.utcnow)
updated_at = db.Column(db.DateTime, default=datetime.utcnow, onupdate=datetime.utcnow)
user = db.relationship('User', backref=db.backref('processed_emails', lazy=True))
folder = db.relationship('Folder', backref=db.backref('processed_emails', lazy=True))
def __repr__(self):
return f'<ProcessedEmail {self.email_uid} for folder {self.folder_name}>'