Skip to content

Latest commit

 

History

History
48 lines (45 loc) · 1.69 KB

DMS.ACC_CAOM.md

File metadata and controls

48 lines (45 loc) · 1.69 KB
@startuml
actor "User" order 10
participant "GMS" as AAS order 30
participant "Client" order 20
participant "HQ\nData\nAccess\nService" as SDAS order 40
participant "Query Service\n(TAP)" as DIS order 50
participant "Group\nMembership\nService" as GMS order 55
database "CAOM\nDatabase" as DIB order 60
database "TMT Archive" as store order 70

group authenticate
    User -> Client : provide login\ninformation
    Client -> AAS : login request
    AAS -> Client: return token
end

group search
    Client -> SDAS : submit request using search criteria\nwith token
    SDAS -> DIS : submit request using\nsearch criteria and token
    DIS -> DIB : form SQL request\nand query DB
    DIS -> SDAS: return URIs \nof matching file(s)
    SDAS -> Client : return list of matching file(s)
end
User <-> Client : Choose file(s) from\nlist (if necessary)

group retrieve
    Client -> SDAS : request file(s) using location URI\nof selected file(s) and token
    alt proprietary period for file expired
        SDAS <-> store : retrieve file(s)
        SDAS -> SDAS: package files (if necessary)
        SDAS -> Client : return file/package
    else propietary period for file has not expired
        SDAS -> GMS: get groups\nuser is member of
        SDAS -> DIS: get list of groups with access
        DIS -> DIB: form SQL request and query DB
        DIB -> DIS: return list of groups
        alt user is member of a group with access
            SDAS <-> store : retrieve file(s)
            SDAS -> SDAS: package files (if necessary)
            SDAS -> Client : return file/package
        else user is not member of a group with access
            SDAS -> Client : Access Denied error
        end
    end
end
@enduml