app.fitsky.profile

thatsit.dev

Schema Diff

+19 -0

From

CID
bafyreifs62w5hk5...
Indexed At
2026-02-22 23:02 UTC
View this version

To

CID
bafyreigdmx2un24...
Indexed At
2026-03-10 00:36 UTC
View this version

Compatibility Analysis

Backward Compatible

Backward compatible. 8 non-breaking changes.

Non-Breaking Changes (8)
  • AddedVertex AddedVertex { vertex_id: "app.fitsky.profile:body.dateOfBirth" }
  • AddedVertex AddedVertex { vertex_id: "app.fitsky.profile:body.heightCm" }
  • AddedVertex AddedVertex { vertex_id: "app.fitsky.profile:body.publicProfile" }
  • AddedVertex AddedVertex { vertex_id: "app.fitsky.profile:body.weightGrams" }
  • AddedEdge AddedEdge { src: "app.fitsky.profile:body", tgt: "app.fitsky.profile:body.dateOfBirth", kind: "prop", name: Some("dateOfBirth") }
  • AddedEdge AddedEdge { src: "app.fitsky.profile:body", tgt: "app.fitsky.profile:body.heightCm", kind: "prop", name: Some("heightCm") }
  • AddedEdge AddedEdge { src: "app.fitsky.profile:body", tgt: "app.fitsky.profile:body.publicProfile", kind: "prop", name: Some("publicProfile") }
  • AddedEdge AddedEdge { src: "app.fitsky.profile:body", tgt: "app.fitsky.profile:body.weightGrams", kind: "prop", name: Some("weightGrams") }

Migration Guidance

Added Elements

  • AddedVertex { vertex_id: "app.fitsky.profile:body.dateOfBirth" }
  • AddedVertex { vertex_id: "app.fitsky.profile:body.heightCm" }
  • AddedVertex { vertex_id: "app.fitsky.profile:body.publicProfile" }
  • AddedVertex { vertex_id: "app.fitsky.profile:body.weightGrams" }

Additional Notes

  • Non-breaking: AddedEdge { src: "app.fitsky.profile:body", tgt: "app.fitsky.profile:body.dateOfBirth", kind: "prop", name: Some("dateOfBirth") }
  • Non-breaking: AddedEdge { src: "app.fitsky.profile:body", tgt: "app.fitsky.profile:body.heightCm", kind: "prop", name: Some("heightCm") }
  • Non-breaking: AddedEdge { src: "app.fitsky.profile:body", tgt: "app.fitsky.profile:body.publicProfile", kind: "prop", name: Some("publicProfile") }
  • Non-breaking: AddedEdge { src: "app.fitsky.profile:body", tgt: "app.fitsky.profile:body.weightGrams", kind: "prop", name: Some("weightGrams") }
1 1
{
2 2
  "$type": "com.atproto.lexicon.schema",
3 3
  "defs": {
4 4
    "main": {
5 5
      "description": "A FitSky-specific user profile with custom banner and bio",
6 6
      "key": "literal:self",
7 7
      "record": {
8 8
        "properties": {
9 9
          "banner": {
10 10
            "accept": [
11 11
              "image/png",
12 12
              "image/jpeg",
13 13
              "image/webp"
14 14
            ],
15 15
            "description": "Custom FitSky banner image. Falls back to Bluesky banner if not set.",
16 16
            "maxSize": 1000000,
17 17
            "type": "blob"
18 18
          },
19 19
          "bio": {
20 20
            "description": "FitSky-specific bio text",
21 21
            "maxGraphemes": 256,
22 22
            "maxLength": 2560,
23 23
            "type": "string"
24 24
          },
25 25
          "createdAt": {
26 26
            "format": "datetime",
27 27
            "type": "string"
28 28
          },
29 +
          "dateOfBirth": {
30 +
            "description": "User's date of birth (ISO 8601). Used for max HR calculation.",
31 +
            "format": "datetime",
32 +
            "type": "string"
33 +
          },
34 +
          "heightCm": {
35 +
            "description": "Height in centimeters",
36 +
            "minimum": 0,
37 +
            "type": "integer"
38 +
          },
39 +
          "publicProfile": {
40 +
            "description": "Whether workout detail pages are publicly viewable without authentication",
41 +
            "type": "boolean"
42 +
          },
29 43
          "unitSystem": {
30 44
            "description": "User's preferred unit system",
31 45
            "knownValues": [
32 46
              "metric",
33 47
              "imperial"
34 48
            ],
35 49
            "maxLength": 64,
36 50
            "type": "string"
51 +
          },
52 +
          "weightGrams": {
53 +
            "description": "Weight in grams",
54 +
            "minimum": 0,
55 +
            "type": "integer"
37 56
          }
38 57
        },
39 58
        "type": "object"
40 59
      },
41 60
      "type": "record"
42 61
    }
43 62
  },
44 63
  "id": "app.fitsky.profile",
45 64
  "lexicon": 1
46 65
}

Compare Other Versions

Lexicon Garden

@