org.passingreads.book.defs

passingreads.org

Schema Diff

+0 -3

From

CID
bafyreigoy475bzu...
Indexed At
2026-01-29 02:29 UTC
View this version

To

CID
bafyreigpfalxftz...
Indexed At
2026-02-07 23:13 UTC
View this version
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
}

Compare Other Versions

Lexicon Garden

@