26 lines
1.2 KiB
Python
26 lines
1.2 KiB
Python
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)})
|