ai.newnal.illi.family.mediaItem
Schema Diff
+17 -1
Compatibility Analysis
Backward Compatible
Backward compatible. 4 non-breaking changes.
Non-Breaking Changes (4)
- AddedVertex AddedVertex { vertex_id: "ai.newnal.illi.family.mediaItem:body.display" }
- AddedVertex AddedVertex { vertex_id: "ai.newnal.illi.family.mediaItem:body.thumb" }
- AddedEdge AddedEdge { src: "ai.newnal.illi.family.mediaItem:body", tgt: "ai.newnal.illi.family.mediaItem:body.display", kind: "prop", name: Some("display") }
- AddedEdge AddedEdge { src: "ai.newnal.illi.family.mediaItem:body", tgt: "ai.newnal.illi.family.mediaItem:body.thumb", kind: "prop", name: Some("thumb") }
Migration Guidance
Added Elements
AddedVertex { vertex_id: "ai.newnal.illi.family.mediaItem:body.display" }AddedVertex { vertex_id: "ai.newnal.illi.family.mediaItem:body.thumb" }
Additional Notes
- Non-breaking: AddedEdge { src: "ai.newnal.illi.family.mediaItem:body", tgt: "ai.newnal.illi.family.mediaItem:body.display", kind: "prop", name: Some("display") }
- Non-breaking: AddedEdge { src: "ai.newnal.illi.family.mediaItem:body", tgt: "ai.newnal.illi.family.mediaItem:body.thumb", kind: "prop", name: Some("thumb") }
1
1
{
2
2
"$type": "com.atproto.lexicon.schema",
3
3
"defs": {
4
4
"main": {
5
-
"description": "One original photo or video in the home's content bank. The blob lives on the author's PDN.",
5
+
"description": "One original photo or video in the home's content bank. The original and its derivatives (thumb, display, poster) are blobs on the author's PDN.",
6
6
"key": "tid",
7
7
"record": {
8
8
"properties": {
9
9
"albumHidden": {
10
10
"default": false,
11
11
"type": "boolean"
12
12
},
13
13
"caption": {
14
14
"maxGraphemes": 300,
15
15
"maxLength": 3000,
16
16
"type": "string"
17
17
},
18
18
"contentHash": {
19
19
"description": "sha256 hex of the original bytes.",
20
20
"maxLength": 128,
21
21
"type": "string"
22
22
},
23
23
"createdAt": {
24
24
"format": "datetime",
25
25
"type": "string"
26
26
},
27
+
"display": {
28
+
"accept": [
29
+
"image/jpeg"
30
+
],
31
+
"description": "1600 px display rendition for the device.",
32
+
"maxSize": 2000000,
33
+
"type": "blob"
34
+
},
27
35
"durationMs": {
28
36
"minimum": 0,
29
37
"type": "integer"
30
38
},
31
39
"excludeFromDelivery": {
32
40
"default": false,
33
41
"type": "boolean"
34
42
},
35
43
"height": {
36
44
"minimum": 1,
37
45
"type": "integer"
38
46
},
39
47
"kind": {
40
48
"knownValues": [
41
49
"photo",
42
50
"video"
43
51
],
44
52
"type": "string"
45
53
},
46
54
"media": {
47
55
"accept": [
48
56
"image/jpeg",
49
57
"image/png",
50
58
"image/webp",
51
59
"image/heic",
52
60
"video/mp4",
53
61
"video/quicktime"
54
62
],
55
63
"maxSize": 314572800,
56
64
"type": "blob"
57
65
},
58
66
"poster": {
59
67
"accept": [
60
68
"image/jpeg"
61
69
],
62
70
"description": "Video poster frame.",
63
71
"maxSize": 2000000,
64
72
"type": "blob"
65
73
},
66
74
"reviewState": {
67
75
"knownValues": [
68
76
"notRequired",
69
77
"pending",
70
78
"approved",
71
79
"rejected"
72
80
],
73
81
"type": "string"
74
82
},
75
83
"takenAt": {
76
84
"format": "datetime",
77
85
"type": "string"
78
86
},
79
87
"takenAtSource": {
80
88
"knownValues": [
81
89
"exif",
82
90
"upload",
83
91
"manual"
84
92
],
85
93
"type": "string"
86
94
},
95
+
"thumb": {
96
+
"accept": [
97
+
"image/jpeg"
98
+
],
99
+
"description": "320 px thumbnail, generated by the Service Node and uploaded to the author's PDN.",
100
+
"maxSize": 200000,
101
+
"type": "blob"
102
+
},
87
103
"width": {
88
104
"minimum": 1,
89
105
"type": "integer"
90
106
}
91
107
},
92
108
"required": [
93
109
"kind",
94
110
"media",
95
111
"createdAt"
96
112
],
97
113
"type": "object"
98
114
},
99
115
"type": "record"
100
116
}
101
117
},
102
118
"id": "ai.newnal.illi.family.mediaItem",
103
119
"lexicon": 1
104
120
}