diff options
author | Özgür Kesim <oec-taler@kesim.org> | 2022-10-08 13:02:39 +0200 |
---|---|---|
committer | Özgür Kesim <oec-taler@kesim.org> | 2022-10-08 13:02:39 +0200 |
commit | 7275e4b7b73731de4e6cd2118aa582cb2237ac9d (patch) | |
tree | b982d3b79c798e2faf93fe7eb792af7af9af3f24 /design-documents | |
parent | fa7478ad92ad0d7fc25faaf1ce5595e6291eedfa (diff) | |
download | docs-7275e4b7b73731de4e6cd2118aa582cb2237ac9d.tar.gz docs-7275e4b7b73731de4e6cd2118aa582cb2237ac9d.tar.bz2 docs-7275e4b7b73731de4e6cd2118aa582cb2237ac9d.zip |
added database schema scetch
Diffstat (limited to 'design-documents')
-rw-r--r-- | design-documents/028-deposit-policies.rst | 61 |
1 files changed, 55 insertions, 6 deletions
diff --git a/design-documents/028-deposit-policies.rst b/design-documents/028-deposit-policies.rst index 5a5bccdc..8dc87e8e 100644 --- a/design-documents/028-deposit-policies.rst +++ b/design-documents/028-deposit-policies.rst @@ -47,18 +47,67 @@ Proposed Solution TODO, explain: -- DB-schema design - - - deposit - - policy_details - - policy_fulfiment - - C-structs for policy extensions (esp. the handlers) - Naming conventions for policy extensions - Deadlines and -handling - API-endpoints (``/extensions/policy_...``) - Typical choreography of a deposit with policy and its fulfilment +Database-schema +^^^^^^^^^^^^^^^ + +TODO: Description + +.. graphviz:: + + digraph deposit_policies { + rankdir = LR; + splines = false; + fontname="monospace" + node [ + fontname="monospace" + shape=record + ] + + subgraph cluster_deposits { + label=<<B>deposits</B>> + margin=20 + deposits [ + label="...|<ref>policy_details_id\l|...|timestamp\l|..." + ] + } + + subgraph cluster_policy_details { + label=<<B>policy_details</B>> + margin=20 + policy_details [ + label="<id>id\l|<serial>serial_id (unique)\l|deadline\l|fulfilment_state\l" + ] + } + + subgraph cluster_policy_fulfilments { + label=<<B>policy_fulfilments</B>> + margin=20 + rank=min; + policy_fulfilments [ + label="<id>id\l|proof\l|timestamp\l" + ] + } + + subgraph cluster_policy_details_fulfilments { + label=<<B>policy_details_fulfilments</B>> + margin=20 + policy_details_fulfilments [ + label="<ref_details>serial_id\l|<ref_fulfilments>fulfilment_id\l" + ] + } + + deposits:ref->policy_details:id [ label="n:1"; fontname="monospace" ]; + policy_details:serial->policy_details_fulfilments:ref_details [ dir=both; label="1:1"; fontname="monospace" ]; + policy_details_fulfilments:ref_fulfilments->policy_fulfilments:id [ label="n:1"; fontname="monospace" ]; + + } + Alternatives ============ |