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)