town.muni.arbiter.setSpaceConfig
Schema Diff
+9 -2
Compatibility Analysis
Breaking Changes Detected
1 breaking change, 3 non-breaking changes.
Breaking Changes (1)
- ConstraintAdded ConstraintAdded { vertex_id: "town.muni.arbiter.setSpaceConfig:input.spaceKey", sort: "maxLength", value: "1024" }
Non-Breaking Changes (3)
- AddedVertex AddedVertex { vertex_id: "town.muni.arbiter.setSpaceConfig:output" }
- AddedEdge AddedEdge { src: "town.muni.arbiter.setSpaceConfig", tgt: "town.muni.arbiter.setSpaceConfig:output", kind: "prop", name: Some("output") }
- ConstraintRemoved ConstraintRemoved { vertex_id: "town.muni.arbiter.setSpaceConfig:input.resolverDepth", sort: "minimum" }
Migration Guidance
Added Elements
AddedVertex { vertex_id: "town.muni.arbiter.setSpaceConfig:output" }
Constraint Changes
- ConstraintAdded ConstraintAdded { vertex_id: "town.muni.arbiter.setSpaceConfig:input.spaceKey", sort: "maxLength", value: "1024" }
- ConstraintRemoved ConstraintRemoved { vertex_id: "town.muni.arbiter.setSpaceConfig:input.resolverDepth", sort: "minimum" }
Additional Notes
- Non-breaking: AddedEdge { src: "town.muni.arbiter.setSpaceConfig", tgt: "town.muni.arbiter.setSpaceConfig:output", kind: "prop", name: Some("output") }
1
1
{
2
2
"id": "town.muni.arbiter.setSpaceConfig",
3
3
"defs": {
4
4
"main": {
5
5
"type": "procedure",
6
6
"input": {
7
7
"schema": {
8
8
"type": "object",
9
9
"required": [
10
10
"arbiterDid",
11
11
"spaceKey",
12
12
"spaceType",
13
13
"config"
14
14
],
15
15
"properties": {
16
16
"config": {
17
17
"refs": [],
18
18
"type": "union",
19
19
"description": "The new space configuration."
20
20
},
21
21
"spaceKey": {
22
22
"type": "string",
23
+
"maxLength": 1024,
23
24
"description": "The key of the space to configure."
24
25
},
25
26
"spaceType": {
26
27
"type": "string",
27
28
"format": "nsid",
28
29
"description": "The new type of the space."
29
30
},
30
31
"arbiterDid": {
31
32
"type": "string",
32
33
"format": "did",
33
34
"description": "The DID of the arbiter that the space is in."
34
35
},
35
36
"resolverDepth": {
36
37
"type": "integer",
37
-
"minimum": 0,
38
-
"description": "The maximum depth to allow when doing remote resolutions needed to evaluate the\naccess of the requesting user."
38
+
"description": "The maximum depth to allow when doing remote resolutions.\n\nBecause spaces are allowed to have members resolved from remote spaces,\nall of the arbiter endpoints have an optional resolution depth parameter\nthat can be used to limit how many chained remote calls can be resolved.\n\nThis applies both to queries and procedures. Queries may need to resolve\nexternal members to complete the member list, and procedures may need\nto resolve external members if the requesting member is not in the local\nmember list, to see if the member has access through a remote list."
39
39
}
40
40
}
41
41
},
42
42
"encoding": "application/json"
43
43
},
44
44
"errors": [
45
45
{
46
46
"name": "ErrArbiterNotExists",
47
47
"description": "The specified arbiter does not exist on this server."
48
48
},
49
49
{
50
50
"name": "ErrSpaceNotExists",
51
51
"description": "The specified space does not exist on this arbiter."
52
52
},
53
53
{
54
54
"name": "ErrPermissionDenied",
55
55
"description": "The requesting user is not allowed to make the request."
56
56
},
57
57
{
58
58
"name": "ErrRaceCondition",
59
59
"description": "The config was changed by another request during the execution of this request.\n\nThe action should be retried if still applicable."
60
60
}
61
61
],
62
+
"output": {
63
+
"schema": {
64
+
"refs": [],
65
+
"type": "union"
66
+
},
67
+
"encoding": "application/json"
68
+
},
62
69
"description": "Configure a space on the arbiter."
63
70
}
64
71
},
65
72
"$type": "com.atproto.lexicon.schema",
66
73
"lexicon": 1
67
74
}