garden.lexicon.nourishing-earthworm.crepeList
Schema Diff
+21 -0
Compatibility Analysis
Backward Compatible
Backward compatible. 4 non-breaking changes.
Non-Breaking Changes (4)
- AddedVertex AddedVertex { vertex_id: "garden.lexicon.nourishing-earthworm.crepeList:body.sort" }
- AddedVertex AddedVertex { vertex_id: "garden.lexicon.nourishing-earthworm.crepeList:body.sortDirection" }
- AddedEdge AddedEdge { src: "garden.lexicon.nourishing-earthworm.crepeList:body", tgt: "garden.lexicon.nourishing-earthworm.crepeList:body.sort", kind: "prop", name: Some("sort") }
- AddedEdge AddedEdge { src: "garden.lexicon.nourishing-earthworm.crepeList:body", tgt: "garden.lexicon.nourishing-earthworm.crepeList:body.sortDirection", kind: "prop", name: Some("sortDirection") }
Migration Guidance
Added Elements
AddedVertex { vertex_id: "garden.lexicon.nourishing-earthworm.crepeList:body.sort" }AddedVertex { vertex_id: "garden.lexicon.nourishing-earthworm.crepeList:body.sortDirection" }
Additional Notes
- Non-breaking: AddedEdge { src: "garden.lexicon.nourishing-earthworm.crepeList:body", tgt: "garden.lexicon.nourishing-earthworm.crepeList:body.sort", kind: "prop", name: Some("sort") }
- Non-breaking: AddedEdge { src: "garden.lexicon.nourishing-earthworm.crepeList:body", tgt: "garden.lexicon.nourishing-earthworm.crepeList:body.sortDirection", kind: "prop", name: Some("sortDirection") }
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
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
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
+
"sort": {
91
+
"default": "custom",
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
+
"knownValues": [
94
+
"custom",
95
+
"lastWatched",
96
+
"release",
97
+
"title",
98
+
"added",
99
+
"rating"
100
+
],
101
+
"type": "string"
102
+
},
103
+
"sortDirection": {
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
+
"knownValues": [
106
+
"asc",
107
+
"desc"
108
+
],
109
+
"type": "string"
110
+
},
90
111
"stamps": {
91
112
"description": "Field group to hybrid logical clock stamp.",
92
113
"type": "unknown"
93
114
},
94
115
"tags": {
95
116
"items": {
96
117
"maxLength": 640,
97
118
"type": "string"
98
119
},
99
120
"maxLength": 50,
100
121
"type": "array"
101
122
},
102
123
"updatedAt": {
103
124
"format": "datetime",
104
125
"type": "string"
105
126
},
106
127
"visibility": {
107
128
"default": "private",
108
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",
109
130
"knownValues": [
110
131
"private",
111
132
"friends",
112
133
"unlisted",
113
134
"public"
114
135
],
115
136
"type": "string"
116
137
}
117
138
},
118
139
"required": [
119
140
"name",
120
141
"listType",
121
142
"createdAt",
122
143
"updatedAt"
123
144
],
124
145
"type": "object"
125
146
},
126
147
"type": "record"
127
148
},
128
149
"mirror": {
129
150
"properties": {
130
151
"fetchedAt": {
131
152
"description": "When the source was last read.",
132
153
"format": "datetime",
133
154
"type": "string"
134
155
},
135
156
"source": {
136
157
"knownValues": [
137
158
"letterboxd",
138
159
"imdb"
139
160
],
140
161
"type": "string"
141
162
},
142
163
"url": {
143
164
"description": "Public list URL as the user gave it.",
144
165
"maxLength": 2000,
145
166
"type": "string"
146
167
}
147
168
},
148
169
"required": [
149
170
"url",
150
171
"source",
151
172
"fetchedAt"
152
173
],
153
174
"type": "object"
154
175
},
155
176
"plexCollection": {
156
177
"properties": {
157
178
"name": {
158
179
"description": "Collection title on the server, matched case-insensitively.",
159
180
"maxLength": 200,
160
181
"type": "string"
161
182
},
162
183
"server": {
163
184
"description": "Plex machineIdentifier of the server. Absent means crepe's default server.",
164
185
"maxLength": 128,
165
186
"type": "string"
166
187
}
167
188
},
168
189
"required": [
169
190
"name"
170
191
],
171
192
"type": "object"
172
193
}
173
194
},
174
195
"id": "garden.lexicon.nourishing-earthworm.crepeList",
175
196
"lexicon": 1
176
197
}