buzz.bookhive.book

bookhive.buzz

Schema Diff

+14 -2

From

CID
bafyreiduepslib7...
Indexed At
2026-02-18 18:43 UTC
View this version

To

CID
bafyreialscgpknm...
Indexed At
2026-03-25 09:46 UTC
View this version

Compatibility Analysis

Backward Compatible

Backward compatible. 6 non-breaking changes.

Non-Breaking Changes (6)
  • AddedVertex AddedVertex { vertex_id: "buzz.bookhive.book:body.hiveBookUri" }
  • AddedVertex AddedVertex { vertex_id: "buzz.bookhive.book:body.identifiers" }
  • AddedVertex AddedVertex { vertex_id: "buzz.bookhive.book:body.owned" }
  • AddedEdge AddedEdge { src: "buzz.bookhive.book:body", tgt: "buzz.bookhive.book:body.hiveBookUri", kind: "prop", name: Some("hiveBookUri") }
  • AddedEdge AddedEdge { src: "buzz.bookhive.book:body", tgt: "buzz.bookhive.book:body.identifiers", kind: "prop", name: Some("identifiers") }
  • AddedEdge AddedEdge { src: "buzz.bookhive.book:body", tgt: "buzz.bookhive.book:body.owned", kind: "prop", name: Some("owned") }

Migration Guidance

Added Elements

  • AddedVertex { vertex_id: "buzz.bookhive.book:body.hiveBookUri" }
  • AddedVertex { vertex_id: "buzz.bookhive.book:body.identifiers" }
  • AddedVertex { vertex_id: "buzz.bookhive.book:body.owned" }

Additional Notes

  • Non-breaking: AddedEdge { src: "buzz.bookhive.book:body", tgt: "buzz.bookhive.book:body.hiveBookUri", kind: "prop", name: Some("hiveBookUri") }
  • Non-breaking: AddedEdge { src: "buzz.bookhive.book:body", tgt: "buzz.bookhive.book:body.identifiers", kind: "prop", name: Some("identifiers") }
  • Non-breaking: AddedEdge { src: "buzz.bookhive.book:body", tgt: "buzz.bookhive.book:body.owned", kind: "prop", name: Some("owned") }
1 1
{
2 2
  "id": "buzz.bookhive.book",
3 3
  "defs": {
4 4
    "main": {
5 5
      "key": "tid",
6 6
      "type": "record",
7 7
      "record": {
8 8
        "type": "object",
9 9
        "required": [
10 10
          "title",
11 11
          "authors",
12 12
          "hiveId",
13 13
          "createdAt"
14 14
        ],
15 15
        "properties": {
16 16
          "cover": {
17 17
            "type": "blob",
18 18
            "accept": [
19 19
              "image/png",
20 20
              "image/jpeg"
21 21
            ],
22 22
            "maxSize": 1000000,
23 23
            "description": "Cover image of the book"
24 24
          },
25 +
          "owned": {
26 +
            "type": "boolean",
27 +
            "description": "Whether the user owns this book"
28 +
          },
25 29
          "stars": {
26 30
            "type": "integer",
27 31
            "maximum": 10,
28 32
            "minimum": 1,
29 33
            "description": "Number of stars given to the book (1-10) which will be mapped to 1-5 stars"
30 34
          },
31 35
          "title": {
32 36
            "type": "string",
33 37
            "maxLength": 512,
34 38
            "minLength": 1,
35 39
            "description": "The title of the book"
36 40
          },
37 41
          "hiveId": {
38 42
            "type": "string",
39 43
            "description": "The book's hive id, used to correlate user's books with the hive"
40 44
          },
41 45
          "review": {
42 46
            "type": "string",
43 47
            "description": "The book's review",
44 48
            "maxGraphemes": 15000
45 49
          },
46 50
          "status": {
47 51
            "type": "string",
48 52
            "knownValues": [
49 53
              "buzz.bookhive.defs#finished",
50 54
              "buzz.bookhive.defs#reading",
51 55
              "buzz.bookhive.defs#wantToRead",
52 -
              "buzz.bookhive.defs#abandoned",
53 -
              "buzz.bookhive.defs#owned"
56 +
              "buzz.bookhive.defs#abandoned"
54 57
            ]
55 58
          },
56 59
          "authors": {
57 60
            "type": "string",
58 61
            "maxLength": 2048,
59 62
            "minLength": 1,
60 63
            "description": "The authors of the book (tab separated)"
61 64
          },
62 65
          "createdAt": {
63 66
            "type": "string",
64 67
            "format": "datetime"
65 68
          },
66 69
          "startedAt": {
67 70
            "type": "string",
68 71
            "format": "datetime",
69 72
            "description": "The date the user started reading the book"
70 73
          },
71 74
          "finishedAt": {
72 75
            "type": "string",
73 76
            "format": "datetime",
74 77
            "description": "The date the user finished reading the book"
75 78
          },
79 +
          "hiveBookUri": {
80 +
            "type": "string",
81 +
            "description": "AT-URI of the canonical catalogBook record in @bookhive.buzz"
82 +
          },
83 +
          "identifiers": {
84 +
            "ref": "buzz.bookhive.defs#bookIdentifiers",
85 +
            "type": "ref",
86 +
            "description": "External identifiers for the book"
87 +
          },
76 88
          "bookProgress": {
77 89
            "ref": "buzz.bookhive.defs#bookProgress",
78 90
            "type": "ref",
79 91
            "description": "Progress tracking details for the book"
80 92
          }
81 93
        }
82 94
      },
83 95
      "description": "A book in the user's library"
84 96
    }
85 97
  },
86 98
  "$type": "com.atproto.lexicon.schema",
87 99
  "lexicon": 1
88 100
}

Compare Other Versions

Lexicon Garden

@