app.winesky.collectionItem

winesky.app

Schema Diff

+21 -0

From

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

To

CID
bafyreig2alim5p2...
Indexed At
2026-08-05 20:48 UTC
View this version

Compatibility Analysis

Breaking Changes Detected

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

Compare Other Versions

Lexicon Garden

@