Files
email-organizer/app/routes.py
2025-08-03 10:09:53 -07:00

58 lines
1.9 KiB
Python

from flask import Blueprint, render_template, request
from app import db
from app.models import Folder, User
import uuid
main = Blueprint('main', __name__)
# For prototype, use a fixed user ID
MOCK_USER_ID = '123e4567-e89b-12d3-a456-426614174000'
@main.route('/')
def index():
# Ensure the mock user exists
user = User.query.get(MOCK_USER_ID)
if not user:
user = User(id=MOCK_USER_ID, email='prototype@example.com')
db.session.add(user)
db.session.commit()
folders = Folder.query.filter_by(user_id=MOCK_USER_ID).all()
return render_template('index.html', folders=folders)
@main.route('/api/folders', methods=['POST'])
def add_folder():
try:
# Get form data instead of JSON
name = request.form.get('name')
rule_text = request.form.get('rule_text')
priority = request.form.get('priority')
if not name:
# Return the folders list unchanged with an error message
folders = Folder.query.filter_by(user_id=MOCK_USER_ID).all()
# We'll add error handling in the template
return render_template('partials/folders_list.html', folders=folders)
# Create new folder
folder = Folder(
user_id=MOCK_USER_ID,
name=name,
rule_text=rule_text,
priority=int(priority) if priority else None
)
db.session.add(folder)
db.session.commit()
# Get updated list of folders
folders = Folder.query.filter_by(user_id=MOCK_USER_ID).all()
# Return the updated folders list HTML
return render_template('partials/folders_list.html', folders=folders)
except Exception as e:
db.session.rollback()
# Return the folders list unchanged
folders = Folder.query.filter_by(user_id=MOCK_USER_ID).all()
return render_template('partials/folders_list.html', folders=folders)