com.barryfrost.checkin

barryfrost.com

Schema Diff

+23 -19

From

CID
bafyreifb4k4mjhh...
Indexed At
2026-04-27 15:20 UTC
View this version

To

CID
bafyreifdixtovxb...
Indexed At
2026-04-27 15:31 UTC
View this version

Compatibility Analysis

Breaking Changes Detected

7 breaking changes, 5 non-breaking changes.

Breaking Changes (7)
  • RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "com.barryfrost.checkin#photo", src: "com.barryfrost.checkin#photo", tgt: "com.barryfrost.checkin#photo.image", kind: "prop", name: Some("image") }
  • RequiredEdgeRemoved RequiredEdgeRemoved { vertex_id: "com.barryfrost.checkin:body.photos:items", src: "com.barryfrost.checkin:body.photos:items", tgt: "com.barryfrost.checkin:body.photos:items.image", kind: "prop", name: Some("image") }
  • RemovedVertex RemovedVertex { vertex_id: "com.barryfrost.checkin:body.photos:items.alt" }
  • RemovedVertex RemovedVertex { vertex_id: "com.barryfrost.checkin:body.photos:items.image" }
  • RemovedEdge RemovedEdge { src: "com.barryfrost.checkin:body.photos:items", tgt: "com.barryfrost.checkin:body.photos:items.alt", kind: "prop", name: Some("alt") }
  • KindChanged KindChanged { vertex_id: "com.barryfrost.checkin:body.photos:items", old_kind: "object", new_kind: "ref" }
  • ConstraintAdded ConstraintAdded { vertex_id: "com.barryfrost.checkin:body.photos:items", sort: "ref", value: "#photo" }
Non-Breaking Changes (5)
  • AddedVertex AddedVertex { vertex_id: "com.barryfrost.checkin#photo" }
  • AddedVertex AddedVertex { vertex_id: "com.barryfrost.checkin#photo.alt" }
  • AddedVertex AddedVertex { vertex_id: "com.barryfrost.checkin#photo.image" }
  • AddedEdge AddedEdge { src: "com.barryfrost.checkin#photo", tgt: "com.barryfrost.checkin#photo.alt", kind: "prop", name: Some("alt") }
  • AddedEdge AddedEdge { src: "com.barryfrost.checkin:body.photos:items", tgt: "com.barryfrost.checkin#photo", kind: "ref", name: None }

Migration Guidance

Removed Elements

  • RemovedVertex { vertex_id: "com.barryfrost.checkin:body.photos:items.alt" }
  • RemovedVertex { vertex_id: "com.barryfrost.checkin:body.photos:items.image" }

Added Elements

  • AddedVertex { vertex_id: "com.barryfrost.checkin#photo" }
  • AddedVertex { vertex_id: "com.barryfrost.checkin#photo.alt" }
  • AddedVertex { vertex_id: "com.barryfrost.checkin#photo.image" }

Constraint Changes

  • ConstraintAdded ConstraintAdded { vertex_id: "com.barryfrost.checkin:body.photos:items", sort: "ref", value: "#photo" }

Additional Notes

  • Breaking: RequiredEdgeAdded { vertex_id: "com.barryfrost.checkin#photo", src: "com.barryfrost.checkin#photo", tgt: "com.barryfrost.checkin#photo.image", kind: "prop", name: Some("image") }
  • Breaking: RequiredEdgeRemoved { vertex_id: "com.barryfrost.checkin:body.photos:items", src: "com.barryfrost.checkin:body.photos:items", tgt: "com.barryfrost.checkin:body.photos:items.image", kind: "prop", name: Some("image") }
  • Breaking: RemovedEdge { src: "com.barryfrost.checkin:body.photos:items", tgt: "com.barryfrost.checkin:body.photos:items.alt", kind: "prop", name: Some("alt") }
  • Breaking: KindChanged { vertex_id: "com.barryfrost.checkin:body.photos:items", old_kind: "object", new_kind: "ref" }
  • Non-breaking: AddedEdge { src: "com.barryfrost.checkin#photo", tgt: "com.barryfrost.checkin#photo.alt", kind: "prop", name: Some("alt") }
  • Non-breaking: AddedEdge { src: "com.barryfrost.checkin:body.photos:items", tgt: "com.barryfrost.checkin#photo", kind: "ref", name: None }
1 1
{
2 2
  "$type": "com.atproto.lexicon.schema",
3 3
  "defs": {
4 4
    "main": {
5 5
      "description": "A physical location checkin on Foursquare/Swarm",
6 6
      "key": "tid",
7 7
      "record": {
8 8
        "properties": {
9 9
          "address": {
10 10
            "description": "Formatted venue address, e.g. \"123 High Street, London, UK\"",
11 11
            "maxLength": 500,
12 12
            "type": "string"
13 13
          },
14 14
          "category": {
15 15
            "description": "Primary Foursquare venue category, e.g. \"Coffee Shop\"",
16 16
            "maxLength": 100,
17 17
            "type": "string"
18 18
          },
19 19
          "createdAt": {
20 20
            "description": "ISO 8601 timestamp of the checkin",
21 21
            "format": "datetime",
22 22
            "type": "string"
23 23
          },
24 24
          "location": {
25 25
            "description": "The Foursquare place where the checkin occurred",
26 26
            "ref": "community.lexicon.location.fsq",
27 27
            "type": "ref"
28 28
          },
29 29
          "photos": {
30 30
            "description": "Photos taken at the checkin, uploaded as PDS blobs",
31 31
            "items": {
32 -
              "properties": {
33 -
                "alt": {
34 -
                  "maxLength": 1000,
35 -
                  "type": "string"
36 -
                },
37 -
                "image": {
38 -
                  "accept": [
39 -
                    "image/jpeg",
40 -
                    "image/png",
41 -
                    "image/webp"
42 -
                  ],
43 -
                  "maxSize": 1000000,
44 -
                  "type": "blob"
45 -
                }
46 -
              },
47 -
              "required": [
48 -
                "image"
49 -
              ],
50 -
              "type": "object"
32 +
              "ref": "#photo",
33 +
              "type": "ref"
51 34
            },
52 35
            "maxLength": 8,
53 36
            "type": "array"
54 37
          }
55 38
        },
56 39
        "required": [
57 40
          "createdAt",
58 41
          "location"
59 42
        ],
60 43
        "type": "object"
61 44
      },
62 45
      "type": "record"
46 +
    },
47 +
    "photo": {
48 +
      "properties": {
49 +
        "alt": {
50 +
          "maxLength": 1000,
51 +
          "type": "string"
52 +
        },
53 +
        "image": {
54 +
          "accept": [
55 +
            "image/jpeg",
56 +
            "image/png",
57 +
            "image/webp"
58 +
          ],
59 +
          "maxSize": 1000000,
60 +
          "type": "blob"
61 +
        }
62 +
      },
63 +
      "required": [
64 +
        "image"
65 +
      ],
66 +
      "type": "object"
63 67
    }
64 68
  },
65 69
  "id": "com.barryfrost.checkin",
66 70
  "lexicon": 1
67 71
}

Compare Other Versions

Lexicon Garden

@