app.standard-reader.getAuthor
Schema Diff
+34 -20
Compatibility Analysis
Breaking Changes Detected
13 breaking changes, 17 non-breaking changes.
Breaking Changes (13)
- RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "app.standard-reader.getAuthor:output", src: "app.standard-reader.getAuthor:output", tgt: "app.standard-reader.getAuthor:output.publications", kind: "prop", name: Some("publications") }
- RemovedVertex RemovedVertex { vertex_id: "app.standard-reader.getAuthor:output.stats.documentCount" }
- RemovedVertex RemovedVertex { vertex_id: "app.standard-reader.getAuthor:output.stats.followingCount" }
- RemovedVertex RemovedVertex { vertex_id: "app.standard-reader.getAuthor:output.stats.likeCount" }
- RemovedVertex RemovedVertex { vertex_id: "app.standard-reader.getAuthor:output.stats.publicationCount" }
- RemovedVertex RemovedVertex { vertex_id: "app.standard-reader.getAuthor:output.stats.subscriberCount" }
- RemovedEdge RemovedEdge { src: "app.standard-reader.getAuthor:output.stats", tgt: "app.standard-reader.getAuthor:output.stats.documentCount", kind: "prop", name: Some("documentCount") }
- RemovedEdge RemovedEdge { src: "app.standard-reader.getAuthor:output.stats", tgt: "app.standard-reader.getAuthor:output.stats.followingCount", kind: "prop", name: Some("followingCount") }
- RemovedEdge RemovedEdge { src: "app.standard-reader.getAuthor:output.stats", tgt: "app.standard-reader.getAuthor:output.stats.likeCount", kind: "prop", name: Some("likeCount") }
- RemovedEdge RemovedEdge { src: "app.standard-reader.getAuthor:output.stats", tgt: "app.standard-reader.getAuthor:output.stats.publicationCount", kind: "prop", name: Some("publicationCount") }
- RemovedEdge RemovedEdge { src: "app.standard-reader.getAuthor:output.stats", tgt: "app.standard-reader.getAuthor:output.stats.subscriberCount", kind: "prop", name: Some("subscriberCount") }
- KindChanged KindChanged { vertex_id: "app.standard-reader.getAuthor:output.stats", old_kind: "object", new_kind: "ref" }
- ConstraintAdded ConstraintAdded { vertex_id: "app.standard-reader.getAuthor:output.stats", sort: "ref", value: "app.standard-reader.getAuthor#stats" }
Non-Breaking Changes (17)
- AddedVertex AddedVertex { vertex_id: "app.standard-reader.defs#publicationView" }
- AddedVertex AddedVertex { vertex_id: "app.standard-reader.getAuthor#stats" }
- AddedVertex AddedVertex { vertex_id: "app.standard-reader.getAuthor#stats.documentCount" }
- AddedVertex AddedVertex { vertex_id: "app.standard-reader.getAuthor#stats.followingCount" }
- AddedVertex AddedVertex { vertex_id: "app.standard-reader.getAuthor#stats.likeCount" }
- AddedVertex AddedVertex { vertex_id: "app.standard-reader.getAuthor#stats.publicationCount" }
- AddedVertex AddedVertex { vertex_id: "app.standard-reader.getAuthor#stats.subscriberCount" }
- AddedVertex AddedVertex { vertex_id: "app.standard-reader.getAuthor:output.publications" }
- AddedVertex AddedVertex { vertex_id: "app.standard-reader.getAuthor:output.publications:items" }
- AddedEdge AddedEdge { src: "app.standard-reader.getAuthor#stats", tgt: "app.standard-reader.getAuthor#stats.documentCount", kind: "prop", name: Some("documentCount") }
- AddedEdge AddedEdge { src: "app.standard-reader.getAuthor#stats", tgt: "app.standard-reader.getAuthor#stats.followingCount", kind: "prop", name: Some("followingCount") }
- AddedEdge AddedEdge { src: "app.standard-reader.getAuthor#stats", tgt: "app.standard-reader.getAuthor#stats.likeCount", kind: "prop", name: Some("likeCount") }
- AddedEdge AddedEdge { src: "app.standard-reader.getAuthor#stats", tgt: "app.standard-reader.getAuthor#stats.publicationCount", kind: "prop", name: Some("publicationCount") }
- AddedEdge AddedEdge { src: "app.standard-reader.getAuthor#stats", tgt: "app.standard-reader.getAuthor#stats.subscriberCount", kind: "prop", name: Some("subscriberCount") }
- AddedEdge AddedEdge { src: "app.standard-reader.getAuthor:output.publications", tgt: "app.standard-reader.getAuthor:output.publications:items", kind: "items", name: None }
- AddedEdge AddedEdge { src: "app.standard-reader.getAuthor:output.publications:items", tgt: "app.standard-reader.defs#publicationView", kind: "ref", name: None }
- AddedEdge AddedEdge { src: "app.standard-reader.getAuthor:output.stats", tgt: "app.standard-reader.getAuthor#stats", kind: "ref", name: None }
Migration Guidance
Removed Elements
RemovedVertex { vertex_id: "app.standard-reader.getAuthor:output.stats.documentCount" }RemovedVertex { vertex_id: "app.standard-reader.getAuthor:output.stats.followingCount" }RemovedVertex { vertex_id: "app.standard-reader.getAuthor:output.stats.likeCount" }RemovedVertex { vertex_id: "app.standard-reader.getAuthor:output.stats.publicationCount" }RemovedVertex { vertex_id: "app.standard-reader.getAuthor:output.stats.subscriberCount" }
Added Elements
AddedVertex { vertex_id: "app.standard-reader.defs#publicationView" }AddedVertex { vertex_id: "app.standard-reader.getAuthor#stats" }AddedVertex { vertex_id: "app.standard-reader.getAuthor#stats.documentCount" }AddedVertex { vertex_id: "app.standard-reader.getAuthor#stats.followingCount" }AddedVertex { vertex_id: "app.standard-reader.getAuthor#stats.likeCount" }AddedVertex { vertex_id: "app.standard-reader.getAuthor#stats.publicationCount" }AddedVertex { vertex_id: "app.standard-reader.getAuthor#stats.subscriberCount" }AddedVertex { vertex_id: "app.standard-reader.getAuthor:output.publications" }AddedVertex { vertex_id: "app.standard-reader.getAuthor:output.publications:items" }
Constraint Changes
- ConstraintAdded ConstraintAdded { vertex_id: "app.standard-reader.getAuthor:output.stats", sort: "ref", value: "app.standard-reader.getAuthor#stats" }
Additional Notes
- Breaking: RequiredEdgeAdded { vertex_id: "app.standard-reader.getAuthor:output", src: "app.standard-reader.getAuthor:output", tgt: "app.standard-reader.getAuthor:output.publications", kind: "prop", name: Some("publications") }
- Breaking: RemovedEdge { src: "app.standard-reader.getAuthor:output.stats", tgt: "app.standard-reader.getAuthor:output.stats.documentCount", kind: "prop", name: Some("documentCount") }
- Breaking: RemovedEdge { src: "app.standard-reader.getAuthor:output.stats", tgt: "app.standard-reader.getAuthor:output.stats.followingCount", kind: "prop", name: Some("followingCount") }
- Breaking: RemovedEdge { src: "app.standard-reader.getAuthor:output.stats", tgt: "app.standard-reader.getAuthor:output.stats.likeCount", kind: "prop", name: Some("likeCount") }
- Breaking: RemovedEdge { src: "app.standard-reader.getAuthor:output.stats", tgt: "app.standard-reader.getAuthor:output.stats.publicationCount", kind: "prop", name: Some("publicationCount") }
- Breaking: RemovedEdge { src: "app.standard-reader.getAuthor:output.stats", tgt: "app.standard-reader.getAuthor:output.stats.subscriberCount", kind: "prop", name: Some("subscriberCount") }
- Breaking: KindChanged { vertex_id: "app.standard-reader.getAuthor:output.stats", old_kind: "object", new_kind: "ref" }
- Non-breaking: AddedEdge { src: "app.standard-reader.getAuthor#stats", tgt: "app.standard-reader.getAuthor#stats.documentCount", kind: "prop", name: Some("documentCount") }
- Non-breaking: AddedEdge { src: "app.standard-reader.getAuthor#stats", tgt: "app.standard-reader.getAuthor#stats.followingCount", kind: "prop", name: Some("followingCount") }
- Non-breaking: AddedEdge { src: "app.standard-reader.getAuthor#stats", tgt: "app.standard-reader.getAuthor#stats.likeCount", kind: "prop", name: Some("likeCount") }
- Non-breaking: AddedEdge { src: "app.standard-reader.getAuthor#stats", tgt: "app.standard-reader.getAuthor#stats.publicationCount", kind: "prop", name: Some("publicationCount") }
- Non-breaking: AddedEdge { src: "app.standard-reader.getAuthor#stats", tgt: "app.standard-reader.getAuthor#stats.subscriberCount", kind: "prop", name: Some("subscriberCount") }
- Non-breaking: AddedEdge { src: "app.standard-reader.getAuthor:output.publications", tgt: "app.standard-reader.getAuthor:output.publications:items", kind: "items", name: None }
- Non-breaking: AddedEdge { src: "app.standard-reader.getAuthor:output.publications:items", tgt: "app.standard-reader.defs#publicationView", kind: "ref", name: None }
- Non-breaking: AddedEdge { src: "app.standard-reader.getAuthor:output.stats", tgt: "app.standard-reader.getAuthor#stats", kind: "ref", name: None }
1
1
{
2
2
"$type": "com.atproto.lexicon.schema",
3
3
"defs": {
4
4
"main": {
5
-
"description": "Author profile for a DID with aggregate stats.",
5
+
"description": "Author profile for a DID with aggregate stats and a first page of their publications.",
6
6
"output": {
7
7
"encoding": "application/json",
8
8
"schema": {
9
9
"properties": {
10
10
"profile": {
11
11
"ref": "app.standard-reader.defs#profileView",
12
12
"type": "ref"
13
13
},
14
+
"publications": {
15
+
"description": "The author's publications, owned first then featured, newest activity first. A convenience first page; use getAuthorPublications to page through the full set.",
16
+
"items": {
17
+
"ref": "app.standard-reader.defs#publicationView",
18
+
"type": "ref"
19
+
},
20
+
"type": "array"
21
+
},
14
22
"stats": {
15
-
"properties": {
16
-
"documentCount": {
17
-
"type": "integer"
18
-
},
19
-
"followingCount": {
20
-
"type": "integer"
21
-
},
22
-
"likeCount": {
23
-
"type": "integer"
24
-
},
25
-
"publicationCount": {
26
-
"type": "integer"
27
-
},
28
-
"subscriberCount": {
29
-
"type": "integer"
30
-
}
31
-
},
32
-
"type": "object"
23
+
"ref": "app.standard-reader.getAuthor#stats",
24
+
"type": "ref"
33
25
}
34
26
},
35
27
"required": [
36
28
"profile",
37
-
"stats"
29
+
"stats",
30
+
"publications"
38
31
],
39
32
"type": "object"
40
33
}
41
34
},
42
35
"parameters": {
43
36
"properties": {
44
37
"did": {
45
38
"format": "did",
46
39
"type": "string"
47
40
}
48
41
},
49
42
"required": [
50
43
"did"
51
44
],
52
45
"type": "params"
53
46
},
54
47
"type": "query"
48
+
},
49
+
"stats": {
50
+
"description": "Aggregate author counts shown on the profile header.",
51
+
"properties": {
52
+
"documentCount": {
53
+
"type": "integer"
54
+
},
55
+
"followingCount": {
56
+
"type": "integer"
57
+
},
58
+
"likeCount": {
59
+
"type": "integer"
60
+
},
61
+
"publicationCount": {
62
+
"type": "integer"
63
+
},
64
+
"subscriberCount": {
65
+
"type": "integer"
66
+
}
67
+
},
68
+
"type": "object"
55
69
}
56
70
},
57
71
"id": "app.standard-reader.getAuthor",
58
72
"lexicon": 1
59
73
}