garden.lexicon.nourishing-earthworm.crepeList
Schema Diff
+4 -4
Compatibility Analysis
Breaking Changes Detected
3 breaking changes, 0 non-breaking changes.
Breaking Changes (3)
- ConstraintTightened ConstraintTightened { vertex_id: "garden.lexicon.nourishing-earthworm.crepeList:body.visibility", sort: "knownValues", old_value: "[\"private\",\"friends\",\"unlisted\",\"public\"]", new_value: "[\"private\",\"unlisted\",\"public\"]" }
- ConstraintAdded ConstraintAdded { vertex_id: "garden.lexicon.nourishing-earthworm.crepeList:body.description", sort: "maxGraphemes", value: "300" }
- ConstraintTightened ConstraintTightened { vertex_id: "garden.lexicon.nourishing-earthworm.crepeList:body.description", sort: "maxLength", old_value: "10000", new_value: "3000" }
Migration Guidance
Constraint Changes
- ConstraintAdded ConstraintAdded { vertex_id: "garden.lexicon.nourishing-earthworm.crepeList:body.description", sort: "maxGraphemes", value: "300" }
- ConstraintTightened ConstraintTightened { vertex_id: "garden.lexicon.nourishing-earthworm.crepeList:body.description", sort: "maxLength", old_value: "10000", new_value: "3000" }
- ConstraintTightened ConstraintTightened { vertex_id: "garden.lexicon.nourishing-earthworm.crepeList:body.visibility", sort: "knownValues", old_value: "[\"private\",\"friends\",\"unlisted\",\"public\"]", new_value: "[\"private\",\"unlisted\",\"public\"]" }
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
-
"maxLength": 10000,
20
+
"maxGraphemes": 300,
21
+
"maxLength": 3000,
21
22
"type": "string"
22
23
},
23
24
"listType": {
24
25
"knownValues": [
25
26
"watchlist",
26
27
"list"
27
28
],
28
29
"type": "string"
29
30
},
30
31
"locked": {
31
32
"default": false,
32
33
"description": "hide the list from add-to-list pickers",
33
34
"type": "boolean"
34
35
},
35
36
"mediaType": {
36
37
"description": "deprecated, read but no longer written; use mediaTypes. restrict the list to films or to shows; absent means both",
37
38
"knownValues": [
38
39
"movie",
39
40
"tv"
40
41
],
41
42
"type": "string"
42
43
},
43
44
"mediaTypes": {
44
45
"description": "the kinds of title the list takes; absent means films and shows. special is standup specials, a subset of movies",
45
46
"items": {
46
47
"knownValues": [
47
48
"movie",
48
49
"tv",
49
50
"special"
50
51
],
51
52
"type": "string"
52
53
},
53
54
"maxLength": 8,
54
55
"type": "array"
55
56
},
56
57
"mirror": {
57
58
"description": "This list follows a public Letterboxd or IMDb list, one way. The source is authoritative.",
58
59
"ref": "#mirror",
59
60
"type": "ref"
60
61
},
61
62
"name": {
62
63
"maxGraphemes": 100,
63
64
"maxLength": 1000,
64
65
"type": "string"
65
66
},
66
67
"ordered": {
67
68
"type": "boolean"
68
69
},
69
70
"plexCollection": {
70
71
"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
72
"ref": "#plexCollection",
72
73
"type": "ref"
73
74
},
74
75
"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, friends or a group",
76
+
"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",
76
77
"maxLength": 32,
77
78
"minLength": 16,
78
79
"type": "string"
79
80
},
80
81
"showProgress": {
81
82
"default": false,
82
83
"description": "show a watched-count progress bar on the list page",
83
84
"type": "boolean"
84
85
},
85
86
"showReviews": {
86
87
"default": false,
87
88
"description": "show the list author's rating and review on each row of the list page",
88
89
"type": "boolean"
89
90
},
90
91
"sort": {
91
92
"default": "custom",
92
93
"description": "how the list orders its titles: custom (by hand, by each item's position) or by when the author last watched each title, its release date, its title, when it was added, or the author's rating. absent means custom",
93
94
"knownValues": [
94
95
"custom",
95
96
"lastWatched",
96
97
"release",
97
98
"title",
98
99
"added",
99
100
"rating"
100
101
],
101
102
"type": "string"
102
103
},
103
104
"sortDirection": {
104
105
"description": "which way sort runs; absent means the sort's natural way (newest, most recent or highest first; titles a to z). ignored when sort is custom",
105
106
"knownValues": [
106
107
"asc",
107
108
"desc"
108
109
],
109
110
"type": "string"
110
111
},
111
112
"stamps": {
112
113
"description": "Field group to hybrid logical clock stamp.",
113
114
"type": "unknown"
114
115
},
115
116
"tags": {
116
117
"items": {
117
118
"maxLength": 640,
118
119
"type": "string"
119
120
},
120
121
"maxLength": 50,
121
122
"type": "array"
122
123
},
123
124
"updatedAt": {
124
125
"format": "datetime",
125
126
"type": "string"
126
127
},
127
128
"visibility": {
128
129
"default": "private",
129
-
"description": "who can see the list: private (only the owner), friends (the owner's friends, through the crepe appview), group:<id> (the members of one crepe group; the value is open, not an enum), 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",
130
+
"description": "who can see the list: private (only the owner), 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. a reader keeps a value it does not know rather than treating the list as private",
130
131
"knownValues": [
131
132
"private",
132
-
"friends",
133
133
"unlisted",
134
134
"public"
135
135
],
136
136
"type": "string"
137
137
}
138
138
},
139
139
"required": [
140
140
"name",
141
141
"listType",
142
142
"createdAt",
143
143
"updatedAt"
144
144
],
145
145
"type": "object"
146
146
},
147
147
"type": "record"
148
148
},
149
149
"mirror": {
150
150
"properties": {
151
151
"fetchedAt": {
152
152
"description": "When the source was last read.",
153
153
"format": "datetime",
154
154
"type": "string"
155
155
},
156
156
"source": {
157
157
"knownValues": [
158
158
"letterboxd",
159
159
"imdb"
160
160
],
161
161
"type": "string"
162
162
},
163
163
"url": {
164
164
"description": "Public list URL as the user gave it.",
165
165
"maxLength": 2000,
166
166
"type": "string"
167
167
}
168
168
},
169
169
"required": [
170
170
"url",
171
171
"source",
172
172
"fetchedAt"
173
173
],
174
174
"type": "object"
175
175
},
176
176
"plexCollection": {
177
177
"properties": {
178
178
"name": {
179
179
"description": "Collection title on the server, matched case-insensitively.",
180
180
"maxLength": 200,
181
181
"type": "string"
182
182
},
183
183
"server": {
184
184
"description": "Plex machineIdentifier of the server. Absent means crepe's default server.",
185
185
"maxLength": 128,
186
186
"type": "string"
187
187
}
188
188
},
189
189
"required": [
190
190
"name"
191
191
],
192
192
"type": "object"
193
193
}
194
194
},
195
195
"id": "garden.lexicon.nourishing-earthworm.crepeList",
196
196
"lexicon": 1
197
197
}