app.certified.badge.response
Schema Diff
+9 -3
Compatibility Analysis
Breaking Changes Detected
5 breaking changes, 7 non-breaking changes.
Breaking Changes (5)
- RemovedVertex RemovedVertex { vertex_id: "app.certified.badge.award" }
- RemovedEdge RemovedEdge { src: "app.certified.badge.response:body.badgeAward", tgt: "app.certified.badge.award", kind: "ref", name: None }
- ConstraintTightened ConstraintTightened { vertex_id: "app.certified.badge.response:body.badgeAward", sort: "ref", old_value: "app.certified.badge.award", new_value: "com.atproto.repo.strongRef" }
- ConstraintAdded ConstraintAdded { vertex_id: "app.certified.badge.response:body.response", sort: "knownValues", value: "[\"accepted\",\"rejected\"]" }
- ConstraintAdded ConstraintAdded { vertex_id: "app.certified.badge.response:body.weight", sort: "maxLength", value: "50" }
Non-Breaking Changes (7)
- AddedVertex AddedVertex { vertex_id: "app.certified.badge.response:body.signatures" }
- AddedVertex AddedVertex { vertex_id: "app.certified.signature.defs#list" }
- AddedVertex AddedVertex { vertex_id: "com.atproto.repo.strongRef" }
- AddedEdge AddedEdge { src: "app.certified.badge.response:body", tgt: "app.certified.badge.response:body.signatures", kind: "prop", name: Some("signatures") }
- AddedEdge AddedEdge { src: "app.certified.badge.response:body.badgeAward", tgt: "com.atproto.repo.strongRef", kind: "ref", name: None }
- AddedEdge AddedEdge { src: "app.certified.badge.response:body.signatures", tgt: "app.certified.signature.defs#list", kind: "ref", name: None }
- ConstraintRemoved ConstraintRemoved { vertex_id: "app.certified.badge.response:body.response", sort: "enum" }
Migration Guidance
Removed Elements
RemovedVertex { vertex_id: "app.certified.badge.award" }
Added Elements
AddedVertex { vertex_id: "app.certified.badge.response:body.signatures" }AddedVertex { vertex_id: "app.certified.signature.defs#list" }AddedVertex { vertex_id: "com.atproto.repo.strongRef" }
Constraint Changes
- ConstraintTightened ConstraintTightened { vertex_id: "app.certified.badge.response:body.badgeAward", sort: "ref", old_value: "app.certified.badge.award", new_value: "com.atproto.repo.strongRef" }
- ConstraintAdded ConstraintAdded { vertex_id: "app.certified.badge.response:body.weight", sort: "maxLength", value: "50" }
- ConstraintAdded ConstraintAdded { vertex_id: "app.certified.badge.response:body.response", sort: "knownValues", value: "[\"accepted\",\"rejected\"]" }
- ConstraintRemoved ConstraintRemoved { vertex_id: "app.certified.badge.response:body.response", sort: "enum" }
Additional Notes
- Breaking: RemovedEdge { src: "app.certified.badge.response:body.badgeAward", tgt: "app.certified.badge.award", kind: "ref", name: None }
- Non-breaking: AddedEdge { src: "app.certified.badge.response:body", tgt: "app.certified.badge.response:body.signatures", kind: "prop", name: Some("signatures") }
- Non-breaking: AddedEdge { src: "app.certified.badge.response:body.badgeAward", tgt: "com.atproto.repo.strongRef", kind: "ref", name: None }
- Non-breaking: AddedEdge { src: "app.certified.badge.response:body.signatures", tgt: "app.certified.signature.defs#list", kind: "ref", name: None }
1
1
{
2
2
"$type": "com.atproto.lexicon.schema",
3
3
"defs": {
4
4
"main": {
5
5
"description": "Recipient response to a badge award.",
6
6
"key": "tid",
7
7
"record": {
8
8
"properties": {
9
9
"badgeAward": {
10
-
"description": "Reference to the badge award.",
11
-
"ref": "app.certified.badge.award",
10
+
"description": "Strong reference to the badge award being responded to. The record referenced must conform with the lexicon app.certified.badge.award.",
11
+
"ref": "com.atproto.repo.strongRef",
12
12
"type": "ref"
13
13
},
14
14
"createdAt": {
15
15
"description": "Client-declared timestamp when this record was originally created",
16
16
"format": "datetime",
17
17
"type": "string"
18
18
},
19
19
"response": {
20
20
"description": "The recipient’s response for the badge (accepted or rejected).",
21
-
"enum": [
21
+
"knownValues": [
22
22
"accepted",
23
23
"rejected"
24
24
],
25
25
"type": "string"
26
26
},
27
+
"signatures": {
28
+
"description": "Optional cryptographic signatures attesting to this record's content.",
29
+
"ref": "app.certified.signature.defs#list",
30
+
"type": "ref"
31
+
},
27
32
"weight": {
28
33
"description": "Optional relative weight for accepted badges, assigned by the recipient.",
34
+
"maxLength": 50,
29
35
"type": "string"
30
36
}
31
37
},
32
38
"required": [
33
39
"badgeAward",
34
40
"response",
35
41
"createdAt"
36
42
],
37
43
"type": "object"
38
44
},
39
45
"type": "record"
40
46
}
41
47
},
42
48
"id": "app.certified.badge.response",
43
49
"lexicon": 1
44
50
}