@startuml

skin rose

title Granska inkommande SWAMID metadata

start
if (Nybeställning av metadata?) then (Ja)
    if (Är beställaren behörig?) then (Ja)
    else (Nej)
        :Säkerställ beställare FIXME;
        kill
    endif
else (Nej)
endif

group Varningar
    note
        T.ex entitetskategorier som inte är testade i release-checken,
        certifikat som går ut eller för få bitar i certifikatet?
    end note

    if (Finns det några varningar att hantera?) then (Ja)
        :Be om uppdatering;
        kill
    else (Nej)
    endif
end group

group Fältvalidering
note: Gå igenom nya eller uppdaterade fält

switch (IdP eller SP?)
    case (IdP)
        if (Pekar InformationURL på Service Defintion?) then (Ja)
        else (Nej)
            :Be om uppdatering;
            kill;
        endif
        if (Är organisationen godkänd för de assurance-certification de vill nyttja?) then (Ja)
        else (Nej)
            :Be om uppdatering;
            kill;
        endif
        if (Tillhör scopesen organisationen?) then (Ja)
        else (Nej)
            :Be om uppdatering;
            kill;
        endif

    case (SP)
        if (Pekar InformationURL på en sida som beskriver tjänsten?) then (Ja)
        else (Nej)
            :Be om uppdatering;
            kill;
        endif

        if (Efterfrågas entitetskategori?) then (Ja)
            group (Entitetskategori)
                note
                    T.ex kan R&S bara användas för tjänster där studenter eller forskare loggar in för att genomföra sin utbildning eller forskning.
                    Exempel på tjänster precis på gränsen:
                    * Schematjänster
                    Exempel på ej godkända tjänster:
                    * Adminstration av kurskataloger
                    * Renodlade administrativa tjänster
                    * Intratnät
            end note
            if (Passar tjänsten i vald entitetskategori?) then (Ja)
            else (Nej)
                :Be om uppdatering;
                kill;
            endif
            end group
        else (Nej)
            :Upplys beställaren att i SWAMID inte skickas några attribut utan entitetskategori;
        endif

endswitch
if (Pekar PrivacyURL på en sida som innehåller en godkänd Privacy Policy?) then (Ja)
else (Nej)
    :Be om uppdatering;
    kill;
endif

if (Beskriver Description entiteten?) then (Ja)
else (Nej)
    :Be om uppdatering;
    kill;
endif
if (Beskriver DisplayName entiteten?) then (Ja)
else (Nej)
    :Be om uppdatering;
    kill;
endif
if (Är OrganizationName organisationens juridiska namn) then (Ja)
else (Nej)
    :Be om uppdatering;
    kill;
endif
if (Avviker OrganizationDisplayName från OrganizationName) then (Ja)
    if (Är organisationen känd som detta?) then (Ja)
    else (Nej)
        :Be om uppdatering;
        kill;
    endif
else (Nej)
endif
if (Pekar OrganizationURL på organisationens hemsida?) then (Ja)
else (Nej)
    :Be om uppdatering;
    kill;
endif
end group

:Publicera metadatan;
stop

@enduml