@twin.org/auditable-item-graph-service 0.0.3-next.11 → 0.0.3-next.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +3 -1
- package/dist/es/auditableItemGraphRoutes.js +22 -0
- package/dist/es/auditableItemGraphRoutes.js.map +1 -1
- package/dist/es/auditableItemGraphService.js +80 -65
- package/dist/es/auditableItemGraphService.js.map +1 -1
- package/dist/es/entities/auditableItemGraphAlias.js +8 -0
- package/dist/es/entities/auditableItemGraphAlias.js.map +1 -1
- package/dist/types/auditableItemGraphService.d.ts +12 -48
- package/dist/types/entities/auditableItemGraphAlias.d.ts +4 -0
- package/docs/changelog.md +145 -117
- package/docs/examples.md +241 -1
- package/docs/open-api/spec.json +137 -123
- package/docs/reference/classes/AuditableItemGraphAlias.md +18 -10
- package/docs/reference/classes/AuditableItemGraphChangeset.md +8 -8
- package/docs/reference/classes/AuditableItemGraphEdge.md +10 -10
- package/docs/reference/classes/AuditableItemGraphPatch.md +6 -6
- package/docs/reference/classes/AuditableItemGraphResource.md +9 -9
- package/docs/reference/classes/AuditableItemGraphService.md +31 -81
- package/docs/reference/classes/AuditableItemGraphVertex.md +18 -18
- package/docs/reference/interfaces/IAuditableItemGraphServiceConstructorOptions.md +10 -10
- package/package.json +5 -5
package/docs/examples.md
CHANGED
|
@@ -1 +1,241 @@
|
|
|
1
|
-
#
|
|
1
|
+
# Auditable Item Graph Service Examples
|
|
2
|
+
|
|
3
|
+
Use these examples when you want to run graph operations in process, keep an audit trail, and work with strongly typed entities.
|
|
4
|
+
|
|
5
|
+
## AuditableItemGraphService
|
|
6
|
+
|
|
7
|
+
```typescript
|
|
8
|
+
import { AuditableItemGraphService } from '@twin.org/auditable-item-graph-service';
|
|
9
|
+
|
|
10
|
+
const service = new AuditableItemGraphService();
|
|
11
|
+
|
|
12
|
+
console.log(service.className()); // AuditableItemGraphService
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
```typescript
|
|
16
|
+
import { AuditableItemGraphService } from '@twin.org/auditable-item-graph-service';
|
|
17
|
+
|
|
18
|
+
const service = new AuditableItemGraphService();
|
|
19
|
+
|
|
20
|
+
const vertexId = await service.create({
|
|
21
|
+
annotationObject: {
|
|
22
|
+
'@context': 'https://www.w3.org/ns/activitystreams',
|
|
23
|
+
type: 'Create',
|
|
24
|
+
actor: {
|
|
25
|
+
type: 'Person',
|
|
26
|
+
id: 'did:example:alice',
|
|
27
|
+
name: 'Alice'
|
|
28
|
+
},
|
|
29
|
+
object: {
|
|
30
|
+
type: 'Note',
|
|
31
|
+
content: 'Initial version'
|
|
32
|
+
}
|
|
33
|
+
},
|
|
34
|
+
aliases: [{ id: 'order-2026-0195', aliasFormat: 'orderRef' }],
|
|
35
|
+
resources: [
|
|
36
|
+
{ resourceObject: { '@context': 'https://schema.org', type: 'Thing', name: 'Order 2026-0195' } }
|
|
37
|
+
]
|
|
38
|
+
});
|
|
39
|
+
|
|
40
|
+
await service.update({
|
|
41
|
+
id: vertexId,
|
|
42
|
+
aliases: [{ id: 'order-2026-0195', aliasFormat: 'orderRef' }],
|
|
43
|
+
resources: [
|
|
44
|
+
{
|
|
45
|
+
id: 'resource-order',
|
|
46
|
+
resourceObject: {
|
|
47
|
+
'@context': 'https://schema.org',
|
|
48
|
+
type: 'Thing',
|
|
49
|
+
name: 'Order 2026-0195 (amended)'
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
],
|
|
53
|
+
edges: [{ targetId: 'aig:018f5a6cfd9444d58c7c2d4df1fd0fff', edgeRelationships: ['derivedFrom'] }]
|
|
54
|
+
});
|
|
55
|
+
|
|
56
|
+
console.log(vertexId); // aig:018f5a6cfd9444d58c7c2d4df1fd0a23
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
```typescript
|
|
60
|
+
import { VerifyDepth } from '@twin.org/auditable-item-graph-models';
|
|
61
|
+
import { AuditableItemGraphService } from '@twin.org/auditable-item-graph-service';
|
|
62
|
+
|
|
63
|
+
const service = new AuditableItemGraphService();
|
|
64
|
+
const vertexId = 'aig:018f5a6cfd9444d58c7c2d4df1fd0a23';
|
|
65
|
+
|
|
66
|
+
const vertex = await service.get(vertexId, {
|
|
67
|
+
includeDeleted: false,
|
|
68
|
+
verifySignatureDepth: VerifyDepth.Current
|
|
69
|
+
});
|
|
70
|
+
|
|
71
|
+
const changesetChunk = await service.getChangesets(vertexId, undefined, 10, {
|
|
72
|
+
verifySignatureDepth: VerifyDepth.Current
|
|
73
|
+
});
|
|
74
|
+
|
|
75
|
+
const firstChangeset = changesetChunk.changesets.itemListElement?.[0];
|
|
76
|
+
|
|
77
|
+
if (firstChangeset?.id) {
|
|
78
|
+
const changeset = await service.getChangeset(firstChangeset.id, {
|
|
79
|
+
verifySignatureDepth: VerifyDepth.Current
|
|
80
|
+
});
|
|
81
|
+
|
|
82
|
+
console.log(vertex.id); // aig:018f5a6cfd9444d58c7c2d4df1fd0a23
|
|
83
|
+
console.log(changeset.id); // aig:018f5a6cfd9444d58c7c2d4df1fd0a23:changeset:018f5a6cfd9444d58c7c2d4df1fd0b10
|
|
84
|
+
}
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
```typescript
|
|
88
|
+
import { ComparisonOperator, SortDirection } from '@twin.org/entity';
|
|
89
|
+
import { AuditableItemGraphService } from '@twin.org/auditable-item-graph-service';
|
|
90
|
+
|
|
91
|
+
const service = new AuditableItemGraphService();
|
|
92
|
+
|
|
93
|
+
const queryResult = await service.query(
|
|
94
|
+
{
|
|
95
|
+
id: 'order-2026',
|
|
96
|
+
idMode: 'alias',
|
|
97
|
+
idExact: false,
|
|
98
|
+
resourceTypes: ['Thing']
|
|
99
|
+
},
|
|
100
|
+
[
|
|
101
|
+
{
|
|
102
|
+
field: 'dateCreated',
|
|
103
|
+
comparison: ComparisonOperator.GreaterThan,
|
|
104
|
+
value: '2026-01-01T00:00:00.000Z'
|
|
105
|
+
}
|
|
106
|
+
],
|
|
107
|
+
'dateCreated',
|
|
108
|
+
SortDirection.Descending,
|
|
109
|
+
['id', 'dateCreated', 'aliases'],
|
|
110
|
+
undefined,
|
|
111
|
+
25
|
|
112
|
+
);
|
|
113
|
+
|
|
114
|
+
console.log(queryResult.entries.itemListElement?.length ?? 0); // 3
|
|
115
|
+
|
|
116
|
+
await service.removeVerifiable('aig:018f5a6cfd9444d58c7c2d4df1fd0a23');
|
|
117
|
+
```
|
|
118
|
+
|
|
119
|
+
## AuditableItemGraphVertex
|
|
120
|
+
|
|
121
|
+
```typescript
|
|
122
|
+
import {
|
|
123
|
+
AuditableItemGraphAlias,
|
|
124
|
+
AuditableItemGraphEdge,
|
|
125
|
+
AuditableItemGraphResource,
|
|
126
|
+
AuditableItemGraphVertex
|
|
127
|
+
} from '@twin.org/auditable-item-graph-service';
|
|
128
|
+
|
|
129
|
+
const alias = new AuditableItemGraphAlias();
|
|
130
|
+
alias.id = 'order-2026-0195';
|
|
131
|
+
alias.aliasFormat = 'orderRef';
|
|
132
|
+
alias.dateCreated = '2026-03-10T09:30:00.000Z';
|
|
133
|
+
|
|
134
|
+
const resource = new AuditableItemGraphResource();
|
|
135
|
+
resource.id = 'resource-order';
|
|
136
|
+
resource.dateCreated = '2026-03-10T09:30:00.000Z';
|
|
137
|
+
resource.resourceObject = {
|
|
138
|
+
'@context': 'https://schema.org',
|
|
139
|
+
type: 'Thing',
|
|
140
|
+
name: 'Order 2026-0195'
|
|
141
|
+
};
|
|
142
|
+
|
|
143
|
+
const edge = new AuditableItemGraphEdge();
|
|
144
|
+
edge.id = 'edge-1';
|
|
145
|
+
edge.dateCreated = '2026-03-10T09:30:00.000Z';
|
|
146
|
+
edge.targetId = 'aig:018f5a6cfd9444d58c7c2d4df1fd0fff';
|
|
147
|
+
edge.edgeRelationships = ['derivedFrom'];
|
|
148
|
+
|
|
149
|
+
const vertex = new AuditableItemGraphVertex();
|
|
150
|
+
vertex.id = '018f5a6cfd9444d58c7c2d4df1fd0a23';
|
|
151
|
+
vertex.organizationIdentity = 'did:web:example.org';
|
|
152
|
+
vertex.dateCreated = '2026-03-10T09:30:00.000Z';
|
|
153
|
+
vertex.aliases = [alias];
|
|
154
|
+
vertex.resources = [resource];
|
|
155
|
+
vertex.edges = [edge];
|
|
156
|
+
|
|
157
|
+
console.log(vertex.aliases?.length ?? 0); // 1
|
|
158
|
+
```
|
|
159
|
+
|
|
160
|
+
## AuditableItemGraphChangeset
|
|
161
|
+
|
|
162
|
+
```typescript
|
|
163
|
+
import {
|
|
164
|
+
AuditableItemGraphChangeset,
|
|
165
|
+
AuditableItemGraphPatch
|
|
166
|
+
} from '@twin.org/auditable-item-graph-service';
|
|
167
|
+
|
|
168
|
+
const patch = new AuditableItemGraphPatch();
|
|
169
|
+
patch.op = 'replace';
|
|
170
|
+
patch.path = '/resources/0/resourceObject/name';
|
|
171
|
+
patch.value = 'Order 2026-0195 (amended)';
|
|
172
|
+
|
|
173
|
+
const changeset = new AuditableItemGraphChangeset();
|
|
174
|
+
changeset.id = '018f5a6cfd9444d58c7c2d4df1fd0b10';
|
|
175
|
+
changeset.vertexId = '018f5a6cfd9444d58c7c2d4df1fd0a23';
|
|
176
|
+
changeset.dateCreated = '2026-03-10T09:40:00.000Z';
|
|
177
|
+
changeset.userIdentity = 'did:web:example.org:users:alice';
|
|
178
|
+
changeset.patches = [patch];
|
|
179
|
+
|
|
180
|
+
console.log(changeset.patches.length); // 1
|
|
181
|
+
```
|
|
182
|
+
|
|
183
|
+
## AuditableItemGraphAlias
|
|
184
|
+
|
|
185
|
+
```typescript
|
|
186
|
+
import { AuditableItemGraphAlias } from '@twin.org/auditable-item-graph-service';
|
|
187
|
+
|
|
188
|
+
const alias = new AuditableItemGraphAlias();
|
|
189
|
+
alias.id = 'order-2026-0195';
|
|
190
|
+
alias.aliasFormat = 'orderRef';
|
|
191
|
+
alias.dateCreated = '2026-03-10T09:30:00.000Z';
|
|
192
|
+
|
|
193
|
+
console.log(alias.id); // order-2026-0195
|
|
194
|
+
```
|
|
195
|
+
|
|
196
|
+
## AuditableItemGraphResource
|
|
197
|
+
|
|
198
|
+
```typescript
|
|
199
|
+
import { AuditableItemGraphResource } from '@twin.org/auditable-item-graph-service';
|
|
200
|
+
|
|
201
|
+
const resource = new AuditableItemGraphResource();
|
|
202
|
+
resource.id = 'resource-order';
|
|
203
|
+
resource.dateCreated = '2026-03-10T09:30:00.000Z';
|
|
204
|
+
resource.resourceObject = {
|
|
205
|
+
'@context': 'https://schema.org',
|
|
206
|
+
type: 'Thing',
|
|
207
|
+
name: 'Order 2026-0195'
|
|
208
|
+
};
|
|
209
|
+
|
|
210
|
+
console.log(resource.id); // resource-order
|
|
211
|
+
```
|
|
212
|
+
|
|
213
|
+
## AuditableItemGraphEdge
|
|
214
|
+
|
|
215
|
+
```typescript
|
|
216
|
+
import { AuditableItemGraphEdge } from '@twin.org/auditable-item-graph-service';
|
|
217
|
+
|
|
218
|
+
const edge = new AuditableItemGraphEdge();
|
|
219
|
+
edge.id = 'edge-1';
|
|
220
|
+
edge.dateCreated = '2026-03-10T09:30:00.000Z';
|
|
221
|
+
edge.targetId = 'aig:018f5a6cfd9444d58c7c2d4df1fd0fff';
|
|
222
|
+
edge.edgeRelationships = ['derivedFrom'];
|
|
223
|
+
|
|
224
|
+
console.log(edge.edgeRelationships[0]); // derivedFrom
|
|
225
|
+
```
|
|
226
|
+
|
|
227
|
+
## AuditableItemGraphPatch
|
|
228
|
+
|
|
229
|
+
```typescript
|
|
230
|
+
import { AuditableItemGraphPatch } from '@twin.org/auditable-item-graph-service';
|
|
231
|
+
|
|
232
|
+
const patch = new AuditableItemGraphPatch();
|
|
233
|
+
patch.op = 'add';
|
|
234
|
+
patch.path = '/aliases/-';
|
|
235
|
+
patch.value = {
|
|
236
|
+
id: 'order-2026-0195',
|
|
237
|
+
aliasFormat: 'orderRef'
|
|
238
|
+
};
|
|
239
|
+
|
|
240
|
+
console.log(patch.op); // add
|
|
241
|
+
```
|
package/docs/open-api/spec.json
CHANGED
|
@@ -44,6 +44,11 @@
|
|
|
44
44
|
"examples": {
|
|
45
45
|
"auditableItemGraphCreateRequestExample": {
|
|
46
46
|
"value": {
|
|
47
|
+
"@context": [
|
|
48
|
+
"https://schema.twindev.org/aig/",
|
|
49
|
+
"https://schema.twindev.org/common/"
|
|
50
|
+
],
|
|
51
|
+
"type": "AuditableItemGraphVertex",
|
|
47
52
|
"annotationObject": {
|
|
48
53
|
"@context": "https://schema.org",
|
|
49
54
|
"@type": "Note",
|
|
@@ -51,6 +56,7 @@
|
|
|
51
56
|
},
|
|
52
57
|
"aliases": [
|
|
53
58
|
{
|
|
59
|
+
"type": "AuditableItemGraphAlias",
|
|
54
60
|
"id": "bar456",
|
|
55
61
|
"annotationObject": {
|
|
56
62
|
"@context": "https://schema.org",
|
|
@@ -59,6 +65,7 @@
|
|
|
59
65
|
}
|
|
60
66
|
},
|
|
61
67
|
{
|
|
68
|
+
"type": "AuditableItemGraphAlias",
|
|
62
69
|
"id": "foo321",
|
|
63
70
|
"annotationObject": {
|
|
64
71
|
"@context": "https://schema.org",
|
|
@@ -69,6 +76,7 @@
|
|
|
69
76
|
],
|
|
70
77
|
"resources": [
|
|
71
78
|
{
|
|
79
|
+
"type": "AuditableItemGraphResource",
|
|
72
80
|
"id": "resource1",
|
|
73
81
|
"resourceObject": {
|
|
74
82
|
"@context": "https://schema.org",
|
|
@@ -77,6 +85,7 @@
|
|
|
77
85
|
}
|
|
78
86
|
},
|
|
79
87
|
{
|
|
88
|
+
"type": "AuditableItemGraphResource",
|
|
80
89
|
"id": "resource2",
|
|
81
90
|
"resourceObject": {
|
|
82
91
|
"@context": "https://schema.org",
|
|
@@ -87,6 +96,7 @@
|
|
|
87
96
|
],
|
|
88
97
|
"edges": [
|
|
89
98
|
{
|
|
99
|
+
"type": "AuditableItemGraphEdge",
|
|
90
100
|
"targetId": "aig:1234567890",
|
|
91
101
|
"edgeRelationships": [
|
|
92
102
|
"frenemy"
|
|
@@ -98,6 +108,7 @@
|
|
|
98
108
|
}
|
|
99
109
|
},
|
|
100
110
|
{
|
|
111
|
+
"type": "AuditableItemGraphEdge",
|
|
101
112
|
"targetId": "aig:45678901234",
|
|
102
113
|
"edgeRelationships": [
|
|
103
114
|
"end"
|
|
@@ -208,11 +219,16 @@
|
|
|
208
219
|
"in": "query",
|
|
209
220
|
"required": false,
|
|
210
221
|
"schema": {
|
|
211
|
-
"
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
222
|
+
"anyOf": [
|
|
223
|
+
{
|
|
224
|
+
"const": "id"
|
|
225
|
+
},
|
|
226
|
+
{
|
|
227
|
+
"const": "alias"
|
|
228
|
+
},
|
|
229
|
+
{
|
|
230
|
+
"const": "both"
|
|
231
|
+
}
|
|
216
232
|
]
|
|
217
233
|
}
|
|
218
234
|
},
|
|
@@ -249,7 +265,6 @@
|
|
|
249
265
|
"in": "query",
|
|
250
266
|
"required": false,
|
|
251
267
|
"schema": {
|
|
252
|
-
"type": "string",
|
|
253
268
|
"enum": [
|
|
254
269
|
"dateCreated",
|
|
255
270
|
"dateModified"
|
|
@@ -704,6 +719,11 @@
|
|
|
704
719
|
"examples": {
|
|
705
720
|
"auditableItemGraphUpdateRequestExample": {
|
|
706
721
|
"value": {
|
|
722
|
+
"@context": [
|
|
723
|
+
"https://schema.twindev.org/aig/",
|
|
724
|
+
"https://schema.twindev.org/common/"
|
|
725
|
+
],
|
|
726
|
+
"type": "AuditableItemGraphVertex",
|
|
707
727
|
"annotationObject": {
|
|
708
728
|
"@context": "https://schema.org",
|
|
709
729
|
"@type": "Note",
|
|
@@ -711,6 +731,7 @@
|
|
|
711
731
|
},
|
|
712
732
|
"aliases": [
|
|
713
733
|
{
|
|
734
|
+
"type": "AuditableItemGraphAlias",
|
|
714
735
|
"id": "bar456",
|
|
715
736
|
"annotationObject": {
|
|
716
737
|
"@context": "https://schema.org",
|
|
@@ -719,6 +740,7 @@
|
|
|
719
740
|
}
|
|
720
741
|
},
|
|
721
742
|
{
|
|
743
|
+
"type": "AuditableItemGraphAlias",
|
|
722
744
|
"id": "foo321",
|
|
723
745
|
"annotationObject": {
|
|
724
746
|
"@context": "https://schema.org",
|
|
@@ -729,6 +751,7 @@
|
|
|
729
751
|
],
|
|
730
752
|
"resources": [
|
|
731
753
|
{
|
|
754
|
+
"type": "AuditableItemGraphResource",
|
|
732
755
|
"id": "resource1",
|
|
733
756
|
"resourceObject": {
|
|
734
757
|
"@context": "https://schema.org",
|
|
@@ -737,6 +760,7 @@
|
|
|
737
760
|
}
|
|
738
761
|
},
|
|
739
762
|
{
|
|
763
|
+
"type": "AuditableItemGraphResource",
|
|
740
764
|
"id": "resource2",
|
|
741
765
|
"resourceObject": {
|
|
742
766
|
"@context": "https://schema.org",
|
|
@@ -747,6 +771,7 @@
|
|
|
747
771
|
],
|
|
748
772
|
"edges": [
|
|
749
773
|
{
|
|
774
|
+
"type": "AuditableItemGraphEdge",
|
|
750
775
|
"id": "edge1",
|
|
751
776
|
"targetId": "aig:1234567890",
|
|
752
777
|
"edgeRelationships": [
|
|
@@ -759,6 +784,7 @@
|
|
|
759
784
|
}
|
|
760
785
|
},
|
|
761
786
|
{
|
|
787
|
+
"type": "AuditableItemGraphEdge",
|
|
762
788
|
"id": "edge2",
|
|
763
789
|
"targetId": "aig:45678901234",
|
|
764
790
|
"edgeRelationships": [
|
|
@@ -1366,161 +1392,155 @@
|
|
|
1366
1392
|
"components": {
|
|
1367
1393
|
"schemas": {
|
|
1368
1394
|
"AuditableItemGraphCreateRequest": {
|
|
1395
|
+
"description": "The data to be used in the vertex.",
|
|
1369
1396
|
"type": "object",
|
|
1370
1397
|
"properties": {
|
|
1398
|
+
"dateCreated": {
|
|
1399
|
+
"type": "string",
|
|
1400
|
+
"description": "The date/time of when the element was created."
|
|
1401
|
+
},
|
|
1402
|
+
"dateModified": {
|
|
1403
|
+
"type": "string",
|
|
1404
|
+
"description": "The date/time of when the element was modified."
|
|
1405
|
+
},
|
|
1406
|
+
"dateDeleted": {
|
|
1407
|
+
"type": "string",
|
|
1408
|
+
"description": "The date/time of when the element was deleted, as we never actually remove items."
|
|
1409
|
+
},
|
|
1410
|
+
"@context": {
|
|
1411
|
+
"type": "array",
|
|
1412
|
+
"prefixItems": [
|
|
1413
|
+
{
|
|
1414
|
+
"const": "https://schema.twindev.org/aig/"
|
|
1415
|
+
},
|
|
1416
|
+
{
|
|
1417
|
+
"const": "https://schema.twindev.org/common/"
|
|
1418
|
+
}
|
|
1419
|
+
],
|
|
1420
|
+
"items": {
|
|
1421
|
+
"$ref": "https://schema.twindev.org/json-ld/JsonLdContextDefinitionElement"
|
|
1422
|
+
},
|
|
1423
|
+
"minItems": 2,
|
|
1424
|
+
"description": "JSON-LD Context."
|
|
1425
|
+
},
|
|
1426
|
+
"type": {
|
|
1427
|
+
"const": "AuditableItemGraphVertex",
|
|
1428
|
+
"description": "JSON-LD Type."
|
|
1429
|
+
},
|
|
1430
|
+
"organizationIdentity": {
|
|
1431
|
+
"type": "string",
|
|
1432
|
+
"description": "The identity of the organization which controls the vertex."
|
|
1433
|
+
},
|
|
1371
1434
|
"annotationObject": {
|
|
1372
1435
|
"$ref": "https://schema.twindev.org/json-ld/JsonLdNodeObject"
|
|
1373
1436
|
},
|
|
1374
1437
|
"aliases": {
|
|
1375
1438
|
"type": "array",
|
|
1376
1439
|
"items": {
|
|
1377
|
-
"
|
|
1378
|
-
"properties": {
|
|
1379
|
-
"id": {
|
|
1380
|
-
"type": "string"
|
|
1381
|
-
},
|
|
1382
|
-
"aliasFormat": {
|
|
1383
|
-
"type": "string"
|
|
1384
|
-
},
|
|
1385
|
-
"unique": {
|
|
1386
|
-
"type": "boolean"
|
|
1387
|
-
},
|
|
1388
|
-
"annotationObject": {
|
|
1389
|
-
"$ref": "https://schema.twindev.org/json-ld/JsonLdNodeObject"
|
|
1390
|
-
}
|
|
1391
|
-
},
|
|
1392
|
-
"required": [
|
|
1393
|
-
"id"
|
|
1394
|
-
],
|
|
1395
|
-
"additionalProperties": false
|
|
1440
|
+
"$ref": "https://schema.twindev.org/aig/AuditableItemGraphAlias"
|
|
1396
1441
|
},
|
|
1397
1442
|
"description": "Alternative aliases that can be used to identify the vertex."
|
|
1398
1443
|
},
|
|
1399
1444
|
"resources": {
|
|
1400
1445
|
"type": "array",
|
|
1401
1446
|
"items": {
|
|
1402
|
-
"
|
|
1403
|
-
"properties": {
|
|
1404
|
-
"id": {
|
|
1405
|
-
"type": "string"
|
|
1406
|
-
},
|
|
1407
|
-
"resourceObject": {
|
|
1408
|
-
"$ref": "https://schema.twindev.org/json-ld/JsonLdNodeObject"
|
|
1409
|
-
}
|
|
1410
|
-
},
|
|
1411
|
-
"additionalProperties": false
|
|
1447
|
+
"$ref": "https://schema.twindev.org/aig/AuditableItemGraphResource"
|
|
1412
1448
|
},
|
|
1413
1449
|
"description": "The resources attached to the vertex."
|
|
1414
1450
|
},
|
|
1415
1451
|
"edges": {
|
|
1416
1452
|
"type": "array",
|
|
1417
1453
|
"items": {
|
|
1418
|
-
"
|
|
1419
|
-
"properties": {
|
|
1420
|
-
"targetId": {
|
|
1421
|
-
"type": "string"
|
|
1422
|
-
},
|
|
1423
|
-
"edgeRelationships": {
|
|
1424
|
-
"type": "array",
|
|
1425
|
-
"items": {
|
|
1426
|
-
"type": "string"
|
|
1427
|
-
}
|
|
1428
|
-
},
|
|
1429
|
-
"annotationObject": {
|
|
1430
|
-
"$ref": "https://schema.twindev.org/json-ld/JsonLdNodeObject"
|
|
1431
|
-
}
|
|
1432
|
-
},
|
|
1433
|
-
"required": [
|
|
1434
|
-
"targetId",
|
|
1435
|
-
"edgeRelationships"
|
|
1436
|
-
],
|
|
1437
|
-
"additionalProperties": false
|
|
1454
|
+
"$ref": "https://schema.twindev.org/aig/AuditableItemGraphEdge"
|
|
1438
1455
|
},
|
|
1439
|
-
"description": "
|
|
1456
|
+
"description": "Edges connected to the vertex."
|
|
1457
|
+
},
|
|
1458
|
+
"verified": {
|
|
1459
|
+
"type": "boolean",
|
|
1460
|
+
"description": "Is the vertex verified, will only be populated when verification is requested."
|
|
1440
1461
|
}
|
|
1441
1462
|
},
|
|
1442
|
-
"
|
|
1463
|
+
"required": [
|
|
1464
|
+
"@context",
|
|
1465
|
+
"type"
|
|
1466
|
+
]
|
|
1443
1467
|
},
|
|
1444
1468
|
"AuditableItemGraphUpdateRequest": {
|
|
1469
|
+
"description": "The data to be used in the vertex.",
|
|
1445
1470
|
"type": "object",
|
|
1446
1471
|
"properties": {
|
|
1472
|
+
"dateCreated": {
|
|
1473
|
+
"type": "string",
|
|
1474
|
+
"description": "The date/time of when the element was created."
|
|
1475
|
+
},
|
|
1476
|
+
"dateModified": {
|
|
1477
|
+
"type": "string",
|
|
1478
|
+
"description": "The date/time of when the element was modified."
|
|
1479
|
+
},
|
|
1480
|
+
"dateDeleted": {
|
|
1481
|
+
"type": "string",
|
|
1482
|
+
"description": "The date/time of when the element was deleted, as we never actually remove items."
|
|
1483
|
+
},
|
|
1484
|
+
"@context": {
|
|
1485
|
+
"type": "array",
|
|
1486
|
+
"prefixItems": [
|
|
1487
|
+
{
|
|
1488
|
+
"const": "https://schema.twindev.org/aig/"
|
|
1489
|
+
},
|
|
1490
|
+
{
|
|
1491
|
+
"const": "https://schema.twindev.org/common/"
|
|
1492
|
+
}
|
|
1493
|
+
],
|
|
1494
|
+
"items": {
|
|
1495
|
+
"$ref": "https://schema.twindev.org/json-ld/JsonLdContextDefinitionElement"
|
|
1496
|
+
},
|
|
1497
|
+
"minItems": 2,
|
|
1498
|
+
"description": "JSON-LD Context."
|
|
1499
|
+
},
|
|
1500
|
+
"type": {
|
|
1501
|
+
"const": "AuditableItemGraphVertex",
|
|
1502
|
+
"description": "JSON-LD Type."
|
|
1503
|
+
},
|
|
1504
|
+
"organizationIdentity": {
|
|
1505
|
+
"type": "string",
|
|
1506
|
+
"description": "The identity of the organization which controls the vertex."
|
|
1507
|
+
},
|
|
1447
1508
|
"annotationObject": {
|
|
1448
1509
|
"$ref": "https://schema.twindev.org/json-ld/JsonLdNodeObject"
|
|
1449
1510
|
},
|
|
1450
1511
|
"aliases": {
|
|
1451
1512
|
"type": "array",
|
|
1452
1513
|
"items": {
|
|
1453
|
-
"
|
|
1454
|
-
"properties": {
|
|
1455
|
-
"id": {
|
|
1456
|
-
"type": "string"
|
|
1457
|
-
},
|
|
1458
|
-
"aliasFormat": {
|
|
1459
|
-
"type": "string"
|
|
1460
|
-
},
|
|
1461
|
-
"unique": {
|
|
1462
|
-
"type": "boolean"
|
|
1463
|
-
},
|
|
1464
|
-
"annotationObject": {
|
|
1465
|
-
"$ref": "https://schema.twindev.org/json-ld/JsonLdNodeObject"
|
|
1466
|
-
}
|
|
1467
|
-
},
|
|
1468
|
-
"required": [
|
|
1469
|
-
"id"
|
|
1470
|
-
],
|
|
1471
|
-
"additionalProperties": false
|
|
1514
|
+
"$ref": "https://schema.twindev.org/aig/AuditableItemGraphAlias"
|
|
1472
1515
|
},
|
|
1473
1516
|
"description": "Alternative aliases that can be used to identify the vertex."
|
|
1474
1517
|
},
|
|
1475
1518
|
"resources": {
|
|
1476
1519
|
"type": "array",
|
|
1477
1520
|
"items": {
|
|
1478
|
-
"
|
|
1479
|
-
"properties": {
|
|
1480
|
-
"id": {
|
|
1481
|
-
"type": "string"
|
|
1482
|
-
},
|
|
1483
|
-
"resourceObject": {
|
|
1484
|
-
"$ref": "https://schema.twindev.org/json-ld/JsonLdNodeObject"
|
|
1485
|
-
}
|
|
1486
|
-
},
|
|
1487
|
-
"additionalProperties": false
|
|
1521
|
+
"$ref": "https://schema.twindev.org/aig/AuditableItemGraphResource"
|
|
1488
1522
|
},
|
|
1489
1523
|
"description": "The resources attached to the vertex."
|
|
1490
1524
|
},
|
|
1491
1525
|
"edges": {
|
|
1492
1526
|
"type": "array",
|
|
1493
1527
|
"items": {
|
|
1494
|
-
"
|
|
1495
|
-
"properties": {
|
|
1496
|
-
"id": {
|
|
1497
|
-
"type": "string"
|
|
1498
|
-
},
|
|
1499
|
-
"targetId": {
|
|
1500
|
-
"type": "string"
|
|
1501
|
-
},
|
|
1502
|
-
"edgeRelationships": {
|
|
1503
|
-
"type": "array",
|
|
1504
|
-
"items": {
|
|
1505
|
-
"type": "string"
|
|
1506
|
-
}
|
|
1507
|
-
},
|
|
1508
|
-
"annotationObject": {
|
|
1509
|
-
"$ref": "https://schema.twindev.org/json-ld/JsonLdNodeObject"
|
|
1510
|
-
}
|
|
1511
|
-
},
|
|
1512
|
-
"required": [
|
|
1513
|
-
"targetId",
|
|
1514
|
-
"edgeRelationships"
|
|
1515
|
-
],
|
|
1516
|
-
"additionalProperties": false
|
|
1528
|
+
"$ref": "https://schema.twindev.org/aig/AuditableItemGraphEdge"
|
|
1517
1529
|
},
|
|
1518
|
-
"description": "
|
|
1530
|
+
"description": "Edges connected to the vertex."
|
|
1531
|
+
},
|
|
1532
|
+
"verified": {
|
|
1533
|
+
"type": "boolean",
|
|
1534
|
+
"description": "Is the vertex verified, will only be populated when verification is requested."
|
|
1519
1535
|
}
|
|
1520
1536
|
},
|
|
1521
|
-
"
|
|
1537
|
+
"required": [
|
|
1538
|
+
"@context",
|
|
1539
|
+
"type"
|
|
1540
|
+
]
|
|
1522
1541
|
},
|
|
1523
1542
|
"Error": {
|
|
1543
|
+
"description": "Model to describe serialized error.",
|
|
1524
1544
|
"type": "object",
|
|
1525
1545
|
"properties": {
|
|
1526
1546
|
"name": {
|
|
@@ -1529,7 +1549,7 @@
|
|
|
1529
1549
|
},
|
|
1530
1550
|
"message": {
|
|
1531
1551
|
"type": "string",
|
|
1532
|
-
"description": "The message for the error."
|
|
1552
|
+
"description": "The message for the error as an i18n key."
|
|
1533
1553
|
},
|
|
1534
1554
|
"source": {
|
|
1535
1555
|
"type": "string",
|
|
@@ -1551,43 +1571,37 @@
|
|
|
1551
1571
|
"required": [
|
|
1552
1572
|
"name",
|
|
1553
1573
|
"message"
|
|
1554
|
-
]
|
|
1555
|
-
"description": "Model to describe serialized error."
|
|
1574
|
+
]
|
|
1556
1575
|
},
|
|
1557
1576
|
"SortDirection": {
|
|
1577
|
+
"description": "The sort directions.",
|
|
1558
1578
|
"anyOf": [
|
|
1559
1579
|
{
|
|
1560
|
-
"type": "string",
|
|
1561
1580
|
"const": "asc",
|
|
1562
1581
|
"description": "Ascending."
|
|
1563
1582
|
},
|
|
1564
1583
|
{
|
|
1565
|
-
"type": "string",
|
|
1566
1584
|
"const": "desc",
|
|
1567
1585
|
"description": "Descending."
|
|
1568
1586
|
}
|
|
1569
|
-
]
|
|
1570
|
-
"description": "The sort directions."
|
|
1587
|
+
]
|
|
1571
1588
|
},
|
|
1572
1589
|
"VerifyDepth": {
|
|
1590
|
+
"description": "How deep to verify the signatures.",
|
|
1573
1591
|
"anyOf": [
|
|
1574
1592
|
{
|
|
1575
|
-
"type": "string",
|
|
1576
1593
|
"const": "none",
|
|
1577
1594
|
"description": "Do not verify any signatures."
|
|
1578
1595
|
},
|
|
1579
1596
|
{
|
|
1580
|
-
"type": "string",
|
|
1581
1597
|
"const": "current",
|
|
1582
1598
|
"description": "Verify only the most recent signature."
|
|
1583
1599
|
},
|
|
1584
1600
|
{
|
|
1585
|
-
"type": "string",
|
|
1586
1601
|
"const": "all",
|
|
1587
1602
|
"description": "Verify all the signatures."
|
|
1588
1603
|
}
|
|
1589
|
-
]
|
|
1590
|
-
"description": "How deep to verify the signatures."
|
|
1604
|
+
]
|
|
1591
1605
|
}
|
|
1592
1606
|
},
|
|
1593
1607
|
"securitySchemes": {
|