summaryrefslogtreecommitdiff
path: root/design-documents
diff options
context:
space:
mode:
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
commit7275e4b7b73731de4e6cd2118aa582cb2237ac9d (patch)
treeb982d3b79c798e2faf93fe7eb792af7af9af3f24 /design-documents
parentfa7478ad92ad0d7fc25faaf1ce5595e6291eedfa (diff)
downloaddocs-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.rst61
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
============