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