garden.lexicon.nourishing-earthworm.crepeList
Schema Diff
+17 -5
Compatibility Analysis
Breaking Changes Detected
2 breaking changes, 4 non-breaking changes.
Breaking Changes (2)
- RemovedVertex RemovedVertex { vertex_id: "garden.lexicon.nourishing-earthworm.crepeList:body.showReviews" }
- RemovedEdge RemovedEdge { src: "garden.lexicon.nourishing-earthworm.crepeList:body", tgt: "garden.lexicon.nourishing-earthworm.crepeList:body.showReviews", kind: "prop", name: Some("showReviews") }
Non-Breaking Changes (4)
- AddedVertex AddedVertex { vertex_id: "garden.lexicon.nourishing-earthworm.crepeList:body.shareId" }
- AddedVertex AddedVertex { vertex_id: "garden.lexicon.nourishing-earthworm.crepeList:body.visibility" }
- AddedEdge AddedEdge { src: "garden.lexicon.nourishing-earthworm.crepeList:body", tgt: "garden.lexicon.nourishing-earthworm.crepeList:body.shareId", kind: "prop", name: Some("shareId") }
- AddedEdge AddedEdge { src: "garden.lexicon.nourishing-earthworm.crepeList:body", tgt: "garden.lexicon.nourishing-earthworm.crepeList:body.visibility", kind: "prop", name: Some("visibility") }
Migration Guidance
Removed Elements
RemovedVertex { vertex_id: "garden.lexicon.nourishing-earthworm.crepeList:body.showReviews" }
Added Elements
AddedVertex { vertex_id: "garden.lexicon.nourishing-earthworm.crepeList:body.shareId" }AddedVertex { vertex_id: "garden.lexicon.nourishing-earthworm.crepeList:body.visibility" }
Additional Notes
- Breaking: RemovedEdge { src: "garden.lexicon.nourishing-earthworm.crepeList:body", tgt: "garden.lexicon.nourishing-earthworm.crepeList:body.showReviews", kind: "prop", name: Some("showReviews") }
- Non-breaking: AddedEdge { src: "garden.lexicon.nourishing-earthworm.crepeList:body", tgt: "garden.lexicon.nourishing-earthworm.crepeList:body.shareId", kind: "prop", name: Some("shareId") }
- Non-breaking: AddedEdge { src: "garden.lexicon.nourishing-earthworm.crepeList:body", tgt: "garden.lexicon.nourishing-earthworm.crepeList:body.visibility", kind: "prop", name: Some("visibility") }
1
1
{
2
2
"$type": "com.atproto.lexicon.schema",
3
3
"defs": {
4
4
"main": {
5
5
"description": "A list of titles in crepe's private library: the watchlist or a user list.",
6
6
"key": "tid",
7
7
"record": {
8
8
"properties": {
9
9
"autoAddMinRating": {
10
10
"description": "titles rated at or above this (half stars times two) are added automatically",
11
11
"maximum": 10,
12
12
"minimum": 1,
13
13
"type": "integer"
14
14
},
15
15
"createdAt": {
16
16
"format": "datetime",
17
17
"type": "string"
18
18
},
19
19
"description": {
20
20
"maxLength": 10000,
21
21
"type": "string"
22
22
},
23
23
"listType": {
24
24
"knownValues": [
25
25
"watchlist",
26
26
"list"
27
27
],
28
28
"type": "string"
29
29
},
30
30
"locked": {
31
31
"default": false,
32
32
"description": "hide the list from add-to-list pickers",
33
33
"type": "boolean"
34
34
},
35
35
"mediaType": {
36
36
"description": "deprecated, read but no longer written; use mediaTypes. restrict the list to films or to shows; absent means both",
37
37
"knownValues": [
38
38
"movie",
39
39
"tv"
40
40
],
41
41
"type": "string"
42
42
},
43
43
"mediaTypes": {
44
44
"description": "the kinds of title the list takes; absent means films and shows",
45
45
"items": {
46
46
"knownValues": [
47
47
"movie",
48
48
"tv",
49
49
"special"
50
50
],
51
51
"type": "string"
52
52
},
53
53
"maxLength": 8,
54
54
"type": "array"
55
55
},
56
56
"mirror": {
57
57
"description": "This list follows a public Letterboxd or IMDb list, one way. The source is authoritative.",
58
58
"ref": "#mirror",
59
59
"type": "ref"
60
60
},
61
61
"name": {
62
62
"maxGraphemes": 100,
63
63
"maxLength": 1000,
64
64
"type": "string"
65
65
},
66
66
"ordered": {
67
67
"type": "boolean"
68
68
},
69
69
"plexCollection": {
70
70
"description": "Mirror this list, one way, into a collection on a Plex Media Server. The server owner grants which collections a user may bind.",
71
71
"ref": "#plexCollection",
72
72
"type": "ref"
73
73
},
74
+
"shareId": {
75
+
"description": "random url-safe id in the share link of an unlisted or public list; minted when the list first leaves private, dropped when it returns to private or friends",
76
+
"maxLength": 32,
77
+
"minLength": 16,
78
+
"type": "string"
79
+
},
74
80
"showProgress": {
75
81
"default": false,
76
82
"description": "show a watched-count progress bar on the list page",
77
-
"type": "boolean"
78
-
},
79
-
"showReviews": {
80
-
"default": false,
81
-
"description": "show the list author's rating and review on each row of the list page",
82
83
"type": "boolean"
83
84
},
84
85
"stamps": {
85
86
"description": "Field group to hybrid logical clock stamp.",
86
87
"type": "unknown"
87
88
},
88
89
"tags": {
89
90
"items": {
90
91
"maxLength": 640,
91
92
"type": "string"
92
93
},
93
94
"maxLength": 50,
94
95
"type": "array"
95
96
},
96
97
"updatedAt": {
97
98
"format": "datetime",
98
99
"type": "string"
100
+
},
101
+
"visibility": {
102
+
"default": "private",
103
+
"description": "who can see the list: private (only the owner), friends (friends and groups, once that exists), unlisted (a public page, not indexed, reachable by its share link) or public (a public page, indexed, with the records copied into the public repo). absent means private",
104
+
"knownValues": [
105
+
"private",
106
+
"friends",
107
+
"unlisted",
108
+
"public"
109
+
],
110
+
"type": "string"
99
111
}
100
112
},
101
113
"required": [
102
114
"name",
103
115
"listType",
104
116
"createdAt",
105
117
"updatedAt"
106
118
],
107
119
"type": "object"
108
120
},
109
121
"type": "record"
110
122
},
111
123
"mirror": {
112
124
"properties": {
113
125
"fetchedAt": {
114
126
"description": "When the source was last read.",
115
127
"format": "datetime",
116
128
"type": "string"
117
129
},
118
130
"source": {
119
131
"knownValues": [
120
132
"letterboxd",
121
133
"imdb"
122
134
],
123
135
"type": "string"
124
136
},
125
137
"url": {
126
138
"description": "Public list URL as the user gave it.",
127
139
"maxLength": 2000,
128
140
"type": "string"
129
141
}
130
142
},
131
143
"required": [
132
144
"url",
133
145
"source",
134
146
"fetchedAt"
135
147
],
136
148
"type": "object"
137
149
},
138
150
"plexCollection": {
139
151
"properties": {
140
152
"name": {
141
153
"description": "Collection title on the server, matched case-insensitively.",
142
154
"maxLength": 200,
143
155
"type": "string"
144
156
},
145
157
"server": {
146
158
"description": "Plex machineIdentifier of the server. Absent means crepe's default server.",
147
159
"maxLength": 128,
148
160
"type": "string"
149
161
}
150
162
},
151
163
"required": [
152
164
"name"
153
165
],
154
166
"type": "object"
155
167
}
156
168
},
157
169
"id": "garden.lexicon.nourishing-earthworm.crepeList",
158
170
"lexicon": 1
159
171
}