buzz.bookhive.getBook
Schema Diff
+7 -4
Compatibility Analysis
Breaking Changes Detected
1 breaking change, 2 non-breaking changes.
Breaking Changes (1)
- ConstraintTightened ConstraintTightened { vertex_id: "buzz.bookhive.getBook:output.status", sort: "knownValues", old_value: "[\"buzz.bookhive.defs#finished\",\"buzz.bookhive.defs#reading\",\"buzz.bookhive.defs#wantToRead\",\"buzz.bookhive.defs#abandoned\",\"buzz.bookhive.defs#owned\"]", new_value: "[\"buzz.bookhive.defs#finished\",\"buzz.bookhive.defs#reading\",\"buzz.bookhive.defs#wantToRead\",\"buzz.bookhive.defs#abandoned\"]" }
Non-Breaking Changes (2)
- AddedVertex AddedVertex { vertex_id: "buzz.bookhive.getBook:output.owned" }
- AddedEdge AddedEdge { src: "buzz.bookhive.getBook:output", tgt: "buzz.bookhive.getBook:output.owned", kind: "prop", name: Some("owned") }
Migration Guidance
Added Elements
AddedVertex { vertex_id: "buzz.bookhive.getBook:output.owned" }
Constraint Changes
- ConstraintTightened ConstraintTightened { vertex_id: "buzz.bookhive.getBook:output.status", sort: "knownValues", old_value: "[\"buzz.bookhive.defs#finished\",\"buzz.bookhive.defs#reading\",\"buzz.bookhive.defs#wantToRead\",\"buzz.bookhive.defs#abandoned\",\"buzz.bookhive.defs#owned\"]", new_value: "[\"buzz.bookhive.defs#finished\",\"buzz.bookhive.defs#reading\",\"buzz.bookhive.defs#wantToRead\",\"buzz.bookhive.defs#abandoned\"]" }
Additional Notes
- Non-breaking: AddedEdge { src: "buzz.bookhive.getBook:output", tgt: "buzz.bookhive.getBook:output.owned", kind: "prop", name: Some("owned") }
1
1
{
2
2
"$type": "com.atproto.lexicon.schema",
3
3
"defs": {
4
4
"main": {
5
5
"description": "Get a book's info. Does not require authentication.",
6
6
"output": {
7
7
"encoding": "application/json",
8
8
"schema": {
9
9
"properties": {
10
10
"activity": {
11
11
"description": "Other users' activity on the book",
12
12
"items": {
13
13
"ref": "buzz.bookhive.defs#activity",
14
14
"type": "ref"
15
15
},
16
16
"type": "array"
17
17
},
18
18
"book": {
19
19
"description": "The hive book's info",
20
20
"ref": "buzz.bookhive.hiveBook#main",
21
21
"type": "ref"
22
22
},
23
23
"bookProgress": {
24
24
"description": "Reading progress for the user",
25
25
"ref": "buzz.bookhive.defs#bookProgress",
26
26
"type": "ref"
27
27
},
28
28
"comments": {
29
29
"description": "Comments on the book",
30
30
"items": {
31
31
"ref": "buzz.bookhive.defs#comment",
32
32
"type": "ref"
33
33
},
34
34
"type": "array"
35
35
},
36
36
"cover": {
37
37
"accept": [
38
38
"image/png",
39
39
"image/jpeg"
40
40
],
41
41
"description": "Cover image of the book",
42
42
"maxSize": 1000000,
43
43
"type": "blob"
44
44
},
45
45
"createdAt": {
46
46
"format": "datetime",
47
47
"type": "string"
48
48
},
49
49
"finishedAt": {
50
50
"description": "The date the user finished reading the book",
51
51
"format": "datetime",
52
52
"type": "string"
53
53
},
54
+
"owned": {
55
+
"description": "Whether the user owns this book",
56
+
"type": "boolean"
57
+
},
54
58
"review": {
55
59
"description": "The book's review",
56
60
"maxGraphemes": 15000,
57
61
"type": "string"
58
62
},
59
63
"reviews": {
60
64
"description": "Reviews of the book",
61
65
"items": {
62
66
"ref": "buzz.bookhive.defs#review",
63
67
"type": "ref"
64
68
},
65
69
"type": "array"
66
70
},
67
71
"stars": {
68
72
"description": "Number of stars given to the book (1-10) which will be mapped to 1-5 stars",
69
73
"maximum": 10,
70
74
"minimum": 1,
71
75
"type": "integer"
72
76
},
73
77
"startedAt": {
74
78
"description": "The date the user started reading the book",
75
79
"format": "datetime",
76
80
"type": "string"
77
81
},
78
82
"status": {
79
83
"knownValues": [
80
84
"buzz.bookhive.defs#finished",
81
85
"buzz.bookhive.defs#reading",
82
86
"buzz.bookhive.defs#wantToRead",
83
-
"buzz.bookhive.defs#abandoned",
84
-
"buzz.bookhive.defs#owned"
87
+
"buzz.bookhive.defs#abandoned"
85
88
],
86
89
"type": "string"
87
90
}
88
91
},
89
92
"required": [
90
93
"book",
91
94
"reviews",
92
95
"comments"
93
96
],
94
97
"type": "object"
95
98
}
96
99
},
97
100
"parameters": {
98
101
"properties": {
99
102
"goodreadsId": {
100
103
"description": "The Goodreads identifier for the book",
101
104
"type": "string"
102
105
},
103
106
"id": {
104
107
"description": "The book's hive ID",
105
108
"type": "string"
106
109
},
107
-
"isbn": {
108
-
"description": "The book ISBN identifier",
110
+
"isbn10": {
111
+
"description": "The book ISBN-10 identifier",
109
112
"type": "string"
110
113
},
111
114
"isbn13": {
112
115
"description": "The book ISBN-13 identifier",
113
116
"type": "string"
114
117
}
115
118
},
116
119
"type": "params"
117
120
},
118
121
"type": "query"
119
122
}
120
123
},
121
124
"id": "buzz.bookhive.getBook",
122
125
"lexicon": 1
123
126
}