@startuml actor User participant App participant Server participant Store User -> App: Login App -> Server: Request Role alt Role == VervangIdentiteit Server -> App: Show Switch User Button User -> App: Request user switch App -> Server: Make data API call with student UPN Server --> App: Return The Response alt Response Status is Success App -> Store: Move User Data to Impersonator Store App -> Server: Deregister From Push Notifications App -> Store: Clear User Store Store -> Server: Add Student UPN As Header to Network Calls From Impersonator Store Server --> App: Redirect to Home Page App -> Server: Fetch Impersonated Student Data else Response Error is Error end alt Response is Unauthorized Server -> App: Show You Do Not Have The Right Message else Response is Other Error Server -> App: Show Generic Error Message end else Role == Student Server -> App: Show Regular User Interface end User -> App: Clicks Revert to Myself Button App -> Store: Move Impersonator Store to User Store App -> Store: Clear Impersonator Store Store -> Server: Remove Student UPN From The Headers App -> Server: Register for Push Notifications Server --> App: Redirect to Home Page App -> Server: Fetch User Data @enduml
Decode URL
Submit
amiga
aws-orange
black-knight
bluegray
blueprint
cerulean-outline
cerulean
crt-amber
crt-green
cyborg-outline
cyborg
hacker
lightgray
mars
materia-outline
materia
metal
mimeograph
minty
plain
reddress-darkblue
reddress-darkgreen
reddress-darkorange
reddress-darkred
reddress-lightblue
reddress-lightgreen
reddress-lightorange
reddress-lightred
sandstone
silver
sketchy-outline
sketchy
spacelab
spacelab-white
superhero-outline
superhero
toy
united
vibrant
🎉 Discover the future PlantUML Web Editor! 🚀
PNG
SVG
ASCII Art