dev.roe.location
Schema Diff
+5 -24
Compatibility Analysis
Breaking Changes Detected
9 breaking changes, 3 non-breaking changes.
Breaking Changes (9)
- RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "dev.roe.location:body", src: "dev.roe.location:body", tgt: "dev.roe.location:body.address", kind: "prop", name: Some("address") }
- RequiredEdgeRemoved RequiredEdgeRemoved { vertex_id: "dev.roe.location:body", src: "dev.roe.location:body", tgt: "dev.roe.location:body.countryCode", kind: "prop", name: Some("countryCode") }
- RequiredEdgeRemoved RequiredEdgeRemoved { vertex_id: "dev.roe.location:body", src: "dev.roe.location:body", tgt: "dev.roe.location:body.city", kind: "prop", name: Some("city") }
- RequiredEdgeRemoved RequiredEdgeRemoved { vertex_id: "dev.roe.location:body", src: "dev.roe.location:body", tgt: "dev.roe.location:body.country", kind: "prop", name: Some("country") }
- RemovedVertex RemovedVertex { vertex_id: "dev.roe.location:body.city" }
- RemovedVertex RemovedVertex { vertex_id: "dev.roe.location:body.country" }
- RemovedVertex RemovedVertex { vertex_id: "dev.roe.location:body.countryCode" }
- RemovedVertex RemovedVertex { vertex_id: "dev.roe.location:body.region" }
- RemovedEdge RemovedEdge { src: "dev.roe.location:body", tgt: "dev.roe.location:body.region", kind: "prop", name: Some("region") }
Non-Breaking Changes (3)
- AddedVertex AddedVertex { vertex_id: "community.lexicon.location.address" }
- AddedVertex AddedVertex { vertex_id: "dev.roe.location:body.address" }
- AddedEdge AddedEdge { src: "dev.roe.location:body.address", tgt: "community.lexicon.location.address", kind: "ref", name: None }
Migration Guidance
Removed Elements
RemovedVertex { vertex_id: "dev.roe.location:body.city" }RemovedVertex { vertex_id: "dev.roe.location:body.country" }RemovedVertex { vertex_id: "dev.roe.location:body.countryCode" }RemovedVertex { vertex_id: "dev.roe.location:body.region" }
Added Elements
AddedVertex { vertex_id: "community.lexicon.location.address" }AddedVertex { vertex_id: "dev.roe.location:body.address" }
Additional Notes
- Breaking: RequiredEdgeAdded { vertex_id: "dev.roe.location:body", src: "dev.roe.location:body", tgt: "dev.roe.location:body.address", kind: "prop", name: Some("address") }
- Breaking: RequiredEdgeRemoved { vertex_id: "dev.roe.location:body", src: "dev.roe.location:body", tgt: "dev.roe.location:body.countryCode", kind: "prop", name: Some("countryCode") }
- Breaking: RequiredEdgeRemoved { vertex_id: "dev.roe.location:body", src: "dev.roe.location:body", tgt: "dev.roe.location:body.city", kind: "prop", name: Some("city") }
- Breaking: RequiredEdgeRemoved { vertex_id: "dev.roe.location:body", src: "dev.roe.location:body", tgt: "dev.roe.location:body.country", kind: "prop", name: Some("country") }
- Breaking: RemovedEdge { src: "dev.roe.location:body", tgt: "dev.roe.location:body.region", kind: "prop", name: Some("region") }
- Non-breaking: AddedEdge { src: "dev.roe.location:body.address", tgt: "community.lexicon.location.address", kind: "ref", name: None }
1
1
{
2
2
"$type": "com.atproto.lexicon.schema",
3
3
"defs": {
4
4
"main": {
5
5
"description": "Current location (singleton; rkey is always 'self').",
6
6
"key": "literal:self",
7
7
"record": {
8
8
"properties": {
9
-
"city": {
10
-
"maxGraphemes": 256,
11
-
"maxLength": 2560,
12
-
"type": "string"
13
-
},
14
-
"country": {
15
-
"maxGraphemes": 256,
16
-
"maxLength": 2560,
17
-
"type": "string"
18
-
},
19
-
"countryCode": {
20
-
"description": "ISO 3166-1 alpha-2 country code, uppercase. Used to compute a flag emoji.",
21
-
"maxLength": 2,
22
-
"minLength": 2,
23
-
"type": "string"
9
+
"address": {
10
+
"description": "Where I am: `locality` is the city, `region` the state/subdivision (used to special-case Scotland), `country` the ISO 3166-1 alpha-2 code (used to compute a flag emoji).",
11
+
"ref": "community.lexicon.location.address",
12
+
"type": "ref"
24
13
},
25
14
"createdAt": {
26
15
"format": "datetime",
27
16
"type": "string"
28
17
},
29
18
"meetupAvailable": {
30
19
"default": true,
31
20
"type": "boolean"
32
-
},
33
-
"region": {
34
-
"description": "Region/state. Used to special-case Scotland and US/UK subdivisions on the public site.",
35
-
"maxGraphemes": 256,
36
-
"maxLength": 2560,
37
-
"type": "string"
38
21
}
39
22
},
40
23
"required": [
41
-
"city",
42
-
"country",
43
-
"countryCode",
24
+
"address",
44
25
"createdAt"
45
26
],
46
27
"type": "object"
47
28
},
48
29
"type": "record"
49
30
}
50
31
},
51
32
"id": "dev.roe.location",
52
33
"lexicon": 1
53
34
}