cx.vmx.matadisco
Schema Diff
+42 -23
Compatibility Analysis
Breaking Changes Detected
13 breaking changes, 13 non-breaking changes.
Breaking Changes (13)
- RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "cx.vmx.matadisco:body", src: "cx.vmx.matadisco:body", tgt: "cx.vmx.matadisco:body.resource", kind: "prop", name: Some("resource") }
- RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "cx.vmx.matadisco:body", src: "cx.vmx.matadisco:body", tgt: "cx.vmx.matadisco:body.publishedAt", kind: "prop", name: Some("publishedAt") }
- RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "cx.vmx.matadisco#preview", src: "cx.vmx.matadisco#preview", tgt: "cx.vmx.matadisco#preview.mimeType", kind: "prop", name: Some("mimeType") }
- RequiredEdgeRemoved RequiredEdgeRemoved { vertex_id: "cx.vmx.matadisco:body", src: "cx.vmx.matadisco:body", tgt: "cx.vmx.matadisco:body.metadata", kind: "prop", name: Some("metadata") }
- RequiredEdgeRemoved RequiredEdgeRemoved { vertex_id: "cx.vmx.matadisco:body", src: "cx.vmx.matadisco:body", tgt: "cx.vmx.matadisco:body.created", kind: "prop", name: Some("created") }
- RequiredEdgeRemoved RequiredEdgeRemoved { vertex_id: "cx.vmx.matadisco:body.preview", src: "cx.vmx.matadisco:body.preview", tgt: "cx.vmx.matadisco:body.preview.mimeType", kind: "prop", name: Some("mimeType") }
- RequiredEdgeRemoved RequiredEdgeRemoved { vertex_id: "cx.vmx.matadisco:body.preview", src: "cx.vmx.matadisco:body.preview", tgt: "cx.vmx.matadisco:body.preview.url", kind: "prop", name: Some("url") }
- RemovedVertex RemovedVertex { vertex_id: "cx.vmx.matadisco:body.created" }
- RemovedVertex RemovedVertex { vertex_id: "cx.vmx.matadisco:body.metadata" }
- RemovedVertex RemovedVertex { vertex_id: "cx.vmx.matadisco:body.preview.mimeType" }
- RemovedVertex RemovedVertex { vertex_id: "cx.vmx.matadisco:body.preview.url" }
- KindChanged KindChanged { vertex_id: "cx.vmx.matadisco:body.preview", old_kind: "object", new_kind: "ref" }
- ConstraintAdded ConstraintAdded { vertex_id: "cx.vmx.matadisco:body.preview", sort: "ref", value: "#preview" }
Non-Breaking Changes (13)
- AddedVertex AddedVertex { vertex_id: "cx.vmx.matadisco#preview" }
- AddedVertex AddedVertex { vertex_id: "cx.vmx.matadisco#preview.mimeType" }
- AddedVertex AddedVertex { vertex_id: "cx.vmx.matadisco#preview.url" }
- AddedVertex AddedVertex { vertex_id: "cx.vmx.matadisco#tags" }
- AddedVertex AddedVertex { vertex_id: "cx.vmx.matadisco#tags:items" }
- AddedVertex AddedVertex { vertex_id: "cx.vmx.matadisco:body.publishedAt" }
- AddedVertex AddedVertex { vertex_id: "cx.vmx.matadisco:body.resource" }
- AddedVertex AddedVertex { vertex_id: "cx.vmx.matadisco:body.tags" }
- AddedEdge AddedEdge { src: "cx.vmx.matadisco#preview", tgt: "cx.vmx.matadisco#preview.url", kind: "prop", name: Some("url") }
- AddedEdge AddedEdge { src: "cx.vmx.matadisco#tags", tgt: "cx.vmx.matadisco#tags:items", kind: "items", name: None }
- AddedEdge AddedEdge { src: "cx.vmx.matadisco:body", tgt: "cx.vmx.matadisco:body.tags", kind: "prop", name: Some("tags") }
- AddedEdge AddedEdge { src: "cx.vmx.matadisco:body.preview", tgt: "cx.vmx.matadisco#preview", kind: "ref", name: None }
- AddedEdge AddedEdge { src: "cx.vmx.matadisco:body.tags", tgt: "cx.vmx.matadisco#tags", kind: "ref", name: None }
Migration Guidance
Removed Elements
RemovedVertex { vertex_id: "cx.vmx.matadisco:body.created" }RemovedVertex { vertex_id: "cx.vmx.matadisco:body.metadata" }RemovedVertex { vertex_id: "cx.vmx.matadisco:body.preview.mimeType" }RemovedVertex { vertex_id: "cx.vmx.matadisco:body.preview.url" }
Added Elements
AddedVertex { vertex_id: "cx.vmx.matadisco#preview" }AddedVertex { vertex_id: "cx.vmx.matadisco#preview.mimeType" }AddedVertex { vertex_id: "cx.vmx.matadisco#preview.url" }AddedVertex { vertex_id: "cx.vmx.matadisco#tags" }AddedVertex { vertex_id: "cx.vmx.matadisco#tags:items" }AddedVertex { vertex_id: "cx.vmx.matadisco:body.publishedAt" }AddedVertex { vertex_id: "cx.vmx.matadisco:body.resource" }AddedVertex { vertex_id: "cx.vmx.matadisco:body.tags" }
Constraint Changes
- ConstraintAdded ConstraintAdded { vertex_id: "cx.vmx.matadisco:body.preview", sort: "ref", value: "#preview" }
Additional Notes
- Breaking: RequiredEdgeAdded { vertex_id: "cx.vmx.matadisco:body", src: "cx.vmx.matadisco:body", tgt: "cx.vmx.matadisco:body.resource", kind: "prop", name: Some("resource") }
- Breaking: RequiredEdgeAdded { vertex_id: "cx.vmx.matadisco:body", src: "cx.vmx.matadisco:body", tgt: "cx.vmx.matadisco:body.publishedAt", kind: "prop", name: Some("publishedAt") }
- Breaking: RequiredEdgeAdded { vertex_id: "cx.vmx.matadisco#preview", src: "cx.vmx.matadisco#preview", tgt: "cx.vmx.matadisco#preview.mimeType", kind: "prop", name: Some("mimeType") }
- Breaking: RequiredEdgeRemoved { vertex_id: "cx.vmx.matadisco:body.preview", src: "cx.vmx.matadisco:body.preview", tgt: "cx.vmx.matadisco:body.preview.mimeType", kind: "prop", name: Some("mimeType") }
- Breaking: RequiredEdgeRemoved { vertex_id: "cx.vmx.matadisco:body.preview", src: "cx.vmx.matadisco:body.preview", tgt: "cx.vmx.matadisco:body.preview.url", kind: "prop", name: Some("url") }
- Breaking: RequiredEdgeRemoved { vertex_id: "cx.vmx.matadisco:body", src: "cx.vmx.matadisco:body", tgt: "cx.vmx.matadisco:body.metadata", kind: "prop", name: Some("metadata") }
- Breaking: RequiredEdgeRemoved { vertex_id: "cx.vmx.matadisco:body", src: "cx.vmx.matadisco:body", tgt: "cx.vmx.matadisco:body.created", kind: "prop", name: Some("created") }
- Breaking: KindChanged { vertex_id: "cx.vmx.matadisco:body.preview", old_kind: "object", new_kind: "ref" }
- Non-breaking: AddedEdge { src: "cx.vmx.matadisco#preview", tgt: "cx.vmx.matadisco#preview.url", kind: "prop", name: Some("url") }
- Non-breaking: AddedEdge { src: "cx.vmx.matadisco#tags", tgt: "cx.vmx.matadisco#tags:items", kind: "items", name: None }
- Non-breaking: AddedEdge { src: "cx.vmx.matadisco:body", tgt: "cx.vmx.matadisco:body.tags", kind: "prop", name: Some("tags") }
- Non-breaking: AddedEdge { src: "cx.vmx.matadisco:body.preview", tgt: "cx.vmx.matadisco#preview", kind: "ref", name: None }
- Non-breaking: AddedEdge { src: "cx.vmx.matadisco:body.tags", tgt: "cx.vmx.matadisco#tags", kind: "ref", name: None }
1
1
{
2
2
"$type": "com.atproto.lexicon.schema",
3
3
"defs": {
4
4
"main": {
5
5
"description": "A Matadisco record",
6
-
"key": "tid",
6
+
"key": "any",
7
7
"record": {
8
8
"properties": {
9
-
"created": {
10
-
"description": "The time the metadata record was created",
9
+
"preview": {
10
+
"ref": "#preview",
11
+
"type": "ref"
12
+
},
13
+
"publishedAt": {
14
+
"description": "The time the original metadata/data was published",
11
15
"format": "datetime",
12
16
"type": "string"
13
17
},
14
-
"metadata": {
15
-
"description": "A URI containing metadata",
18
+
"resource": {
19
+
"description": "A URI that links to resource containing the metadata",
16
20
"format": "uri",
17
21
"type": "string"
18
22
},
19
-
"preview": {
20
-
"description": "Preview of the data",
21
-
"properties": {
22
-
"mimeType": {
23
-
"type": "string"
24
-
},
25
-
"url": {
26
-
"format": "uri",
27
-
"type": "string"
28
-
}
29
-
},
30
-
"required": [
31
-
"url",
32
-
"mimeType"
33
-
],
34
-
"type": "object"
23
+
"tags": {
24
+
"ref": "#tags",
25
+
"type": "ref"
35
26
}
36
27
},
37
28
"required": [
38
-
"metadata",
39
-
"created"
29
+
"publishedAt",
30
+
"resource"
40
31
],
41
32
"type": "object"
42
33
},
43
34
"type": "record"
35
+
},
36
+
"preview": {
37
+
"description": "Preview of the data",
38
+
"properties": {
39
+
"mimeType": {
40
+
"description": "The media type the preview has",
41
+
"type": "string"
42
+
},
43
+
"url": {
44
+
"description": "The URL to the preview",
45
+
"format": "uri",
46
+
"type": "string"
47
+
}
48
+
},
49
+
"required": [
50
+
"mimeType"
51
+
],
52
+
"type": "object"
53
+
},
54
+
"tags": {
55
+
"description": "Tags that describe the metadata. A tag might have a corresponding top-level key with the same name.",
56
+
"items": {
57
+
"maxLength": 200,
58
+
"minLength": 1,
59
+
"type": "string"
60
+
},
61
+
"maxLength": 20,
62
+
"type": "array"
44
63
}
45
64
},
46
65
"id": "cx.vmx.matadisco",
47
66
"lexicon": 1
48
67
}