com.babesky.actor.featured
Schema Diff
+20 -16
Compatibility Analysis
Breaking Changes Detected
5 breaking changes, 5 non-breaking changes.
Breaking Changes (5)
- RemovedVertex RemovedVertex { vertex_id: "com.babesky.actor.featured:body.posts:items.cid" }
- RemovedVertex RemovedVertex { vertex_id: "com.babesky.actor.featured:body.posts:items.uri" }
- RemovedEdge RemovedEdge { src: "com.babesky.actor.featured:body.posts:items", tgt: "com.babesky.actor.featured:body.posts:items.cid", kind: "prop", name: Some("cid") }
- RemovedEdge RemovedEdge { src: "com.babesky.actor.featured:body.posts:items", tgt: "com.babesky.actor.featured:body.posts:items.uri", kind: "prop", name: Some("uri") }
- KindChanged KindChanged { vertex_id: "com.babesky.actor.featured:body.posts:items", old_kind: "object", new_kind: "ref" }
Non-Breaking Changes (5)
- AddedVertex AddedVertex { vertex_id: "com.babesky.actor.featured#featuredPost" }
- AddedVertex AddedVertex { vertex_id: "com.babesky.actor.featured#featuredPost.cid" }
- AddedVertex AddedVertex { vertex_id: "com.babesky.actor.featured#featuredPost.uri" }
- AddedEdge AddedEdge { src: "com.babesky.actor.featured#featuredPost", tgt: "com.babesky.actor.featured#featuredPost.cid", kind: "prop", name: Some("cid") }
- AddedEdge AddedEdge { src: "com.babesky.actor.featured#featuredPost", tgt: "com.babesky.actor.featured#featuredPost.uri", kind: "prop", name: Some("uri") }
Migration Guidance
Removed Elements
RemovedVertex { vertex_id: "com.babesky.actor.featured:body.posts:items.cid" }RemovedVertex { vertex_id: "com.babesky.actor.featured:body.posts:items.uri" }
Added Elements
AddedVertex { vertex_id: "com.babesky.actor.featured#featuredPost" }AddedVertex { vertex_id: "com.babesky.actor.featured#featuredPost.cid" }AddedVertex { vertex_id: "com.babesky.actor.featured#featuredPost.uri" }
Additional Notes
- Breaking: RemovedEdge { src: "com.babesky.actor.featured:body.posts:items", tgt: "com.babesky.actor.featured:body.posts:items.cid", kind: "prop", name: Some("cid") }
- Breaking: RemovedEdge { src: "com.babesky.actor.featured:body.posts:items", tgt: "com.babesky.actor.featured:body.posts:items.uri", kind: "prop", name: Some("uri") }
- Breaking: KindChanged { vertex_id: "com.babesky.actor.featured:body.posts:items", old_kind: "object", new_kind: "ref" }
- Non-breaking: AddedEdge { src: "com.babesky.actor.featured#featuredPost", tgt: "com.babesky.actor.featured#featuredPost.cid", kind: "prop", name: Some("cid") }
- Non-breaking: AddedEdge { src: "com.babesky.actor.featured#featuredPost", tgt: "com.babesky.actor.featured#featuredPost.uri", kind: "prop", name: Some("uri") }
1
1
{
2
2
"id": "com.babesky.actor.featured",
3
3
"defs": {
4
4
"main": {
5
5
"key": "literal:self",
6
6
"type": "record",
7
7
"record": {
8
8
"type": "object",
9
9
"required": [
10
10
"posts",
11
11
"createdAt"
12
12
],
13
13
"properties": {
14
14
"posts": {
15
15
"type": "array",
16
16
"items": {
17
-
"type": "object",
18
-
"required": [
19
-
"uri"
20
-
],
21
-
"properties": {
22
-
"cid": {
23
-
"type": "string",
24
-
"format": "cid",
25
-
"description": "CID of the post record at time of featuring. Used to detect if the post has been deleted or edited."
26
-
},
27
-
"uri": {
28
-
"type": "string",
29
-
"format": "at-uri",
30
-
"description": "AT URI of an app.bsky.feed.post in the same actor's repository."
31
-
}
32
-
}
17
+
"ref": "#featuredPost",
18
+
"type": "ref"
33
19
},
34
20
"maxLength": 8
35
21
},
36
22
"createdAt": {
37
23
"type": "string",
38
24
"format": "datetime"
39
25
}
40
26
}
41
27
},
42
28
"description": "Featured posts record for the Babesky creator portfolio. An ordered selection of the creator's own posts (max 8) displayed as a curated preview reel in Atmosphere apps. Consumed alongside com.babesky.actor.profile, com.babesky.actor.links, and com.babesky.actor.support."
29
+
},
30
+
"featuredPost": {
31
+
"type": "object",
32
+
"required": [
33
+
"uri"
34
+
],
35
+
"properties": {
36
+
"cid": {
37
+
"type": "string",
38
+
"format": "cid",
39
+
"description": "CID of the post record at time of featuring. Used to detect if the post has been deleted or edited."
40
+
},
41
+
"uri": {
42
+
"type": "string",
43
+
"format": "at-uri",
44
+
"description": "AT URI of an app.bsky.feed.post in the same actor's repository."
45
+
}
46
+
}
43
47
}
44
48
},
45
49
"$type": "com.atproto.lexicon.schema",
46
50
"lexicon": 1
47
51
}