Skip to content

Commit 1388cd6

Browse files
committed
feat: plug schema on writes
1 parent 96ec894 commit 1388cd6

40 files changed

+637
-122
lines changed

docs/api/README.md

Lines changed: 23 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -592,6 +592,7 @@ Accept: application/json
592592
{
593593
"action": "string",
594594
"ik": "string",
595+
"schemaVersion": "v1.0.0",
595596
"data": {
596597
"timestamp": "2019-08-24T14:15:22Z",
597598
"postings": [
@@ -635,6 +636,7 @@ Accept: application/json
635636
|continueOnFailure|query|boolean|false|Continue on failure|
636637
|atomic|query|boolean|false|Make bulk atomic|
637638
|parallel|query|boolean|false|Process bulk elements in parallel|
639+
|schemaVersion|query|string|false|Default schema version to use for validation (can be overridden per element)|
638640
|body|body|[V2Bulk](#schemav2bulk)|true|none|
639641

640642
> Example responses
@@ -1039,6 +1041,7 @@ Idempotency-Key: string
10391041
|address|path|string|true|Exact address of the account. It must match the following regular expressions pattern:|
10401042
|dryRun|query|boolean|false|Set the dry run mode. Dry run mode doesn't add the logs to the database or publish a message to the message broker.|
10411043
|Idempotency-Key|header|string|false|Use an idempotency key|
1044+
|schemaVersion|query|string|false|Schema version to use for validation|
10421045
|body|body|[V2Metadata](#schemav2metadata)|true|metadata|
10431046

10441047
#### Detailed descriptions
@@ -1465,6 +1468,7 @@ Idempotency-Key: string
14651468
|dryRun|query|boolean|false|Set the dryRun mode. dry run mode doesn't add the logs to the database or publish a message to the message broker.|
14661469
|Idempotency-Key|header|string|false|Use an idempotency key|
14671470
|force|query|boolean|false|Disable balance checks when passing postings|
1471+
|schemaVersion|query|string|false|Schema version to use for validation|
14681472
|body|body|[V2PostTransaction](#schemav2posttransaction)|true|The request body must contain at least one of the following objects:|
14691473

14701474
#### Detailed descriptions
@@ -1740,6 +1744,7 @@ Idempotency-Key: string
17401744
|id|path|integer(bigint)|true|Transaction ID.|
17411745
|dryRun|query|boolean|false|Set the dryRun mode. Dry run mode doesn't add the logs to the database or publish a message to the message broker.|
17421746
|Idempotency-Key|header|string|false|Use an idempotency key|
1747+
|schemaVersion|query|string|false|Schema version to use for validation|
17431748
|body|body|[V2Metadata](#schemav2metadata)|true|metadata|
17441749

17451750
> Example responses
@@ -1804,6 +1809,7 @@ Accept: application/json
18041809
|force|query|boolean|false|Force revert|
18051810
|atEffectiveDate|query|boolean|false|Revert transaction at effective date of the original tx|
18061811
|dryRun|query|boolean|false|Set the dryRun mode. dry run mode doesn't add the logs to the database or publish a message to the message broker.|
1812+
|schemaVersion|query|string|false|Schema version to use for validation|
18071813
|body|body|[V2RevertTransactionRequest](#schemav2reverttransactionrequest)|false|none|
18081814

18091815
> Example responses
@@ -2115,7 +2121,8 @@ Format: `<field>:<order>`, where `<field>` is the field name and `<order>` is ei
21152121
"type": "NEW_TRANSACTION",
21162122
"data": {},
21172123
"hash": "9ee060170400f556b7e1575cb13f9db004f150a08355c7431c62bc639166431e",
2118-
"date": "2019-08-24T14:15:22Z"
2124+
"date": "2019-08-24T14:15:22Z",
2125+
"schemaVersion": "v1.0.0"
21192126
}
21202127
]
21212128
}
@@ -3249,7 +3256,8 @@ This operation does not require authentication
32493256
"type": "NEW_TRANSACTION",
32503257
"data": {},
32513258
"hash": "9ee060170400f556b7e1575cb13f9db004f150a08355c7431c62bc639166431e",
3252-
"date": "2019-08-24T14:15:22Z"
3259+
"date": "2019-08-24T14:15:22Z",
3260+
"schemaVersion": "v1.0.0"
32533261
}
32543262
]
32553263
}
@@ -3770,7 +3778,8 @@ This operation does not require authentication
37703778
"type": "NEW_TRANSACTION",
37713779
"data": {},
37723780
"hash": "9ee060170400f556b7e1575cb13f9db004f150a08355c7431c62bc639166431e",
3773-
"date": "2019-08-24T14:15:22Z"
3781+
"date": "2019-08-24T14:15:22Z",
3782+
"schemaVersion": "v1.0.0"
37743783
}
37753784

37763785
```
@@ -3784,6 +3793,7 @@ This operation does not require authentication
37843793
|data|object|true|none|none|
37853794
|hash|string|true|none|none|
37863795
|date|string(date-time)|true|none|none|
3796+
|schemaVersion|string|false|none|Schema version used for validation|
37873797

37883798
#### Enumerated Values
37893799

@@ -3793,6 +3803,7 @@ This operation does not require authentication
37933803
|type|SET_METADATA|
37943804
|type|REVERTED_TRANSACTION|
37953805
|type|DELETE_METADATA|
3806+
|type|UPDATED_SCHEMA|
37963807

37973808
<h2 id="tocS_V2CreateTransactionResponse">V2CreateTransactionResponse</h2>
37983809
<!-- backwards compatibility -->
@@ -4404,6 +4415,7 @@ This operation does not require authentication
44044415
{
44054416
"action": "string",
44064417
"ik": "string",
4418+
"schemaVersion": "v1.0.0",
44074419
"data": {
44084420
"timestamp": "2019-08-24T14:15:22Z",
44094421
"postings": [
@@ -4456,7 +4468,8 @@ This operation does not require authentication
44564468
```json
44574469
{
44584470
"action": "string",
4459-
"ik": "string"
4471+
"ik": "string",
4472+
"schemaVersion": "v1.0.0"
44604473
}
44614474

44624475
```
@@ -4467,6 +4480,7 @@ This operation does not require authentication
44674480
|---|---|---|---|---|
44684481
|action|string|true|none|none|
44694482
|ik|string|false|none|none|
4483+
|schemaVersion|string|false|none|Schema version to use for validation|
44704484

44714485
<h2 id="tocS_V2BulkElement">V2BulkElement</h2>
44724486
<!-- backwards compatibility -->
@@ -4479,6 +4493,7 @@ This operation does not require authentication
44794493
{
44804494
"action": "string",
44814495
"ik": "string",
4496+
"schemaVersion": "v1.0.0",
44824497
"data": {
44834498
"timestamp": "2019-08-24T14:15:22Z",
44844499
"postings": [
@@ -4551,6 +4566,7 @@ xor
45514566
{
45524567
"action": "string",
45534568
"ik": "string",
4569+
"schemaVersion": "v1.0.0",
45544570
"data": {
45554571
"timestamp": "2019-08-24T14:15:22Z",
45564572
"postings": [
@@ -4663,6 +4679,7 @@ xor
46634679
{
46644680
"action": "string",
46654681
"ik": "string",
4682+
"schemaVersion": "v1.0.0",
46664683
"data": {
46674684
"targetId": "string",
46684685
"targetType": "TRANSACTION",
@@ -4705,6 +4722,7 @@ and
47054722
{
47064723
"action": "string",
47074724
"ik": "string",
4725+
"schemaVersion": "v1.0.0",
47084726
"data": {
47094727
"id": 0,
47104728
"force": true,
@@ -4743,6 +4761,7 @@ and
47434761
{
47444762
"action": "string",
47454763
"ik": "string",
4764+
"schemaVersion": "v1.0.0",
47464765
"data": {
47474766
"targetId": "string",
47484767
"targetType": "TRANSACTION",

0 commit comments

Comments
 (0)