garden.lexicon.nourishing-earthworm.crepeList
Schema Diff
+2 -3
Compatibility Analysis
Breaking Changes Detected
1 breaking change, 0 non-breaking changes.
Breaking Changes (1)
- ConstraintTightened ConstraintTightened { vertex_id: "garden.lexicon.nourishing-earthworm.crepeList:body.visibility", sort: "knownValues", old_value: "[\"private\",\"friends\",\"unlisted\",\"public\"]", new_value: "[\"private\",\"unlisted\",\"public\"]" }
Migration Guidance
Constraint Changes
- 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
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. special is standup specials, a subset of movies",
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
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, friends or a group",
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",
76
76
"maxLength": 32,
77
77
"minLength": 16,
78
78
"type": "string"
79
79
},
80
80
"showProgress": {
81
81
"default": false,
82
82
"description": "show a watched-count progress bar on the list page",
83
83
"type": "boolean"
84
84
},
85
85
"showReviews": {
86
86
"default": false,
87
87
"description": "show the list author's rating and review on each row of the list page",
88
88
"type": "boolean"
89
89
},
90
90
"sort": {
91
91
"default": "custom",
92
92
"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
93
"knownValues": [
94
94
"custom",
95
95
"lastWatched",
96
96
"release",
97
97
"title",
98
98
"added",
99
99
"rating"
100
100
],
101
101
"type": "string"
102
102
},
103
103
"sortDirection": {
104
104
"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
105
"knownValues": [
106
106
"asc",
107
107
"desc"
108
108
],
109
109
"type": "string"
110
110
},
111
111
"stamps": {
112
112
"description": "Field group to hybrid logical clock stamp.",
113
113
"type": "unknown"
114
114
},
115
115
"tags": {
116
116
"items": {
117
117
"maxLength": 640,
118
118
"type": "string"
119
119
},
120
120
"maxLength": 50,
121
121
"type": "array"
122
122
},
123
123
"updatedAt": {
124
124
"format": "datetime",
125
125
"type": "string"
126
126
},
127
127
"visibility": {
128
128
"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",
129
+
"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
130
"knownValues": [
131
131
"private",
132
-
"friends",
133
132
"unlisted",
134
133
"public"
135
134
],
136
135
"type": "string"
137
136
}
138
137
},
139
138
"required": [
140
139
"name",
141
140
"listType",
142
141
"createdAt",
143
142
"updatedAt"
144
143
],
145
144
"type": "object"
146
145
},
147
146
"type": "record"
148
147
},
149
148
"mirror": {
150
149
"properties": {
151
150
"fetchedAt": {
152
151
"description": "When the source was last read.",
153
152
"format": "datetime",
154
153
"type": "string"
155
154
},
156
155
"source": {
157
156
"knownValues": [
158
157
"letterboxd",
159
158
"imdb"
160
159
],
161
160
"type": "string"
162
161
},
163
162
"url": {
164
163
"description": "Public list URL as the user gave it.",
165
164
"maxLength": 2000,
166
165
"type": "string"
167
166
}
168
167
},
169
168
"required": [
170
169
"url",
171
170
"source",
172
171
"fetchedAt"
173
172
],
174
173
"type": "object"
175
174
},
176
175
"plexCollection": {
177
176
"properties": {
178
177
"name": {
179
178
"description": "Collection title on the server, matched case-insensitively.",
180
179
"maxLength": 200,
181
180
"type": "string"
182
181
},
183
182
"server": {
184
183
"description": "Plex machineIdentifier of the server. Absent means crepe's default server.",
185
184
"maxLength": 128,
186
185
"type": "string"
187
186
}
188
187
},
189
188
"required": [
190
189
"name"
191
190
],
192
191
"type": "object"
193
192
}
194
193
},
195
194
"id": "garden.lexicon.nourishing-earthworm.crepeList",
196
195
"lexicon": 1
197
196
}