@startuml
skinparam sequenceArrowThickness 2
skinparam roundcorner 20
skinparam maxmessagesize 60
skinparam sequenceParticipant underline

actor User
participant ": UI" as ui
participant ": ListOfProjectsAllocatedController" as ctrl
participant ": FindProjectsForUserService" as ser
participant ": ResourceStore" as rs
participant ": ProjectStore" as ps
participant ": ProjectMapper" as map
participant ": DisplayProjectDto" as dto

autonumber

activate User
User -> ui : selects data
activate ui

ui -> ctrl : getAllCurrentProjectsOfUser(String userId)
activate ctrl

ctrl -> ser : getAllCurrentProjectsOfUser(String userId)
activate ser

ser -> rs : findProjectIdsForCurrentResources(String userId)
activate rs

rs --> ser : List<ProjectId> idList
deactivate rs

loop
ser -> ps : findProjectById(String projId)
activate ps

ps --> ser : Project project
deactivate ps
end

ser -> map : listToDto(List<Project> projects)
activate map

loop

map --> dto ** : <<create>>
end

map --> ser : List<ProjectDto> dtoList
deactivate map

ser --> ctrl : dtoList
deactivate ser

ctrl --> ui : ResponseEntity
deactivate ctrl

ui --> User : displays result
deactivate ui

@enduml