xyz.opnshelf.review

opnshelf.xyz

Schema Diff

+4 -0

From

CID
bafyreiag5ond7ge...
Indexed At
2026-07-26 20:10 UTC
View this version

To

CID
bafyreihwhgt22ig...
Indexed At
2026-08-18 17:25 UTC
View this version

Compatibility Analysis

Backward Compatible

Backward compatible. 2 non-breaking changes.

Non-Breaking Changes (2)
  • AddedVertex AddedVertex { vertex_id: "xyz.opnshelf.review:body.spoiler" }
  • AddedEdge AddedEdge { src: "xyz.opnshelf.review:body", tgt: "xyz.opnshelf.review:body.spoiler", kind: "prop", name: Some("spoiler") }

Migration Guidance

Added Elements

  • AddedVertex { vertex_id: "xyz.opnshelf.review:body.spoiler" }

Additional Notes

  • Non-breaking: AddedEdge { src: "xyz.opnshelf.review:body", tgt: "xyz.opnshelf.review:body.spoiler", kind: "prop", name: Some("spoiler") }
1 1
{
2 2
  "id": "xyz.opnshelf.review",
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
          "mediaType",
11 11
          "mediaId",
12 12
          "title",
13 13
          "content",
14 14
          "createdAt"
15 15
        ],
16 16
        "properties": {
17 17
          "title": {
18 18
            "type": "string",
19 19
            "maxLength": 3000,
20 20
            "description": "Review title",
21 21
            "maxGraphemes": 300
22 22
          },
23 23
          "content": {
24 24
            "type": "string",
25 25
            "maxLength": 100000,
26 26
            "description": "Review body as markdown source",
27 27
            "maxGraphemes": 20000
28 28
          },
29 29
          "mediaId": {
30 30
            "type": "string",
31 31
            "description": "TMDB movie ID or show ID"
32 32
          },
33 +
          "spoiler": {
34 +
            "type": "boolean",
35 +
            "description": "True when the body contains spoilers for the reviewed media item. The title is outside the spoiler boundary and must remain spoiler-free."
36 +
          },
33 37
          "createdAt": {
34 38
            "type": "string",
35 39
            "format": "datetime",
36 40
            "description": "Record creation timestamp"
37 41
          },
38 42
          "mediaType": {
39 43
            "enum": [
40 44
              "movie",
41 45
              "show",
42 46
              "season",
43 47
              "episode"
44 48
            ],
45 49
            "type": "string",
46 50
            "description": "Media type"
47 51
          },
48 52
          "updatedAt": {
49 53
            "type": "string",
50 54
            "format": "datetime",
51 55
            "description": "Last edit timestamp"
52 56
          },
53 57
          "seasonNumber": {
54 58
            "type": "integer",
55 59
            "description": "Season number for season/episode items"
56 60
          },
57 61
          "episodeNumber": {
58 62
            "type": "integer",
59 63
            "description": "Episode number for episode items"
60 64
          }
61 65
        }
62 66
      },
63 67
      "description": "A user's long-form textual review of a media item. Carries no numeric score (that is a separate xyz.opnshelf.rating). Zero-or-many per media item per user."
64 68
    }
65 69
  },
66 70
  "$type": "com.atproto.lexicon.schema",
67 71
  "lexicon": 1
68 72
}

Compare Other Versions

Lexicon Garden

@