from fastapi import APIRouter, Depends, Request from fastapi.responses import HTMLResponse from fastapi.templating import Jinja2Templates from app.workflows.router import view_access from app.core.auth_dependencies import require_all_permissions from app.workflows.ui_access import page_permissions router = APIRouter() templates = Jinja2Templates(directory='app') resource_access = require_all_permissions('workflows.view', 'workflows.manage') @router.get('/workflows', response_class=HTMLResponse) def workflow_page(request: Request, user=Depends(view_access)): return templates.TemplateResponse('workflows/frontend/builder.html', {'request': request, 'workflow_permissions': page_permissions(user)}) @router.get('/workflows/resources', response_class=HTMLResponse) def resource_page(request: Request, user=Depends(resource_access)): return templates.TemplateResponse('workflows/frontend/resources.html', {'request': request, 'workflow_permissions': page_permissions(user)}) @router.get('/workflows/operations', response_class=HTMLResponse) def operations_page(request: Request, user=Depends(view_access)): return templates.TemplateResponse('workflows/frontend/operations.html', {'request': request, 'workflow_permissions': page_permissions(user)})