live.voxport.podcast.subscribe
Schema Diff
+2 -2
Compatibility Analysis
Breaking Changes Detected
3 breaking changes, 2 non-breaking changes.
Breaking Changes (3)
- RemovedVertex RemovedVertex { vertex_id: "live.voxport.podcast.series" }
- RemovedEdge RemovedEdge { src: "live.voxport.podcast.subscribe:body.subject", tgt: "live.voxport.podcast.series", kind: "ref", name: None }
- ConstraintTightened ConstraintTightened { vertex_id: "live.voxport.podcast.subscribe:body.subject", sort: "ref", old_value: "live.voxport.podcast.series", new_value: "live.voxport.podcast.series#seriesRef" }
Non-Breaking Changes (2)
- AddedVertex AddedVertex { vertex_id: "live.voxport.podcast.series#seriesRef" }
- AddedEdge AddedEdge { src: "live.voxport.podcast.subscribe:body.subject", tgt: "live.voxport.podcast.series#seriesRef", kind: "ref", name: None }
Migration Guidance
Removed Elements
RemovedVertex { vertex_id: "live.voxport.podcast.series" }
Added Elements
AddedVertex { vertex_id: "live.voxport.podcast.series#seriesRef" }
Constraint Changes
- ConstraintTightened ConstraintTightened { vertex_id: "live.voxport.podcast.subscribe:body.subject", sort: "ref", old_value: "live.voxport.podcast.series", new_value: "live.voxport.podcast.series#seriesRef" }
Additional Notes
- Breaking: RemovedEdge { src: "live.voxport.podcast.subscribe:body.subject", tgt: "live.voxport.podcast.series", kind: "ref", name: None }
- Non-breaking: AddedEdge { src: "live.voxport.podcast.subscribe:body.subject", tgt: "live.voxport.podcast.series#seriesRef", kind: "ref", name: None }
1
1
{
2
2
"id": "live.voxport.podcast.subscribe",
3
3
"defs": {
4
4
"main": {
5
5
"key": "tid",
6
6
"type": "record",
7
7
"record": {
8
8
"type": "object",
9
9
"required": [
10
10
"subject",
11
11
"createdAt"
12
12
],
13
13
"properties": {
14
14
"subject": {
15
-
"ref": "live.voxport.podcast.series",
15
+
"ref": "live.voxport.podcast.series#seriesRef",
16
16
"type": "ref",
17
-
"description": "The series being subscribed to"
17
+
"description": "The series being subscribed to (uri + optional cid)"
18
18
},
19
19
"createdAt": {
20
20
"type": "string",
21
21
"format": "datetime"
22
22
},
23
23
"notifyNewEpisodes": {
24
24
"type": "boolean",
25
25
"default": true,
26
26
"description": "Whether to notify when new episodes are published"
27
27
}
28
28
}
29
29
},
30
30
"description": "Subscription to a podcast series for episode notifications"
31
31
}
32
32
},
33
33
"$type": "com.atproto.lexicon.schema",
34
34
"lexicon": 1,
35
35
"description": "Subscription to a podcast series for episode notifications"
36
36
}