2024-03-28 12:15:13 +01:00
|
|
|
### rbac membership
|
|
|
|
|
|
|
|
This code generated was by RbacViewMermaidFlowchartGenerator, do not amend manually.
|
2022-10-17 08:14:09 +02:00
|
|
|
|
|
|
|
```mermaid
|
2024-03-28 12:15:13 +01:00
|
|
|
%%{init:{'flowchart':{'htmlLabels':false}}}%%
|
2022-10-17 08:14:09 +02:00
|
|
|
flowchart TB
|
|
|
|
|
2024-03-28 12:15:13 +01:00
|
|
|
subgraph partnerRel["`**partnerRel**`"]
|
|
|
|
direction TB
|
|
|
|
style partnerRel fill:#99bcdb,stroke:#274d6e,stroke-width:8px
|
|
|
|
|
|
|
|
subgraph partnerRel.contact["`**partnerRel.contact**`"]
|
|
|
|
direction TB
|
|
|
|
style partnerRel.contact fill:#99bcdb,stroke:#274d6e,stroke-width:8px
|
|
|
|
|
|
|
|
subgraph partnerRel.contact:roles[ ]
|
|
|
|
style partnerRel.contact:roles fill:#99bcdb,stroke:white
|
|
|
|
|
|
|
|
role:partnerRel.contact:owner[[partnerRel.contact:owner]]
|
|
|
|
role:partnerRel.contact:admin[[partnerRel.contact:admin]]
|
|
|
|
role:partnerRel.contact:referrer[[partnerRel.contact:referrer]]
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
subgraph partnerRel.anchorPerson["`**partnerRel.anchorPerson**`"]
|
|
|
|
direction TB
|
|
|
|
style partnerRel.anchorPerson fill:#99bcdb,stroke:#274d6e,stroke-width:8px
|
|
|
|
|
|
|
|
subgraph partnerRel.anchorPerson:roles[ ]
|
|
|
|
style partnerRel.anchorPerson:roles fill:#99bcdb,stroke:white
|
|
|
|
|
|
|
|
role:partnerRel.anchorPerson:owner[[partnerRel.anchorPerson:owner]]
|
|
|
|
role:partnerRel.anchorPerson:admin[[partnerRel.anchorPerson:admin]]
|
|
|
|
role:partnerRel.anchorPerson:referrer[[partnerRel.anchorPerson:referrer]]
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
subgraph partnerRel.holderPerson["`**partnerRel.holderPerson**`"]
|
|
|
|
direction TB
|
|
|
|
style partnerRel.holderPerson fill:#99bcdb,stroke:#274d6e,stroke-width:8px
|
|
|
|
|
|
|
|
subgraph partnerRel.holderPerson:roles[ ]
|
|
|
|
style partnerRel.holderPerson:roles fill:#99bcdb,stroke:white
|
|
|
|
|
|
|
|
role:partnerRel.holderPerson:owner[[partnerRel.holderPerson:owner]]
|
|
|
|
role:partnerRel.holderPerson:admin[[partnerRel.holderPerson:admin]]
|
|
|
|
role:partnerRel.holderPerson:referrer[[partnerRel.holderPerson:referrer]]
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
subgraph partnerRel:roles[ ]
|
|
|
|
style partnerRel:roles fill:#99bcdb,stroke:white
|
|
|
|
|
|
|
|
role:partnerRel:owner[[partnerRel:owner]]
|
|
|
|
role:partnerRel:admin[[partnerRel:admin]]
|
|
|
|
role:partnerRel:agent[[partnerRel:agent]]
|
|
|
|
role:partnerRel:tenant[[partnerRel:tenant]]
|
|
|
|
end
|
2022-10-17 08:14:09 +02:00
|
|
|
end
|
|
|
|
|
2024-03-28 12:15:13 +01:00
|
|
|
subgraph partnerRel.contact["`**partnerRel.contact**`"]
|
2022-10-17 08:14:09 +02:00
|
|
|
direction TB
|
2024-03-28 12:15:13 +01:00
|
|
|
style partnerRel.contact fill:#99bcdb,stroke:#274d6e,stroke-width:8px
|
|
|
|
|
|
|
|
subgraph partnerRel.contact:roles[ ]
|
|
|
|
style partnerRel.contact:roles fill:#99bcdb,stroke:white
|
|
|
|
|
|
|
|
role:partnerRel.contact:owner[[partnerRel.contact:owner]]
|
|
|
|
role:partnerRel.contact:admin[[partnerRel.contact:admin]]
|
|
|
|
role:partnerRel.contact:referrer[[partnerRel.contact:referrer]]
|
|
|
|
end
|
2022-10-17 08:14:09 +02:00
|
|
|
end
|
|
|
|
|
2024-03-28 12:15:13 +01:00
|
|
|
subgraph membership["`**membership**`"]
|
2022-10-17 08:14:09 +02:00
|
|
|
direction TB
|
2024-03-28 12:15:13 +01:00
|
|
|
style membership fill:#dd4901,stroke:#274d6e,stroke-width:8px
|
|
|
|
|
|
|
|
subgraph membership:roles[ ]
|
|
|
|
style membership:roles fill:#dd4901,stroke:white
|
|
|
|
|
|
|
|
role:membership:owner[[membership:owner]]
|
|
|
|
role:membership:admin[[membership:admin]]
|
|
|
|
role:membership:referrer[[membership:referrer]]
|
|
|
|
end
|
|
|
|
|
|
|
|
subgraph membership:permissions[ ]
|
|
|
|
style membership:permissions fill:#dd4901,stroke:white
|
|
|
|
|
|
|
|
perm:membership:INSERT{{membership:INSERT}}
|
|
|
|
perm:membership:DELETE{{membership:DELETE}}
|
|
|
|
perm:membership:UPDATE{{membership:UPDATE}}
|
|
|
|
perm:membership:SELECT{{membership:SELECT}}
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
subgraph partnerRel.anchorPerson["`**partnerRel.anchorPerson**`"]
|
|
|
|
direction TB
|
|
|
|
style partnerRel.anchorPerson fill:#99bcdb,stroke:#274d6e,stroke-width:8px
|
|
|
|
|
|
|
|
subgraph partnerRel.anchorPerson:roles[ ]
|
|
|
|
style partnerRel.anchorPerson:roles fill:#99bcdb,stroke:white
|
|
|
|
|
|
|
|
role:partnerRel.anchorPerson:owner[[partnerRel.anchorPerson:owner]]
|
|
|
|
role:partnerRel.anchorPerson:admin[[partnerRel.anchorPerson:admin]]
|
|
|
|
role:partnerRel.anchorPerson:referrer[[partnerRel.anchorPerson:referrer]]
|
|
|
|
end
|
2022-10-17 08:14:09 +02:00
|
|
|
end
|
|
|
|
|
2024-03-28 12:15:13 +01:00
|
|
|
subgraph partnerRel.holderPerson["`**partnerRel.holderPerson**`"]
|
|
|
|
direction TB
|
|
|
|
style partnerRel.holderPerson fill:#99bcdb,stroke:#274d6e,stroke-width:8px
|
|
|
|
|
|
|
|
subgraph partnerRel.holderPerson:roles[ ]
|
|
|
|
style partnerRel.holderPerson:roles fill:#99bcdb,stroke:white
|
|
|
|
|
|
|
|
role:partnerRel.holderPerson:owner[[partnerRel.holderPerson:owner]]
|
|
|
|
role:partnerRel.holderPerson:admin[[partnerRel.holderPerson:admin]]
|
|
|
|
role:partnerRel.holderPerson:referrer[[partnerRel.holderPerson:referrer]]
|
|
|
|
end
|
2022-10-17 08:14:09 +02:00
|
|
|
end
|
|
|
|
|
2024-03-28 12:15:13 +01:00
|
|
|
%% granting roles to users
|
|
|
|
user:creator ==> role:membership:owner
|
|
|
|
|
|
|
|
%% granting roles to roles
|
|
|
|
role:global:admin -.-> role:partnerRel.anchorPerson:owner
|
|
|
|
role:partnerRel.anchorPerson:owner -.-> role:partnerRel.anchorPerson:admin
|
|
|
|
role:partnerRel.anchorPerson:admin -.-> role:partnerRel.anchorPerson:referrer
|
|
|
|
role:global:admin -.-> role:partnerRel.holderPerson:owner
|
|
|
|
role:partnerRel.holderPerson:owner -.-> role:partnerRel.holderPerson:admin
|
|
|
|
role:partnerRel.holderPerson:admin -.-> role:partnerRel.holderPerson:referrer
|
|
|
|
role:global:admin -.-> role:partnerRel.contact:owner
|
|
|
|
role:partnerRel.contact:owner -.-> role:partnerRel.contact:admin
|
|
|
|
role:partnerRel.contact:admin -.-> role:partnerRel.contact:referrer
|
|
|
|
role:global:admin -.-> role:partnerRel:owner
|
|
|
|
role:partnerRel:owner -.-> role:partnerRel:admin
|
|
|
|
role:partnerRel.anchorPerson:admin -.-> role:partnerRel:admin
|
|
|
|
role:partnerRel:admin -.-> role:partnerRel:agent
|
|
|
|
role:partnerRel.holderPerson:admin -.-> role:partnerRel:agent
|
|
|
|
role:partnerRel:agent -.-> role:partnerRel:tenant
|
|
|
|
role:partnerRel.holderPerson:admin -.-> role:partnerRel:tenant
|
|
|
|
role:partnerRel.contact:admin -.-> role:partnerRel:tenant
|
|
|
|
role:partnerRel:tenant -.-> role:partnerRel.anchorPerson:referrer
|
|
|
|
role:partnerRel:tenant -.-> role:partnerRel.holderPerson:referrer
|
|
|
|
role:partnerRel:tenant -.-> role:partnerRel.contact:referrer
|
|
|
|
role:partnerRel:admin ==> role:membership:owner
|
|
|
|
role:membership:owner ==> role:membership:admin
|
|
|
|
role:partnerRel:agent ==> role:membership:admin
|
|
|
|
role:membership:admin ==> role:membership:referrer
|
|
|
|
role:membership:referrer ==> role:partnerRel:tenant
|
|
|
|
|
|
|
|
%% granting permissions to roles
|
|
|
|
role:global:admin ==> perm:membership:INSERT
|
|
|
|
role:membership:owner ==> perm:membership:DELETE
|
|
|
|
role:membership:admin ==> perm:membership:UPDATE
|
|
|
|
role:membership:referrer ==> perm:membership:SELECT
|
2022-10-17 08:14:09 +02:00
|
|
|
|
|
|
|
```
|