@startuml
skinparam monochrome true
skinparam packageStyle rectangle
skinparam shadowing false



'hide footbox
participant ":CreateSkillController" as CTRL
participant ":ApplicationSession" as _APP
participant "appSession\n:ApplicationSession" as APP
participant "currentSession\n:UserSession" as SESSAO
participant ":Repositories" as RepositorySingleton
participant "repositories\n:Repositories" as PLAT
participant "organizationRepository:\nOrganizationRepository" as OrganizationRepository
participant "organization\n:Organization" as ORG

autonumber 14
-> CTRL : getHRMFromSession()
autonumber 14.1
activate CTRL

    group Get HRM
        CTRL -> _APP: getInstance()
        activate _APP
            _APP -> CTRL: appSession
        deactivate _APP

        CTRL -> APP: getCurrentSession()
        activate APP

            APP --> CTRL: currentSession
        deactivate APP

        CTRL -> SESSAO: email = getUserEmail()
        activate SESSAO

            SESSAO --> CTRL: email
        deactivate SESSAO

        CTRL -> PLAT: getOrganizationRepository()
        activate PLAT

            PLAT --> CTRL: organizationRepository
        deactivate PLAT

        CTRL -> OrganizationRepository: getOrganizationByUserEmail(email)
        activate OrganizationRepository

            loop [for each organization
                OrganizationRepository -> ORG : anyHRMHasEmail(email)
                activate ORG

                     ORG --> OrganizationRepository : true/false
                deactivate ORG
            end

            OrganizationRepository --> CTRL : organization

        deactivate OrganizationRepository

        CTRL -> ORG: getHRMByEmail(email)
        activate ORG

            ORG --> CTRL : hrm
        deactivate ORG
    end
    autonumber 15
    <-- CTRL : hrm
deactivate CTRL

@enduml