@startuml main
actor Admin
participant "FastAPI" as app
participant "AdminFunctions" as admin
participant "Jinja2Templates" as templates

Admin -> app : POST /admin/login
activate app

app -> admin : verify_admin_password(username, password)
activate admin
admin --> app : verification_result
deactivate admin

alt verification success
    app -> templates : TemplateResponse("admin_register_user.html")
    templates --> Admin
else verification failure
    app -> templates : TemplateResponse("admin_login.html", {"error": "Invalid password"})
    templates --> Admin
end

deactivate app
@enduml