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
"id": "dev.roe.location",
3
3
"defs": {
4
4
"main": {
5
5
"key": "literal:self",
6
6
"type": "record",
7
7
"record": {
8
8
"type": "object",
9
9
"required": [
10
-
"city",
11
-
"country",
12
-
"countryCode",
10
+
"address",
13
11
"createdAt"
14
12
],
15
13
"properties": {
16
-
"city": {
17
-
"type": "string",
18
-
"maxLength": 2560,
19
-
"maxGraphemes": 256
20
-
},
21
-
"region": {
22
-
"type": "string",
23
-
"maxLength": 2560,
24
-
"description": "Region/state. Used to special-case Scotland and US/UK subdivisions on the public site.",
25
-
"maxGraphemes": 256
26
-
},
27
-
"country": {
28
-
"type": "string",
29
-
"maxLength": 2560,
30
-
"maxGraphemes": 256
14
+
"address": {
15
+
"ref": "community.lexicon.location.address",
16
+
"type": "ref",
17
+
"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)."
31
18
},
32
19
"createdAt": {
33
20
"type": "string",
34
21
"format": "datetime"
35
-
},
36
-
"countryCode": {
37
-
"type": "string",
38
-
"maxLength": 2,
39
-
"minLength": 2,
40
-
"description": "ISO 3166-1 alpha-2 country code, uppercase. Used to compute a flag emoji."
41
22
},
42
23
"meetupAvailable": {
43
24
"type": "boolean",
44
25
"default": true
45
26
}
46
27
}
47
28
},
48
29
"description": "Current location (singleton; rkey is always 'self')."
49
30
}
50
31
},
51
32
"$type": "com.atproto.lexicon.schema",
52
33
"lexicon": 1
53
34
}