adorsys/datasafe

View on GitHub
datasafe-examples/datasafe-examples-multidfs/how-it-works.puml

Summary

Maintainability
Test Coverage
@startuml
skinparam nodesep 80
skinparam linetype ortho
left to right direction

actor user as u

rectangle "Directory Datasafe service" as dd {
    node "Profile retrieval service" as ddp
    node "Bucket access service" as ddb
}

database "system\nbucket" as sb

rectangle "Datasafe service" as ds {

    node "Profile" as dsp
    node "Encryption" as dse
    node "Bucket access" as dsb
    node "Storage" as dss
}

database "bucket\n#1" as b1

u --> ds : write file
dsp --> ddp : Retrieve users' profile\nfor private files location
ddp --> sb : Read profile
ddp --> dse : Encrypt path and data
dse -> dsb : Retrieve data storage access credentials
ddb --> sb : Read access credentials
dsb --> ddb : Get storage access credentials
ddb --> dss : Write encrypted stream to storage
dss --> b1 : Store blob
@enduml