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

6 breaking changes, 6 non-breaking changes.

Breaking Changes (6)
  • 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") }
  • RemovedEdge RemovedEdge { src: "com.barryfrost.checkin:body.photos:items", tgt: "com.barryfrost.checkin:body.photos:items.image", kind: "prop", name: Some("image") }
  • KindChanged KindChanged { vertex_id: "com.barryfrost.checkin:body.photos:items", old_kind: "object", new_kind: "ref" }
  • ConstraintAdded ConstraintAdded { vertex_id: "com.barryfrost.checkin#photo.alt", sort: "maxLength", value: "1000" }
Non-Breaking Changes (6)
  • 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#photo", tgt: "com.barryfrost.checkin#photo.image", kind: "prop", name: Some("image") }
  • ConstraintRemoved ConstraintRemoved { vertex_id: "com.barryfrost.checkin:body.photos:items.alt", sort: "maxLength" }

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#photo.alt", sort: "maxLength", value: "1000" }
  • ConstraintRemoved ConstraintRemoved { vertex_id: "com.barryfrost.checkin:body.photos:items.alt", sort: "maxLength" }

Additional Notes

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

Compare Other Versions

Lexicon Garden

@