org.passingreads.book.defs
Schema Diff
+0 -3
1
1
{
2
2
"id": "org.passingreads.book.defs",
3
3
"defs": {
4
4
"statefulBook": {
5
5
"type": "object",
6
6
"required": [
7
7
"uri",
8
8
"cid",
9
9
"registration",
10
10
"state",
11
11
"currentHolder"
12
12
],
13
13
"properties": {
14
14
"cid": {
15
15
"type": "string",
16
16
"description": "The CID of the book registration record"
17
17
},
18
18
"uri": {
19
19
"type": "string",
20
20
"format": "at-uri",
21
21
"description": "The AT URI of the book registration record"
22
22
},
23
23
"state": {
24
24
"type": "string",
25
25
"description": "The current state of the book, derived from the latest event",
26
26
"knownValues": [
27
27
"org.passingreads.book.registration",
28
28
"org.passingreads.book.drop",
29
29
"org.passingreads.book.find"
30
30
]
31
31
},
32
32
"events": {
33
33
"type": "array",
34
34
"items": {
35
35
"ref": "#confirmedEvent",
36
36
"type": "ref"
37
37
},
38
38
"description": "List of confirmed events for this book, in chronological order"
39
39
},
40
40
"coverUrl": {
41
41
"type": "string",
42
42
"format": "uri",
43
43
"description": "Resolved URL to the cover image (from the registration blob)"
44
44
},
45
45
"aspectRatio": {
46
46
"ref": "org.passingreads.defs#aspectRatio",
47
47
"type": "ref",
48
48
"description": "Aspect ratio of the cover image"
49
49
},
50
50
"registration": {
51
51
"ref": "#registrationView",
52
52
"type": "ref",
53
53
"description": "The book registration data (without cryptographic fields)"
54
54
},
55
55
"currentHolder": {
56
56
"type": "string",
57
57
"format": "did",
58
58
"description": "The DID of the current holder of the book"
59
59
},
60
60
"currentLocation": {
61
61
"ref": "community.lexicon.location.hthree#main",
62
62
"type": "ref",
63
63
"description": "The current location of the book (only present if state is 'org.passingreads.book.drop')"
64
64
}
65
65
},
66
66
"description": "A book with its current state, combining registration data with computed state information."
67
67
},
68
68
"confirmedEvent": {
69
69
"type": "object",
70
70
"required": [
71
71
"uri",
72
72
"did",
73
-
"handle",
74
73
"event",
75
74
"location",
76
75
"occurredAt"
77
76
],
78
77
"properties": {
79
78
"did": {
80
79
"type": "string",
81
80
"format": "did",
82
81
"description": "The DID of the person who performed this event"
83
82
},
84
83
"uri": {
85
84
"type": "string",
86
85
"format": "at-uri",
87
86
"description": "The AT URI of this event record"
88
87
},
89
88
"event": {
90
89
"type": "string",
91
90
"description": "What event occurred",
92
91
"knownValues": [
93
92
"org.passingreads.book.drop",
94
93
"org.passingreads.book.find"
95
94
]
96
95
},
97
96
"handle": {
98
97
"type": "string",
99
98
"format": "handle",
100
99
"description": "The handle of the person who performed this event"
101
100
},
102
101
"location": {
103
102
"ref": "community.lexicon.location.hthree#main",
104
103
"type": "ref",
105
104
"description": "Where this event occurred"
106
105
},
107
106
"occurredAt": {
108
107
"type": "string",
109
108
"format": "datetime",
110
109
"description": "When this event occurred"
111
110
}
112
111
},
113
112
"description": "A confirmed book event for display purposes. Omits cryptographic fields (bookPub, bookSig) and book reference since it's shown in context of a book."
114
113
},
115
114
"registrationView": {
116
115
"type": "object",
117
116
"required": [
118
117
"did",
119
-
"handle",
120
118
"bookId",
121
119
"title",
122
120
"authors",
123
-
"publicationId",
124
121
"occurredAt"
125
122
],
126
123
"properties": {
127
124
"did": {
128
125
"type": "string",
129
126
"format": "did",
130
127
"description": "The DID of the person who registered the book"
131
128
},
132
129
"title": {
133
130
"type": "string",
134
131
"description": "The title of the book"
135
132
},
136
133
"bookId": {
137
134
"type": "string",
138
135
"description": "The book's ID (as defined on its QR Code)"
139
136
},
140
137
"handle": {
141
138
"type": "string",
142
139
"format": "handle",
143
140
"description": "The handle of the person who registered the book"
144
141
},
145
142
"authors": {
146
143
"type": "array",
147
144
"items": {
148
145
"type": "string"
149
146
},
150
147
"description": "Authors of this book, in order of credit"
151
148
},
152
149
"occurredAt": {
153
150
"type": "string",
154
151
"format": "datetime",
155
152
"description": "When the book was registered"
156
153
},
157
154
"publicationId": {
158
155
"type": "string",
159
156
"description": "The book's Open Library Edition ID"
160
157
}
161
158
},
162
159
"description": "A view of a book registration for API responses. Omits cryptographic fields (bookPub, bookSig) and the cover blob."
163
160
}
164
161
},
165
162
"$type": "com.atproto.lexicon.schema",
166
163
"lexicon": 1
167
164
}