mirror of
https://github.com/Alfresco/alfresco-community-repo.git
synced 2025-06-16 17:55:15 +00:00
60 lines
1.3 KiB
Plaintext
60 lines
1.3 KiB
Plaintext
@startuml
|
|
|
|
Title: Create a Tenant (NoSQL)
|
|
actor "User" as U
|
|
participant "Tenant Console" as TC
|
|
participant "TenantServiceClient" as TCL
|
|
participant "TenantServiceRestV1" as TRS
|
|
participant "TenantServiceImpl" as TSI
|
|
participant "Cx1TenantService" as CTS
|
|
participant "cassandra-driver-core-2.2.0-rc1" as DDC
|
|
database "Cassandra" as C
|
|
|
|
U->TC:create Tenant
|
|
note right
|
|
The Tenant Console
|
|
may be part of the
|
|
Admin Console
|
|
end note
|
|
activate TC
|
|
TC->TCL:createTenant()
|
|
activate TCL
|
|
TCL->TCL: find server from super\nAbstractServiceClient
|
|
TCL->TRS: HTTP POST {tenantCtx}/public/an2/v1/tenants\nCreateTenantPojo(JSON)
|
|
activate TRS
|
|
note right
|
|
This is wired
|
|
to the endpoint
|
|
using Jersey
|
|
end note
|
|
TRS->TSI: create(TenantServiceSPI=Cx1TenantService)
|
|
activate TSI
|
|
TSI->CTS: createTenant()
|
|
note right
|
|
The Cassandra
|
|
implementation can
|
|
be replaced by
|
|
other implementations
|
|
(e.g. Dynamo DB)
|
|
through Spring config
|
|
end note
|
|
activate CTS
|
|
CTS->DDC: insert into Table alf_data_tenants
|
|
activate DDC
|
|
DDC->C: store the tenant record
|
|
C->DDC:success
|
|
deactivate C
|
|
DDC->CTS: success
|
|
deactivate DDC
|
|
CTS->TSI:success
|
|
deactivate CTS
|
|
TSI->TRS: success
|
|
deactivate TSI
|
|
TRS->TCL: HTTP 200 OK
|
|
deactivate TRS
|
|
TCL->TC: success
|
|
deactivate TCL
|
|
TC->>U:success message
|
|
deactivate TC
|
|
|
|
@enduml |