bmc_hub/app/workflows/views.py

26 lines
1.2 KiB
Python
Raw Permalink Normal View History

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)})