Michael Hoennig
2022-11-25 db17a2e9903e4bb3aad7c8851af4811951c0bc42
commit | author | age
7f5b23 1 ### hs_office_sepaMandate RBAC
MH 2
3 ```mermaid
4 flowchart TB
5
6 subgraph global
7     style global fill:#eee
8     
9     role:global.admin[global.admin]    
10 end
11
12 subgraph hsOfficeBankAccount
13     direction TB
14     style hsOfficeBankAccount fill:#eee
15     
16     role:hsOfficeBankAccount.owner[bankAccount.owner]    
17     --> role:hsOfficeBankAccount.admin[bankAccount.admin]    
18     --> role:hsOfficeBankAccount.tenant[bankAccount.tenant]    
19     --> role:hsOfficeBankAccount.guest[bankAccount.guest]    
20 end
21
22 subgraph hsOfficeDebitor
23     direction TB
24     style hsOfficeDebitor fill:#eee
25     
26     role:hsOfficeDebitor.owner[debitor.admin]    
27     --> role:hsOfficeDebitor.admin[debitor.admin]    
28     --> role:hsOfficeDebitor.agent[debitor.agent]    
29     --> role:hsOfficeDebitor.tenant[debitor.tenant]    
30     --> role:hsOfficeDebitor.guest[debitor.guest]    
31 end
32
33 subgraph hsOfficeSepaMandate
34                     
35    role:hsOfficeSepaMandate.owner[sepaMandate.owner]
36    %% permissions
37        role:hsOfficeSepaMandate.owner --> perm:hsOfficeSepaMandate.*{{sepaMandate.*}}
38    %% incoming
39        role:global.admin ---> role:hsOfficeSepaMandate.owner
40   
41    role:hsOfficeSepaMandate.admin[sepaMandate.admin]
42    %% permissions
43        role:hsOfficeSepaMandate.admin --> perm:hsOfficeSepaMandate.edit{{sepaMandate.edit}}
44    %% incoming
45        role:hsOfficeSepaMandate.owner ---> role:hsOfficeSepaMandate.admin
46   
47    role:hsOfficeSepaMandate.agent[sepaMandate.agent]
48    %% incoming
49        role:hsOfficeSepaMandate.admin ---> role:hsOfficeSepaMandate.agent
50        role:hsOfficeDebitor.admin --> role:hsOfficeSepaMandate.agent
51        role:hsOfficeBankAccount.admin --> role:hsOfficeSepaMandate.agent
52    %% outgoing
53        role:hsOfficeSepaMandate.agent --> role:hsOfficeDebitor.tenant
54        role:hsOfficeSepaMandate.admin --> role:hsOfficeBankAccount.tenant
55   
56    role:hsOfficeSepaMandate.tenant[sepaMandate.tenant]
57    %% incoming
58        role:hsOfficeSepaMandate.agent --> role:hsOfficeSepaMandate.tenant
59    %% outgoing   
60        role:hsOfficeSepaMandate.tenant --> role:hsOfficeDebitor.guest
61        role:hsOfficeSepaMandate.tenant --> role:hsOfficeBankAccount.guest
62
63    role:hsOfficeSepaMandate.guest[sepaMandate.guest]
64    %% permissions
65        role:hsOfficeSepaMandate.guest -->  perm:hsOfficeSepaMandate.view{{sepaMandate.view}}
66    %% incoming
67        role:hsOfficeSepaMandate.tenant --> role:hsOfficeSepaMandate.guest
68 end
69
70
71 ```