cards.sunshine.card
Schema Diff
+22 -1
Compatibility Analysis
Backward Compatible
Backward compatible. 8 non-breaking changes.
Non-Breaking Changes (8)
- AddedVertex AddedVertex { vertex_id: "cards.sunshine.card:body.collection" }
- AddedVertex AddedVertex { vertex_id: "cards.sunshine.card:body.colors" }
- AddedVertex AddedVertex { vertex_id: "cards.sunshine.card:body.colors:items" }
- AddedVertex AddedVertex { vertex_id: "cards.sunshine.card:body.heteroriented" }
- AddedEdge AddedEdge { src: "cards.sunshine.card:body", tgt: "cards.sunshine.card:body.collection", kind: "prop", name: Some("collection") }
- AddedEdge AddedEdge { src: "cards.sunshine.card:body", tgt: "cards.sunshine.card:body.colors", kind: "prop", name: Some("colors") }
- AddedEdge AddedEdge { src: "cards.sunshine.card:body", tgt: "cards.sunshine.card:body.heteroriented", kind: "prop", name: Some("heteroriented") }
- AddedEdge AddedEdge { src: "cards.sunshine.card:body.colors", tgt: "cards.sunshine.card:body.colors:items", kind: "items", name: None }
Migration Guidance
Added Elements
AddedVertex { vertex_id: "cards.sunshine.card:body.collection" }AddedVertex { vertex_id: "cards.sunshine.card:body.colors" }AddedVertex { vertex_id: "cards.sunshine.card:body.colors:items" }AddedVertex { vertex_id: "cards.sunshine.card:body.heteroriented" }
Additional Notes
- Non-breaking: AddedEdge { src: "cards.sunshine.card:body", tgt: "cards.sunshine.card:body.collection", kind: "prop", name: Some("collection") }
- Non-breaking: AddedEdge { src: "cards.sunshine.card:body", tgt: "cards.sunshine.card:body.colors", kind: "prop", name: Some("colors") }
- Non-breaking: AddedEdge { src: "cards.sunshine.card:body", tgt: "cards.sunshine.card:body.heteroriented", kind: "prop", name: Some("heteroriented") }
- Non-breaking: AddedEdge { src: "cards.sunshine.card:body.colors", tgt: "cards.sunshine.card:body.colors:items", kind: "items", name: None }
1
1
{
2
2
"$type": "com.atproto.lexicon.schema",
3
3
"defs": {
4
4
"main": {
5
5
"description": "A Sunshine Card's public details. The record key is the card's UID.",
6
6
"key": "any",
7
7
"record": {
8
8
"properties": {
9
9
"back": {
10
10
"accept": [
11
11
"image/*"
12
12
],
13
13
"maxSize": 1000000,
14
14
"type": "blob"
15
15
},
16
+
"collection": {
17
+
"description": "The name of the collection this card is part of, like 'Autumn Market 2026'. Collections belong to the card's creator: two creators' collections with the same name are different collections.",
18
+
"maxGraphemes": 64,
19
+
"maxLength": 640,
20
+
"type": "string"
21
+
},
22
+
"colors": {
23
+
"description": "The card's colours, most prominent first, each an sRGB hex colour like #f4b400.",
24
+
"items": {
25
+
"maxLength": 7,
26
+
"minLength": 7,
27
+
"type": "string"
28
+
},
29
+
"maxLength": 3,
30
+
"type": "array"
31
+
},
16
32
"counter": {
17
33
"description": "The tag's read counter at the last accepted tap.",
18
34
"maximum": 16777215,
19
35
"minimum": 0,
20
36
"type": "integer"
21
37
},
22
38
"front": {
23
39
"accept": [
24
40
"image/*"
25
41
],
26
42
"maxSize": 1000000,
27
43
"type": "blob"
28
44
},
45
+
"heteroriented": {
46
+
"default": false,
47
+
"description": "Whether the back is the opposite orientation to the front (true) or the same orientation (false).",
48
+
"type": "boolean"
49
+
},
29
50
"record": {
30
51
"description": "An associated record, embedded whole.",
31
52
"type": "unknown"
32
53
},
33
54
"uid": {
34
55
"description": "The tag's serial number, as 14 upper-case hex characters.",
35
56
"maxLength": 14,
36
57
"minLength": 14,
37
58
"type": "string"
38
59
},
39
60
"url": {
40
-
"description": "Where the creator posts about this card.",
61
+
"description": "The URL anyone can visit when looking at this card collected in someone's account. It may be the same as the URL in the card's NFC (NDEF) record, or something different.",
41
62
"format": "uri",
42
63
"type": "string"
43
64
}
44
65
},
45
66
"required": [
46
67
"uid",
47
68
"counter",
48
69
"url"
49
70
],
50
71
"type": "object"
51
72
},
52
73
"type": "record"
53
74
}
54
75
},
55
76
"id": "cards.sunshine.card",
56
77
"lexicon": 1
57
78
}