draft for debitor permission grant model (reduced - WIP)

This commit is contained in:
Michael Hoennig 2024-02-07 12:25:47 +01:00
parent 1e7089702c
commit a71a7b308f

View File

@ -3,40 +3,38 @@
```mermaid
flowchart TB
subgraph external[ ]
style external fill:#fff
%%subgraph external[ ]
%% style external fill:#fff
subgraph global
style global fill:#eee
role:global.admin[global.admin]
end
%% subgraph partnerPerson[partnerPerson:anchor]
%% direction TB
%% style partnerPerson fill:#eee
%%
%% role:partnerPerson.owner[partnerPerson.owner]
%% --> role:partnerPerson.admin[partnerPerson.admin]
%% --> role:partnerPerson.referrer[partnerPerson.referrer]
%% end
subgraph partnerPerson[partnerPerson:anchor]
style partnerPerson fill:#eee
%% subgraph billingPerson[billingPerson:holder]
%% direction TB
%% style billingPerson fill:#eee
%%
%% role:billingPerson.owner[billingPerson.owner]
%% --> role:billingPerson.admin[billingPerson.admin]
%% --> role:billingPerson.referrer[billingPerson.referrer]
%% end
role:partnerPerson.owner[partnerPerson.owner]
--> role:partnerPerson.admin[partnerPerson.admin]
--> role:partnerPerson.referrer[partnerPerson.referrer]
end
subgraph billingPerson[billingPerson:holder]
style billingPerson fill:#eee
role:billingPerson.owner[billingPerson.owner]
--> role:billingPerson.admin[billingPerson.admin]
--> role:billingPerson.referrer[billingPerson.referrer]
end
subgraph billingContact[billingContact]
style billingContact fill:#eee
role:billingContact.owner[contact.owner]
--> role:billingContact.admin[contact.admin]
--> role:billingContact.referrer[contact.referrer]
end
%% subgraph billingContact[billingContact]
%% direction TB
%% style billingContact fill:#eee
%%
%% role:billingContact.owner[contact.owner]
%% --> role:billingContact.admin[contact.admin]
%% --> role:billingContact.referrer[contact.referrer]
%% end
subgraph refundBankAccount
direction TB
style refundBankAccount fill:#eee
role:refundBankAccount.admin[bankAccount.admin]
@ -48,63 +46,58 @@ subgraph external[ ]
direction TB
style partnerRelationship fill:#eee
role:global.admin
--> role:partnerRelationship.owner[relationship.owner]
role:partnerRelationship.owner[relationship.owner]
--> role:partnerRelationship.admin[relationship.admin]
--> role:partnerRelationship.agent[relationship.agent]
--> role:partnerRelationship.tenant[relationship.tenant]
role:partnerPerson.admin --> role:partnerRelationship.agent
partnerPerson[e.g. partnerPerson.admin] --> role:partnerRelationship.agent
otherPerson[e.g. operationalPerson.admin] --> role:partnerRelationship.tenant
end
subgraph debitorRelationship[hsOfficeRelationship:DEBITOR]
direction TB
style debitorRelationship fill:#eee
role:global.admin
--> role:debitorRelationship.owner[relationship.owner]
--> role:debitorRelationship.admin[relationship.admin]
--> role:debitorRelationship.agent[relationship.agent]
--> role:debitorRelationship.tenant[relationship.tenant]
role:partnerPerson.admin --> role:debitorRelationship.admin
role:debitorRelationship.tenant --> role:partnerPerson.referrer
role:billingPerson.admin --> role:debitorRelationship.agent
role:debitorRelationship.tenant --> role:billingPerson.referrer
role:billingContact.admin --> role:debitorRelationship.agent
role:debitorRelationship.tenant --> role:billingContact.referrer
end
end
%%end
subgraph internal[ ]
direction TB
style internal fill:#fff
subgraph debitorRelationship[hsOfficeRelationship:DEBITOR]
direction TB
style debitorRelationship fill:#eee
role:debitorRelationship.owner[relationship.owner]
--> role:debitorRelationship.admin[relationship.admin]
--> role:debitorRelationship.agent[relationship.agent]
--> role:debitorRelationship.tenant[relationship.tenant]
end
subgraph debitor
direction TB
role:debitor.owner[[debitor.owner]]
--> perm:debitor.*{{debitor.*}}
role:debitor.owner -.- role:debitorRelationship.owner
role:debitor.owner -.==.- role:debitorRelationship.owner
role:debitor.admin[[debitor.admin]]
role:debitor.owner --> role:debitor.admin
--> perm:debitor.edit{{debitor.edit}}
role:debitor.admin -.- role:debitorRelationship.admin
role:debitor.admin ==> role:partnerRelationship.tenant
role:debitor.admin -.==.- role:debitorRelationship.admin
role:debitor.admin ==> role:partnerRelationship.agent
role:debitor.agent[[debitor.agent]]
role:debitor.admin --> role:debitor.agent
role:debitor.admin -.- role:debitorRelationship.admin
role:debitor.agent -.==.- role:debitorRelationship.agent
role:debitor.agent ==> role:partnerRelationship.tenant
role:debitor.tenant[[debitor.tenant]]
--> perm:debitor.view{{debitor.view}}
role:debitor.agent --> role:debitor.tenant
role:debitor.tenant -.- role:debitorRelationship.tenant
role:debitor.tenant -.==.- role:debitorRelationship.tenant
end
role:partnerRelationship.admin ==> role:debitor.admin
role:partnerRelationship.agent ==> role:debitor.agent
end
end