is.logue.logue
Schema Diff
+39 -0
Compatibility Analysis
Breaking Changes Detected
4 breaking changes, 13 non-breaking changes.
Breaking Changes (4)
- ConstraintAdded ConstraintAdded { vertex_id: "is.logue.logue#aspectRatio.height", sort: "minimum", value: "1" }
- ConstraintAdded ConstraintAdded { vertex_id: "is.logue.logue#aspectRatio.width", sort: "minimum", value: "1" }
- ConstraintAdded ConstraintAdded { vertex_id: "is.logue.logue:body.tags:items", sort: "maxLength", value: "1280" }
- ConstraintAdded ConstraintAdded { vertex_id: "is.logue.logue:body.tags:items", sort: "maxGraphemes", value: "128" }
Non-Breaking Changes (13)
- AddedVertex AddedVertex { vertex_id: "is.logue.logue#aspectRatio" }
- AddedVertex AddedVertex { vertex_id: "is.logue.logue#aspectRatio.height" }
- AddedVertex AddedVertex { vertex_id: "is.logue.logue#aspectRatio.width" }
- AddedVertex AddedVertex { vertex_id: "is.logue.logue:body.coverImage" }
- AddedVertex AddedVertex { vertex_id: "is.logue.logue:body.coverImageAspectRatio" }
- AddedVertex AddedVertex { vertex_id: "is.logue.logue:body.tags" }
- AddedVertex AddedVertex { vertex_id: "is.logue.logue:body.tags:items" }
- AddedEdge AddedEdge { src: "is.logue.logue#aspectRatio", tgt: "is.logue.logue#aspectRatio.height", kind: "prop", name: Some("height") }
- AddedEdge AddedEdge { src: "is.logue.logue#aspectRatio", tgt: "is.logue.logue#aspectRatio.width", kind: "prop", name: Some("width") }
- AddedEdge AddedEdge { src: "is.logue.logue:body", tgt: "is.logue.logue:body.coverImage", kind: "prop", name: Some("coverImage") }
- AddedEdge AddedEdge { src: "is.logue.logue:body", tgt: "is.logue.logue:body.coverImageAspectRatio", kind: "prop", name: Some("coverImageAspectRatio") }
- AddedEdge AddedEdge { src: "is.logue.logue:body", tgt: "is.logue.logue:body.tags", kind: "prop", name: Some("tags") }
- AddedEdge AddedEdge { src: "is.logue.logue:body.tags", tgt: "is.logue.logue:body.tags:items", kind: "items", name: None }
Migration Guidance
Added Elements
AddedVertex { vertex_id: "is.logue.logue#aspectRatio" }AddedVertex { vertex_id: "is.logue.logue#aspectRatio.height" }AddedVertex { vertex_id: "is.logue.logue#aspectRatio.width" }AddedVertex { vertex_id: "is.logue.logue:body.coverImage" }AddedVertex { vertex_id: "is.logue.logue:body.coverImageAspectRatio" }AddedVertex { vertex_id: "is.logue.logue:body.tags" }AddedVertex { vertex_id: "is.logue.logue:body.tags:items" }
Constraint Changes
- ConstraintAdded ConstraintAdded { vertex_id: "is.logue.logue#aspectRatio.height", sort: "minimum", value: "1" }
- ConstraintAdded ConstraintAdded { vertex_id: "is.logue.logue#aspectRatio.width", sort: "minimum", value: "1" }
- ConstraintAdded ConstraintAdded { vertex_id: "is.logue.logue:body.tags:items", sort: "maxLength", value: "1280" }
- ConstraintAdded ConstraintAdded { vertex_id: "is.logue.logue:body.tags:items", sort: "maxGraphemes", value: "128" }
Additional Notes
- Non-breaking: AddedEdge { src: "is.logue.logue#aspectRatio", tgt: "is.logue.logue#aspectRatio.height", kind: "prop", name: Some("height") }
- Non-breaking: AddedEdge { src: "is.logue.logue#aspectRatio", tgt: "is.logue.logue#aspectRatio.width", kind: "prop", name: Some("width") }
- Non-breaking: AddedEdge { src: "is.logue.logue:body", tgt: "is.logue.logue:body.coverImage", kind: "prop", name: Some("coverImage") }
- Non-breaking: AddedEdge { src: "is.logue.logue:body", tgt: "is.logue.logue:body.coverImageAspectRatio", kind: "prop", name: Some("coverImageAspectRatio") }
- Non-breaking: AddedEdge { src: "is.logue.logue:body", tgt: "is.logue.logue:body.tags", kind: "prop", name: Some("tags") }
- Non-breaking: AddedEdge { src: "is.logue.logue:body.tags", tgt: "is.logue.logue:body.tags:items", kind: "items", name: None }
1
1
{
2
2
"id": "is.logue.logue",
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
10
"publication"
11
11
],
12
12
"properties": {
13
+
"tags": {
14
+
"type": "array",
15
+
"items": {
16
+
"type": "string",
17
+
"maxLength": 1280,
18
+
"maxGraphemes": 128
19
+
},
20
+
"description": "Array of strings used to tag or categorize the document. Avoid prepending tags with hashtags."
21
+
},
13
22
"startedAt": {
14
23
"type": "string",
15
24
"format": "datetime",
16
25
"description": "Timestamp when the logue was started."
17
26
},
27
+
"coverImage": {
28
+
"type": "blob",
29
+
"accept": [
30
+
"image/*"
31
+
],
32
+
"maxSize": 2000000,
33
+
"description": "Image to used for cover image. Less than 2MB is size, 5:1 aspect ratio is recommended"
34
+
},
18
35
"finishedAt": {
19
36
"type": "string",
20
37
"format": "datetime",
21
38
"description": "Timestamp when the logue was marked as finished."
22
39
},
23
40
"publication": {
24
41
"type": "string",
25
42
"format": "at-uri",
26
43
"required": true,
27
44
"description": "Weak reference to a `site.standard.publication` compatible record."
45
+
},
46
+
"coverImageAspectRatio": {
47
+
"ref": "#aspectRatio",
48
+
"type": "ref"
28
49
}
29
50
}
30
51
}
52
+
},
53
+
"aspectRatio": {
54
+
"type": "object",
55
+
"required": [
56
+
"width",
57
+
"height"
58
+
],
59
+
"properties": {
60
+
"width": {
61
+
"type": "integer",
62
+
"minimum": 1
63
+
},
64
+
"height": {
65
+
"type": "integer",
66
+
"minimum": 1
67
+
}
68
+
},
69
+
"description": "width:height represents an aspect ratio. It may be approximate, and may not correspond to absolute dimensions in any given unit."
31
70
}
32
71
},
33
72
"$type": "com.atproto.lexicon.schema",
34
73
"lexicon": 1
35
74
}