-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathclasses.dot
118 lines (118 loc) · 20.9 KB
/
classes.dot
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
digraph "classes" {
rankdir=BT
charset="utf-8"
"core.permissions.Access" [color="black", fontcolor="black", label="{Access|byConsents : list\lbyConsents : list[Consent]\lbyDApp : Optional[typing.Optional[principals.DAppId]]\lddhkey\lddhkey : ForwardRef\lexplanation : Optional[typing.Optional[str]]\lexplanation : str\lgranted : Optional[typing.Optional[bool]]\lgranted : bool\lmodes : set[AccessMode]\lop\lprincipal\ltime : datetime\l|audit_record(): dict\linclude_mode(mode: AccessMode)\lpermitted(node: typing.Optional[nodes.Node], owner: typing.Optional[principals.Principal], record_access: bool): tuple[bool, list[Consent], set[Principal], str]\lraise_if_not_permitted(node: typing.Optional[nodes.Node], owner: typing.Optional[principals.Principal], record_access: bool)\l}", shape="record", style="solid"];
"core.errors.AccessError" [color="black", fontcolor="red", label="{AccessError|http_status : int\l|}", shape="record", style="solid"];
"core.permissions.AccessMode" [color="black", fontcolor="black", label="{AccessMode|name\l|check(requested: set[AccessMode], consented: set[AccessMode]): tuple[bool, str]\l}", shape="record", style="solid"];
"core.contracts.CancellationTerms" [color="black", fontcolor="black", label="{CancellationTerms|auto_expires_in_days : Optional[typing.Optional[int]]\lcancellation_days : int\lruns_until_cancelled : bool\l|}", shape="record", style="solid"];
"core.pillars.ClearingHouse" [color="black", fontcolor="black", label="{ClearingHouse|\l|}", shape="record", style="solid"];
"core.dapp.DAppOrFamily.Config" [color="black", fontcolor="black", label="{Config|extra : str\l|}", shape="record", style="solid"];
"core.dapp.DApp.Config" [color="black", fontcolor="black", label="{Config|extra : str\l|}", shape="record", style="solid"];
"core.principals.Principal.Config" [color="black", fontcolor="black", label="{Config|extra\l|}", shape="record", style="solid"];
"core.py_schema.PySchemaReference.Config" [color="black", fontcolor="black", label="{Config|\l|schema_extra(schema: dict[str, typing.Any], model: typing.Type[PySchemaReference]): None\l}", shape="record", style="solid"];
"core.permissions.Consent" [color="black", fontcolor="black", label="{Consent|grantedTo : list[principals.Principal]\lwithApps : set[principals.DAppId]\lwithModes : set[AccessMode]\l|check(access: Access, _principal_checked): tuple[bool, str]\lsingle(): Consents\l}", shape="record", style="solid"];
"core.permissions.Consents" [color="black", fontcolor="black", label="{Consents|consents : list[Consent]\l|applicable_consents(principal: principals.Principal): list[Consent]\lchanges(new_consents: Consents): tuple\lcheck(owners: typing.Iterable[principals.Principal], access: Access): tuple[bool, list[Consent], str]\lconsentees(): set[principals.Principal]\lconsentees_with_mode(mode: AccessMode): set[principals.Principal]\l}", shape="record", style="solid"];
"core.contracts.Contract" [color="black", fontcolor="black", label="{Contract|acceptor\loffer\lofferer\l|}", shape="record", style="solid"];
"core.dapp.DApp" [color="black", fontcolor="black", label="{DApp|belongsTo : Optional[typing.Optional[DAppFamily]]\lreferences : list[relationships.Reference]\l|bootstrap(session, pillars: dict): typing.Union[DApp, tuple[DApp]]\lexecute(op: nodes.Ops, access: permissions.Access, transaction: transactions.Transaction, key_split: int, data: typing.Optional[dict], q: typing.Optional[str])\lget_references()\lget_schemas(): dict[keys.DDHkey, schemas.Schema]\lregister_references(schemaNetwork: pillars.SchemaNetworkClass)\lregister_schema(session): list[nodes.Node]\lstartup(session, pillars: dict): list[nodes.Node]\l}", shape="record", style="solid"];
"core.errors.DAppError" [color="black", fontcolor="red", label="{DAppError|\l|}", shape="record", style="solid"];
"core.dapp.DAppFamily" [color="black", fontcolor="black", label="{DAppFamily|members : dict[principals.DAppId, DApp]\l|}", shape="record", style="solid"];
"core.principals.DAppId" [color="black", fontcolor="black", label="{DAppId|name : str\l|}", shape="record", style="solid"];
"core.pillars.DAppManagerClass" [color="black", fontcolor="black", label="{DAppManagerClass|DAppsById : dict[principals.DAppId, dapp.DApp]\l|bootstrap(pillars: dict)\l}", shape="record", style="solid"];
"core.dapp.DAppNode" [color="black", fontcolor="black", label="{DAppNode|dapp\l|execute(op: nodes.Ops, access: permissions.Access, transaction: transactions.Transaction, key_split: int, data: typing.Optional[dict], q: typing.Optional[str])\l}", shape="record", style="solid"];
"core.dapp.DAppOrFamily" [color="black", fontcolor="black", label="{DAppOrFamily|dependsOn : set[DAppOrFamily]\lid : Optional[typing.Optional[str]]\lid : str\llabels : dict\llabels : dict[str, typing.Any]\lowner : typing.ClassVar[principals.Principal]\lpolicy\lsearchtext : Optional[typing.Optional[str]]\l|compute_labels(): dict\lto_DAppOrFamily()\l}", shape="record", style="solid"];
"core.errors.DDHerror" [color="black", fontcolor="red", label="{DDHerror|http_status : typing.ClassVar[int]\l|to_http()\l}", shape="record", style="solid"];
"core.keys.DDHkey" [color="black", fontcolor="black", label="{DDHkey|AnyKey : typing.ClassVar[_AnyType]\lDelimiter : typing.ClassVar[str]\lForkDelimiter : typing.ClassVar[str]\lRoot : typing.ClassVar[_RootType]\lfork\lkey : tuple\lowners\l|ensure_rooted(): DDHkey\lsplit_at(split: int): typing.Tuple[DDHkey, DDHkey]\lup(): typing.Optional[DDHkey]\lwithout_owner()\l}", shape="record", style="solid"];
"core.nodes.DataNode" [color="black", fontcolor="black", label="{DataNode|access_key : Optional[typing.Optional[keyvault.AccessKey]]\lconsents\ldata\ldata\lformat : DataFormat\lowner\lstorage_loc : Optional[typing.Optional[common_ids.PersistId]]\lsub_nodes : dict[keys.DDHkey, keys.DDHkey]\lsupports\l|execute(op: Ops, access: permissions.Access, transaction: transactions.Transaction, key_split: int, data: typing.Optional[dict], q: typing.Optional[str])\lload(id: common_ids.PersistId, transaction: transactions.Transaction)\lsplit_node(remainder: keys.DDHkey, consents: permissions.Consents): DataNode\lstore(transaction: transactions.Transaction)\lunsplit_data(data, transaction)\lupdate_consents(access: permissions.Access, transaction: transactions.Transaction, remainder: keys.DDHkey, consents: permissions.Consents)\l}", shape="record", style="solid"];
"core.nodes.DelegatedExecutableNode" [color="black", fontcolor="black", label="{DelegatedExecutableNode|executors : list\l|execute(op: Ops, access: permissions.Access, transaction: transactions.Transaction, key_split: int, data: typing.Optional[dict], q: typing.Optional[str])\l}", shape="record", style="solid"];
"core.nodes.ExecutableNode" [color="black", fontcolor="black", label="{ExecutableNode|supports\l|execute(op: Ops, access: permissions.Access, transaction: transactions.Transaction, key_split: int, data: typing.Optional[dict], q: typing.Optional[str])\l}", shape="record", style="solid"];
"core.pillars.Executor" [color="black", fontcolor="black", label="{Executor|\l|}", shape="record", style="solid"];
"core.keys.ForkType" [color="black", fontcolor="black", label="{ForkType|name\l|}", shape="record", style="solid"];
"core.schemas.JsonSchema" [color="black", fontcolor="black", label="{JsonSchema|json_schema\l|from_schema(schema: Schema): JsonSchema\lto_output()\lto_py_schema(): PySchema\l}", shape="record", style="solid"];
"core.permissions.MultiOwnerConsents" [color="black", fontcolor="black", label="{MultiOwnerConsents|consents_by_owner : dict[principals.Principal, Consents]\l|check(owners: typing.Iterable[principals.Principal], access: Access): tuple[bool, list[Consent], str]\lconsentees(): set[principals.Principal]\lconsentees_with_mode(mode: AccessMode): set[principals.Principal]\l}", shape="record", style="solid"];
"core.nodes.MultiOwnerNode" [color="black", fontcolor="black", label="{MultiOwnerNode|all_owners : tuple[principals.Principal, ...]\lconsents\lconsents : typing.Union[permissions.Consents, permissions.MultiOwnerConsents]\lowners\l|}", shape="record", style="solid"];
"core.nodes.Node" [color="black", fontcolor="black", label="{Node|consents : typing.Optional[permissions.Consents]\lkey : Optional[typing.Optional[keys.DDHkey]]\lowner\lowners\lsupports\l|get_proxy(): typing.Union[Node, NodeProxy]\lhas_consents()\l}", shape="record", style="solid"];
"core.nodes.NodeProxy" [color="black", fontcolor="black", label="{NodeProxy|supports : set[NodeSupports]\l|}", shape="record", style="solid"];
"core.nodes.NodeSupports" [color="black", fontcolor="black", label="{NodeSupports|name\l|}", shape="record", style="solid"];
"core.errors.NotFound" [color="black", fontcolor="red", label="{NotFound|http_status : int\l|}", shape="record", style="solid"];
"core.errors.NotSelectable" [color="black", fontcolor="red", label="{NotSelectable|http_status : int\l|}", shape="record", style="solid"];
"core.contracts.Offer" [color="black", fontcolor="black", label="{Offer|dapp\lprice\lrequired_consents\ltac\l|}", shape="record", style="solid"];
"core.permissions.Operation" [color="black", fontcolor="black", label="{Operation|name\l|}", shape="record", style="solid"];
"core.nodes.Ops" [color="black", fontcolor="black", label="{Ops|name\l|}", shape="record", style="solid"];
"core.privacyIcons.PassingOnToThirdParties" [color="black", fontcolor="black", label="{PassingOnToThirdParties|name\l|}", shape="record", style="solid"];
"core.contracts.Periodicity" [color="black", fontcolor="black", label="{Periodicity|name\l|}", shape="record", style="solid"];
"core.privacyIcons.PlaceOfProcessing" [color="black", fontcolor="black", label="{PlaceOfProcessing|name\l|}", shape="record", style="solid"];
"core.policies.Policy" [color="black", fontcolor="black", label="{Policy|consents : typing.Optional[permissions.Consents]\l|}", shape="record", style="solid"];
"core.contracts.Price" [color="black", fontcolor="black", label="{Price|amount : Decimal\lcurrency : str\l|}", shape="record", style="solid"];
"core.principals.Principal" [color="black", fontcolor="black", label="{Principal|Delim : typing.ClassVar[str]\lid : PrincipalId\l|load(id)\l}", shape="record", style="solid"];
"core.privacyIcons.PrivacyIcon" [color="black", fontcolor="black", label="{PrivacyIcon|name\l|}", shape="record", style="solid"];
"core.privacyIcons.PrivacyIcons" [color="black", fontcolor="black", label="{PrivacyIcons|excluded : set[PrivacyIcon]\lincluded : set[PrivacyIcon]\l|}", shape="record", style="solid"];
"core.privacyIcons.PurposeOfProcessing" [color="black", fontcolor="black", label="{PurposeOfProcessing|name\l|}", shape="record", style="solid"];
"core.py_schema.PySchema" [color="black", fontcolor="black", label="{PySchema|schema_element : typing.Type[PySchemaElement]\l|add_empty_schemas(names: list[str]): list[PySchema]\ladd_fields(fields: dict[str, tuple])\lfrom_schema(schema: Schema): PySchema\lobtain(ddhkey: keys.DDHkey, split: int): typing.Optional[Schema]\lto_output()\lto_py_schema(): PySchema\l}", shape="record", style="solid"];
"core.relationships.Quality" [color="black", fontcolor="black", label="{Quality|\l|}", shape="record", style="solid"];
"core.relationships.Reference" [color="black", fontcolor="black", label="{Reference|qualities : set[Quality]\lrelation\ltarget\l|defines()\lmultiple(relation: Relation): list['Reference']\lprovides()\lrequires()\l}", shape="record", style="solid"];
"core.relationships.Relation" [color="black", fontcolor="black", label="{Relation|name\l|}", shape="record", style="solid"];
"core.schemas.Schema" [color="black", fontcolor="black", label="{Schema|\l|add_fields(fields: dict)\lformat(format: SchemaFormat)\lfrom_schema(schema: Schema): Schema\lobtain(ddhkey: keys.DDHkey, split: int): typing.Optional[Schema]\lto_output()\lto_py_schema(): PySchema\l}", shape="record", style="solid"];
"core.py_schema.PySchemaElement" [color="black", fontcolor="black", label="{PySchemaElement|\l|descend_path(path: keys.DDHkey): typing.Optional[typing.Type[PySchemaElement]]\lget_resolver(selection: keys.DDHkey, access: permissions.Access, q)\lget_subschema_class(subname): typing.Tuple\l}", shape="record", style="solid"];
"core.pillars.SchemaNetworkClass" [color="black", fontcolor="black", label="{SchemaNetworkClass|network\l|}", shape="record", style="solid"];
"core.nodes.SchemaNode" [color="black", fontcolor="black", label="{SchemaNode|nschema : typing.Optional[schemas.Schema]\lsupports\l|get_sub_schema(ddhkey: keys.DDHkey, split: int, schema_type: str): typing.Optional[schemas.Schema]\l}", shape="record", style="solid"];
"core.py_schema.PySchemaReference" [color="black", fontcolor="black", label="{PySchemaReference|ddhkey : typing.ClassVar[str]\l|create_from_key(name: str, ddhkey: keys.DDHkey): typing.Type[PySchemaReference]\lgetURI(): pydantic.AnyUrl\l}", shape="record", style="solid"];
"core.schemas.Sensitivity" [color="black", fontcolor="black", label="{Sensitivity|name\l|}", shape="record", style="solid"];
"core.privacyIcons.SourceOfPersonalData" [color="black", fontcolor="black", label="{SourceOfPersonalData|name\l|}", shape="record", style="solid"];
"core.privacyIcons.SpecialProcesses" [color="black", fontcolor="black", label="{SpecialProcesses|name\l|}", shape="record", style="solid"];
"core.contracts.SubscriptionPrice" [color="black", fontcolor="black", label="{SubscriptionPrice|periodicity\lprice_per_period : float\l|}", shape="record", style="solid"];
"core.contracts.TermsAndConditions" [color="black", fontcolor="black", label="{TermsAndConditions|StandardTACs : typing.ClassVar[dict[str, TermsAndConditions]]\lcancellation_terms\lprivacy_icons\l|}", shape="record", style="solid"];
"core.transactions.Transaction" [color="black", fontcolor="black", label="{Transaction|TTL : typing.ClassVar[datetime.timedelta]\lTransactions : typing.ClassVar[dict[common_ids.TrxId, 'Transaction']]\laccesses : list[permissions.Access]\lexp\lexp : datetime\lfor_user\linitial_read_consentees : set[common_ids.PrincipalId]\lread_consentees : set\lread_consentees : set[common_ids.PrincipalId]\ltrxid : TrxId\l|abort()\ladd_and_validate(access: permissions.Access)\ladd_read_consentees(read_consentees: set[common_ids.PrincipalId])\lbegin()\lcreate(for_user: principals.Principal): Transaction\lend()\lget(trxid: common_ids.TrxId): Transaction\luse()\l}", shape="record", style="solid"];
"core.contracts.TransactionPrice" [color="black", fontcolor="black", label="{TransactionPrice|\l|}", shape="record", style="solid"];
"core.transactions.TrxAccessError" [color="black", fontcolor="red", label="{TrxAccessError|\l|}", shape="record", style="solid"];
"core.privacyIcons.TypeOfPersonalData" [color="black", fontcolor="black", label="{TypeOfPersonalData|name\l|}", shape="record", style="solid"];
"core.users.User" [color="black", fontcolor="black", label="{User|created_at : datetime\lemail : Optional[typing.Optional[pydantic.EmailStr]]\lname : str\l|}", shape="record", style="solid"];
"core.keys._AnyType" [color="black", fontcolor="black", label="{_AnyType|\l|}", shape="record", style="solid"];
"core.keydirectory._NodeRegistry" [color="black", fontcolor="black", label="{_NodeRegistry|nodes_by_key : dict\lnodes_by_key : dict[tuple, dict[nodes.NodeSupports, nodes.NodeProxy]]\l|get_next_proxy(key: typing.Optional[keys.DDHkey], support: nodes.NodeSupports): typing.Iterator[typing.Tuple[nodes.NodeOrProxy, int]]\lget_node(key: keys.DDHkey, support: nodes.NodeSupports, transaction: transactions.Transaction, condition: typing.Optional[typing.Callable]): typing.Tuple[typing.Optional[nodes.Node], int]\lget_proxy(key: keys.DDHkey, support: nodes.NodeSupports): typing.Tuple[typing.Optional[nodes.NodeOrProxy], int]\l}", shape="record", style="solid"];
"core.keys._RootType" [color="black", fontcolor="black", label="{_RootType|\l|}", shape="record", style="solid"];
"core.contracts.SubscriptionPrice" -> "core.contracts.Price" [arrowhead="empty", arrowtail="none"];
"core.contracts.TransactionPrice" -> "core.contracts.Price" [arrowhead="empty", arrowtail="none"];
"core.dapp.DApp" -> "core.dapp.DAppOrFamily" [arrowhead="empty", arrowtail="none"];
"core.dapp.DAppFamily" -> "core.dapp.DAppOrFamily" [arrowhead="empty", arrowtail="none"];
"core.dapp.DAppNode" -> "core.nodes.ExecutableNode" [arrowhead="empty", arrowtail="none"];
"core.errors.AccessError" -> "core.errors.DDHerror" [arrowhead="empty", arrowtail="none"];
"core.errors.DAppError" -> "core.errors.DDHerror" [arrowhead="empty", arrowtail="none"];
"core.errors.NotFound" -> "core.errors.DDHerror" [arrowhead="empty", arrowtail="none"];
"core.errors.NotSelectable" -> "core.errors.DDHerror" [arrowhead="empty", arrowtail="none"];
"core.nodes.DataNode" -> "core.nodes.Node" [arrowhead="empty", arrowtail="none"];
"core.nodes.DelegatedExecutableNode" -> "core.nodes.ExecutableNode" [arrowhead="empty", arrowtail="none"];
"core.nodes.ExecutableNode" -> "core.nodes.SchemaNode" [arrowhead="empty", arrowtail="none"];
"core.nodes.MultiOwnerNode" -> "core.nodes.Node" [arrowhead="empty", arrowtail="none"];
"core.nodes.SchemaNode" -> "core.nodes.Node" [arrowhead="empty", arrowtail="none"];
"core.principals.DAppId" -> "core.principals.Principal" [arrowhead="empty", arrowtail="none"];
"core.users.User" -> "core.principals.Principal" [arrowhead="empty", arrowtail="none"];
"core.privacyIcons.PassingOnToThirdParties" -> "core.privacyIcons.PrivacyIcon" [arrowhead="empty", arrowtail="none"];
"core.privacyIcons.PlaceOfProcessing" -> "core.privacyIcons.PrivacyIcon" [arrowhead="empty", arrowtail="none"];
"core.privacyIcons.PurposeOfProcessing" -> "core.privacyIcons.PrivacyIcon" [arrowhead="empty", arrowtail="none"];
"core.privacyIcons.SourceOfPersonalData" -> "core.privacyIcons.PrivacyIcon" [arrowhead="empty", arrowtail="none"];
"core.privacyIcons.SpecialProcesses" -> "core.privacyIcons.PrivacyIcon" [arrowhead="empty", arrowtail="none"];
"core.privacyIcons.TypeOfPersonalData" -> "core.privacyIcons.PrivacyIcon" [arrowhead="empty", arrowtail="none"];
"core.schemas.JsonSchema" -> "core.schemas.Schema" [arrowhead="empty", arrowtail="none"];
"core.py_schema.PySchema" -> "core.schemas.Schema" [arrowhead="empty", arrowtail="none"];
"core.py_schema.PySchemaReference" -> "core.py_schema.PySchemaElement" [arrowhead="empty", arrowtail="none"];
"core.transactions.TrxAccessError" -> "core.errors.AccessError" [arrowhead="empty", arrowtail="none"];
"core.contracts.CancellationTerms" -> "core.contracts.TermsAndConditions" [arrowhead="diamond", arrowtail="none", fontcolor="green", label="cancellation_terms", style="solid"];
"core.contracts.Offer" -> "core.contracts.Contract" [arrowhead="diamond", arrowtail="none", fontcolor="green", label="offer", style="solid"];
"core.contracts.Periodicity" -> "core.contracts.SubscriptionPrice" [arrowhead="diamond", arrowtail="none", fontcolor="green", label="periodicity", style="solid"];
"core.contracts.Price" -> "core.contracts.Offer" [arrowhead="diamond", arrowtail="none", fontcolor="green", label="price", style="solid"];
"core.contracts.TermsAndConditions" -> "core.contracts.Offer" [arrowhead="diamond", arrowtail="none", fontcolor="green", label="tac", style="solid"];
"core.dapp.DApp" -> "core.dapp.DAppNode" [arrowhead="diamond", arrowtail="none", fontcolor="green", label="dapp", style="solid"];
"core.keys.DDHkey" -> "core.relationships.Reference" [arrowhead="diamond", arrowtail="none", fontcolor="green", label="target", style="solid"];
"core.keys.ForkType" -> "core.keys.DDHkey" [arrowhead="diamond", arrowtail="none", fontcolor="green", label="fork", style="solid"];
"core.permissions.Consents" -> "core.contracts.Offer" [arrowhead="diamond", arrowtail="none", fontcolor="green", label="required_consents", style="solid"];
"core.permissions.MultiOwnerConsents" -> "core.nodes.MultiOwnerNode" [arrowhead="diamond", arrowtail="none", fontcolor="green", label="consents", style="solid"];
"core.permissions.Operation" -> "core.permissions.Access" [arrowhead="diamond", arrowtail="none", fontcolor="green", label="op", style="solid"];
"core.policies.Policy" -> "core.dapp.DAppOrFamily" [arrowhead="diamond", arrowtail="none", fontcolor="green", label="policy", style="solid"];
"core.principals.DAppId" -> "core.contracts.Offer" [arrowhead="diamond", arrowtail="none", fontcolor="green", label="dapp", style="solid"];
"core.principals.Principal" -> "core.contracts.Contract" [arrowhead="diamond", arrowtail="none", fontcolor="green", label="acceptor", style="solid"];
"core.principals.Principal" -> "core.nodes.DataNode" [arrowhead="diamond", arrowtail="none", fontcolor="green", label="owner", style="solid"];
"core.principals.Principal" -> "core.nodes.Node" [arrowhead="diamond", arrowtail="none", fontcolor="green", label="owner", style="solid"];
"core.principals.Principal" -> "core.permissions.Access" [arrowhead="diamond", arrowtail="none", fontcolor="green", label="principal", style="solid"];
"core.principals.Principal" -> "core.transactions.Transaction" [arrowhead="diamond", arrowtail="none", fontcolor="green", label="for_user", style="solid"];
"core.privacyIcons.PrivacyIcons" -> "core.contracts.TermsAndConditions" [arrowhead="diamond", arrowtail="none", fontcolor="green", label="privacy_icons", style="solid"];
"core.relationships.Relation" -> "core.relationships.Reference" [arrowhead="diamond", arrowtail="none", fontcolor="green", label="relation", style="solid"];
}