Changeset View
Changeset View
Standalone View
Standalone View
docs/images/deposit-update-chart.uml
- This file was added.
@startuml | |||||
participant CLIENT as "SWORD client\n(eg. HAL)" | |||||
participant DEPOSIT as "swh-deposit" | |||||
participant DEPOSIT_STORAGE as "deposit storage" | |||||
activate CLIENT | |||||
activate DEPOSIT | |||||
activate DEPOSIT_STORAGE | |||||
CLIENT ->> DEPOSIT: POST /1/<collection-name>/\nHEADER In-Progress: true | |||||
DEPOSIT ->> DEPOSIT_STORAGE: check authentication | |||||
DEPOSIT_STORAGE -->> DEPOSIT: return ok (if client exists and credentials ok) | |||||
DEPOSIT -->> CLIENT: return 201, <deposit receipt> | |||||
loop while status is 'partial' | |||||
CLIENT -> DEPOSIT: POST/PUT /1/<collection-name>/<deposit-id>/media/\nPOST/PUT /1/<collection-name>/<deposit-id>/metadata/ | |||||
DEPOSIT ->> DEPOSIT_STORAGE: check authentication | |||||
DEPOSIT_STORAGE -->> DEPOSIT: return ok | |||||
DEPOSIT ->> DEPOSIT_STORAGE: check inputs() | |||||
DEPOSIT_STORAGE -->> DEPOSIT: return ok | |||||
alt HEADER: In-Progress = true | |||||
DEPOSIT ->> DEPOSIT_STORAGE: add-or-replace-data-and-update-status('partial') | |||||
else HEADER: In-Progress = false | |||||
DEPOSIT ->> DEPOSIT_STORAGE: add-or-replace-data-and-update-status('ready') | |||||
ardumont: `deposited` instead of `ready`
And then the check can do its job and trigger the checks.
if… | |||||
Not Done Inline Actionsardumont: D4257 | |||||
end | |||||
DEPOSIT_STORAGE -->> DEPOSIT: return ok | |||||
end | |||||
DEPOSIT -->> CLIENT: return 201, <deposit receipt>\nreturn 204 | |||||
@enduml |
deposited instead of ready
And then the check can do its job and trigger the checks.
if checks ok -> verified (and now it's ready for injection).
else checks ko -> rejected.
[1] https://forge.softwareheritage.org/source/swh-deposit/browse/master/docs/images/status.png