app.winesky.collectionItem

winesky.app

Schema Diff

+25 -0

From

CID
bafyreigwi4t3nhv...
Indexed At
2026-05-22 12:30 UTC
View this version

To

CID
bafyreicg34o2kd2...
Indexed At
2026-08-10 15:45 UTC
View this version

Compatibility Analysis

Breaking Changes Detected

2 breaking changes, 9 non-breaking changes.

Breaking Changes (2)
  • RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "app.winesky.collectionItem#strongRef", src: "app.winesky.collectionItem#strongRef", tgt: "app.winesky.collectionItem#strongRef.cid", kind: "prop", name: Some("cid") }
  • RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "app.winesky.collectionItem#strongRef", src: "app.winesky.collectionItem#strongRef", tgt: "app.winesky.collectionItem#strongRef.atUri", kind: "prop", name: Some("atUri") }
Non-Breaking Changes (9)
  • AddedVertex AddedVertex { vertex_id: "app.winesky.collectionItem#strongRef" }
  • AddedVertex AddedVertex { vertex_id: "app.winesky.collectionItem#strongRef.atUri" }
  • AddedVertex AddedVertex { vertex_id: "app.winesky.collectionItem#strongRef.cid" }
  • AddedVertex AddedVertex { vertex_id: "app.winesky.collectionItem:body.imageSet" }
  • AddedVertex AddedVertex { vertex_id: "app.winesky.collectionItem:body.review" }
  • AddedEdge AddedEdge { src: "app.winesky.collectionItem:body", tgt: "app.winesky.collectionItem:body.imageSet", kind: "prop", name: Some("imageSet") }
  • AddedEdge AddedEdge { src: "app.winesky.collectionItem:body", tgt: "app.winesky.collectionItem:body.review", kind: "prop", name: Some("review") }
  • AddedEdge AddedEdge { src: "app.winesky.collectionItem:body.imageSet", tgt: "app.winesky.collectionItem#strongRef", kind: "ref", name: None }
  • AddedEdge AddedEdge { src: "app.winesky.collectionItem:body.review", tgt: "app.winesky.collectionItem#strongRef", kind: "ref", name: None }

Migration Guidance

Added Elements

  • AddedVertex { vertex_id: "app.winesky.collectionItem#strongRef" }
  • AddedVertex { vertex_id: "app.winesky.collectionItem#strongRef.atUri" }
  • AddedVertex { vertex_id: "app.winesky.collectionItem#strongRef.cid" }
  • AddedVertex { vertex_id: "app.winesky.collectionItem:body.imageSet" }
  • AddedVertex { vertex_id: "app.winesky.collectionItem:body.review" }

Additional Notes

  • Breaking: RequiredEdgeAdded { vertex_id: "app.winesky.collectionItem#strongRef", src: "app.winesky.collectionItem#strongRef", tgt: "app.winesky.collectionItem#strongRef.cid", kind: "prop", name: Some("cid") }
  • Breaking: RequiredEdgeAdded { vertex_id: "app.winesky.collectionItem#strongRef", src: "app.winesky.collectionItem#strongRef", tgt: "app.winesky.collectionItem#strongRef.atUri", kind: "prop", name: Some("atUri") }
  • Non-breaking: AddedEdge { src: "app.winesky.collectionItem:body", tgt: "app.winesky.collectionItem:body.imageSet", kind: "prop", name: Some("imageSet") }
  • Non-breaking: AddedEdge { src: "app.winesky.collectionItem:body", tgt: "app.winesky.collectionItem:body.review", kind: "prop", name: Some("review") }
  • Non-breaking: AddedEdge { src: "app.winesky.collectionItem:body.imageSet", tgt: "app.winesky.collectionItem#strongRef", kind: "ref", name: None }
  • Non-breaking: AddedEdge { src: "app.winesky.collectionItem:body.review", tgt: "app.winesky.collectionItem#strongRef", kind: "ref", name: None }
1 1
{
2 2
  "$type": "com.atproto.lexicon.schema",
3 3
  "defs": {
4 4
    "drink": {
5 5
      "properties": {
6 6
        "alcoholContent": {
7 7
          "maximum": 1000,
8 8
          "minimum": 0,
9 9
          "type": "integer"
10 10
        },
11 11
        "appellation": {
12 12
          "maxLength": 256,
13 13
          "type": "string"
14 14
        },
15 15
        "category": {
16 16
          "enum": [
17 17
            "BEER",
18 18
            "WINE",
19 19
            "SPIRIT",
20 20
            "CIDER",
21 21
            "RTD",
22 22
            "SAKE",
23 23
            "OTHER"
24 24
          ],
25 25
          "maxLength": 64,
26 26
          "type": "string"
27 27
        },
28 28
        "country": {
29 29
          "maxLength": 128,
30 30
          "type": "string"
31 31
        },
32 32
        "drinkId": {
33 33
          "maxLength": 64,
34 34
          "type": "string"
35 35
        },
36 36
        "name": {
37 37
          "maxLength": 512,
38 38
          "type": "string"
39 39
        },
40 40
        "producer": {
41 41
          "maxLength": 512,
42 42
          "type": "string"
43 43
        },
44 44
        "region": {
45 45
          "maxLength": 256,
46 46
          "type": "string"
47 47
        },
48 48
        "varietals": {
49 49
          "items": {
50 50
            "maxLength": 128,
51 51
            "type": "string"
52 52
          },
53 53
          "type": "array"
54 54
        },
55 55
        "vintage": {
56 56
          "type": "integer"
57 57
        }
58 58
      },
59 59
      "required": [
60 60
        "category",
61 61
        "country",
62 62
        "producer",
63 63
        "name"
64 64
      ],
65 65
      "type": "object"
66 66
    },
67 67
    "main": {
68 68
      "description": "A drink in a user's Collection. References the parent Collection via at-uri and embeds the drink description.",
69 69
      "key": "tid",
70 70
      "record": {
71 71
        "properties": {
72 72
          "collection": {
73 73
            "format": "at-uri",
74 74
            "type": "string"
75 75
          },
76 76
          "createdAt": {
77 77
            "format": "datetime",
78 78
            "type": "string"
79 79
          },
80 80
          "drink": {
81 81
            "ref": "#drink",
82 82
            "type": "ref"
83 +
          },
84 +
          "imageSet": {
85 +
            "ref": "#strongRef",
86 +
            "type": "ref"
87 +
          },
88 +
          "review": {
89 +
            "ref": "#strongRef",
90 +
            "type": "ref"
83 91
          }
84 92
        },
85 93
        "required": [
86 94
          "collection",
87 95
          "drink",
88 96
          "createdAt"
89 97
        ],
90 98
        "type": "object"
91 99
      },
92 100
      "type": "record"
101 +
    },
102 +
    "strongRef": {
103 +
      "properties": {
104 +
        "atUri": {
105 +
          "format": "at-uri",
106 +
          "type": "string"
107 +
        },
108 +
        "cid": {
109 +
          "format": "cid",
110 +
          "type": "string"
111 +
        }
112 +
      },
113 +
      "required": [
114 +
        "cid",
115 +
        "atUri"
116 +
      ],
117 +
      "type": "object"
93 118
    }
94 119
  },
95 120
  "id": "app.winesky.collectionItem",
96 121
  "lexicon": 1
97 122
}

Compare Other Versions

Lexicon Garden

@