lemmy-js-client 1.0.0-post-tags.1 → 1.0.0-private-community-fixes.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (146) hide show
  1. package/README.md +6 -0
  2. package/dist/http.d.ts +54 -24
  3. package/dist/http.js +110 -31
  4. package/dist/index.d.ts +26 -29
  5. package/dist/other_types.d.ts +0 -3
  6. package/dist/types/{ModAdd.d.ts → AdminAdd.d.ts} +4 -4
  7. package/dist/types/AdminAddId.d.ts +1 -0
  8. package/dist/types/{ModAddView.d.ts → AdminAddView.d.ts} +3 -3
  9. package/dist/types/AdminAllowInstance.d.ts +1 -1
  10. package/dist/types/AdminAllowInstanceParams.d.ts +1 -1
  11. package/dist/types/{ModBan.d.ts → AdminBan.d.ts} +4 -4
  12. package/dist/types/AdminBanId.d.ts +1 -0
  13. package/dist/types/{ModBanView.d.ts → AdminBanView.d.ts} +3 -3
  14. package/dist/types/AdminBlockInstance.d.ts +1 -1
  15. package/dist/types/AdminBlockInstanceParams.d.ts +7 -2
  16. package/dist/types/AdminPurgeComment.d.ts +1 -1
  17. package/dist/types/AdminPurgeCommunity.d.ts +1 -1
  18. package/dist/types/AdminPurgePerson.d.ts +1 -1
  19. package/dist/types/AdminPurgePost.d.ts +1 -1
  20. package/dist/types/{ModRemoveCommunity.d.ts → AdminRemoveCommunity.d.ts} +4 -4
  21. package/dist/types/AdminRemoveCommunityId.d.ts +1 -0
  22. package/dist/types/AdminRemoveCommunityView.d.ts +11 -0
  23. package/dist/types/AllLemmyErrors.d.ts +1 -0
  24. package/dist/types/AllLemmyErrors.js +117 -0
  25. package/dist/types/BanFromCommunity.d.ts +1 -1
  26. package/dist/types/BanPerson.d.ts +1 -1
  27. package/dist/types/Comment.d.ts +4 -0
  28. package/dist/types/CommentReportView.d.ts +2 -0
  29. package/dist/types/CommentSlimView.d.ts +0 -2
  30. package/dist/types/CommentView.d.ts +2 -2
  31. package/dist/types/CommunityFollowerState.d.ts +1 -1
  32. package/dist/types/CommunityReportView.d.ts +2 -0
  33. package/dist/types/CommunityView.d.ts +0 -2
  34. package/dist/types/CreateCommunityTag.d.ts +2 -0
  35. package/dist/types/CreateCustomEmoji.d.ts +2 -1
  36. package/dist/types/CreateCustomEmoji.js +0 -1
  37. package/dist/types/CreateSite.d.ts +0 -1
  38. package/dist/types/EditCustomEmoji.d.ts +7 -5
  39. package/dist/types/EditSite.d.ts +4 -4
  40. package/dist/types/GetMultiCommunity.d.ts +2 -1
  41. package/dist/types/HideCommunity.d.ts +1 -1
  42. package/dist/types/InstanceActions.d.ts +6 -2
  43. package/dist/types/LemmyErrorType.d.ts +23 -133
  44. package/dist/types/LinkMetadata.d.ts +4 -0
  45. package/dist/types/ListCommunityPendingFollows.d.ts +1 -1
  46. package/dist/types/ListCommunityPendingFollowsResponse.d.ts +2 -2
  47. package/dist/types/LocalSite.d.ts +1 -6
  48. package/dist/types/LocalUser.d.ts +10 -13
  49. package/dist/types/LocalUserView.d.ts +1 -0
  50. package/dist/types/LockComment.d.ts +9 -0
  51. package/dist/types/LockPost.d.ts +1 -1
  52. package/dist/types/{ModAddCommunity.d.ts → ModAddToCommunity.d.ts} +3 -3
  53. package/dist/types/ModAddToCommunityId.d.ts +1 -0
  54. package/dist/types/{ModAddCommunityView.d.ts → ModAddToCommunityView.d.ts} +3 -3
  55. package/dist/types/ModBanFromCommunity.d.ts +1 -1
  56. package/dist/types/ModEditPost.d.ts +10 -0
  57. package/dist/types/ModLockComment.d.ts +14 -0
  58. package/dist/types/ModLockCommentId.d.ts +1 -0
  59. package/dist/types/ModLockCommentView.d.ts +16 -0
  60. package/dist/types/ModLockPost.d.ts +1 -1
  61. package/dist/types/ModRemoveComment.d.ts +1 -1
  62. package/dist/types/ModRemovePost.d.ts +1 -1
  63. package/dist/types/ModlogActionType.d.ts +1 -1
  64. package/dist/types/ModlogCombinedView.d.ts +16 -13
  65. package/dist/types/MultiCommunityResponse.d.ts +4 -0
  66. package/dist/types/MultiCommunityView.d.ts +2 -0
  67. package/dist/types/MyUserInfo.d.ts +2 -1
  68. package/dist/types/Notification.d.ts +22 -2
  69. package/dist/types/NotificationData.d.ts +31 -1
  70. package/dist/types/NotificationType.d.ts +4 -0
  71. package/dist/types/OpenGraphData.d.ts +4 -0
  72. package/dist/types/PendingFollowerView.d.ts +9 -0
  73. package/dist/types/PersonResponse.d.ts +7 -0
  74. package/dist/types/PersonView.d.ts +2 -1
  75. package/dist/types/Post.d.ts +2 -0
  76. package/dist/types/PostOrCommentOrPrivateMessage.d.ts +7 -7
  77. package/dist/types/PostReportView.d.ts +2 -0
  78. package/dist/types/PostView.d.ts +2 -2
  79. package/dist/types/PrivateMessageReportView.d.ts +1 -0
  80. package/dist/types/PurgeComment.d.ts +1 -1
  81. package/dist/types/PurgeCommunity.d.ts +1 -1
  82. package/dist/types/PurgePerson.d.ts +1 -1
  83. package/dist/types/PurgePost.d.ts +1 -1
  84. package/dist/types/ReadableFederationState.d.ts +1 -1
  85. package/dist/types/RemoveComment.d.ts +1 -1
  86. package/dist/types/RemoveCommunity.d.ts +1 -1
  87. package/dist/types/RemovePost.d.ts +1 -1
  88. package/dist/types/SaveUserSettings.d.ts +5 -5
  89. package/dist/types/Tag.d.ts +5 -13
  90. package/dist/types/TagsView.d.ts +1 -1
  91. package/dist/types/UntranslatedError.d.ts +12 -0
  92. package/dist/types/UpdateCommunityTag.d.ts +9 -0
  93. package/dist/types/UserBlockInstanceCommunitiesParams.d.ts +8 -0
  94. package/dist/types/{UserBlockInstanceParams.d.ts → UserBlockInstancePersonsParams.d.ts} +2 -2
  95. package/dist/types/UserSettingsBackup.d.ts +2 -1
  96. package/package.json +6 -5
  97. package/dist/types/BanPersonResponse.d.ts +0 -8
  98. package/dist/types/BlockCommunityResponse.d.ts +0 -8
  99. package/dist/types/BlockPersonResponse.d.ts +0 -8
  100. package/dist/types/CommentReply.d.ts +0 -13
  101. package/dist/types/CommentReplyId.d.ts +0 -4
  102. package/dist/types/FederationError.d.ts +0 -10
  103. package/dist/types/GetCommunityPendingFollowsCount.d.ts +0 -4
  104. package/dist/types/InboxDataType.d.ts +0 -4
  105. package/dist/types/MarkPrivateMessageAsRead.d.ts +0 -8
  106. package/dist/types/ModAddCommunityId.d.ts +0 -1
  107. package/dist/types/ModAddId.d.ts +0 -1
  108. package/dist/types/ModBanId.d.ts +0 -1
  109. package/dist/types/ModRemoveCommunityId.d.ts +0 -1
  110. package/dist/types/ModRemoveCommunityView.d.ts +0 -11
  111. package/dist/types/NotificationTypes.d.ts +0 -4
  112. package/dist/types/NotificationTypes.js +0 -3
  113. package/dist/types/NotificationsMode.d.ts +0 -4
  114. package/dist/types/NotificationsMode.js +0 -3
  115. package/dist/types/PersonCommentMention.d.ts +0 -13
  116. package/dist/types/PersonCommentMentionId.d.ts +0 -4
  117. package/dist/types/PersonCommentMentionId.js +0 -3
  118. package/dist/types/PersonNotification.d.ts +0 -9
  119. package/dist/types/PersonPostMention.d.ts +0 -13
  120. package/dist/types/PersonPostMentionId.d.ts +0 -4
  121. package/dist/types/PersonPostMentionId.js +0 -3
  122. /package/dist/types/{BanPersonResponse.js → AdminAdd.js} +0 -0
  123. /package/dist/types/{CommentReplyId.js → AdminAddId.js} +0 -0
  124. /package/dist/types/{BlockCommunityResponse.js → AdminAddView.js} +0 -0
  125. /package/dist/types/{BlockPersonResponse.js → AdminBan.js} +0 -0
  126. /package/dist/types/{FederationError.js → AdminBanId.js} +0 -0
  127. /package/dist/types/{CommentReply.js → AdminBanView.js} +0 -0
  128. /package/dist/types/{GetCommunityPendingFollowsCount.js → AdminRemoveCommunity.js} +0 -0
  129. /package/dist/types/{InboxDataType.js → AdminRemoveCommunityId.js} +0 -0
  130. /package/dist/types/{MarkPrivateMessageAsRead.js → AdminRemoveCommunityView.js} +0 -0
  131. /package/dist/types/{ModAdd.js → LockComment.js} +0 -0
  132. /package/dist/types/{ModAddCommunity.js → ModAddToCommunity.js} +0 -0
  133. /package/dist/types/{ModAddCommunityId.js → ModAddToCommunityId.js} +0 -0
  134. /package/dist/types/{ModAddCommunityView.js → ModAddToCommunityView.js} +0 -0
  135. /package/dist/types/{ModAddView.js → ModEditPost.js} +0 -0
  136. /package/dist/types/{ModBan.js → ModLockComment.js} +0 -0
  137. /package/dist/types/{ModAddId.js → ModLockCommentId.js} +0 -0
  138. /package/dist/types/{ModBanView.js → ModLockCommentView.js} +0 -0
  139. /package/dist/types/{ModRemoveCommunity.js → MultiCommunityResponse.js} +0 -0
  140. /package/dist/types/{ModBanId.js → NotificationType.js} +0 -0
  141. /package/dist/types/{ModRemoveCommunityView.js → PendingFollowerView.js} +0 -0
  142. /package/dist/types/{PersonCommentMention.js → PersonResponse.js} +0 -0
  143. /package/dist/types/{ModRemoveCommunityId.js → UntranslatedError.js} +0 -0
  144. /package/dist/types/{PersonNotification.js → UpdateCommunityTag.js} +0 -0
  145. /package/dist/types/{PersonPostMention.js → UserBlockInstanceCommunitiesParams.js} +0 -0
  146. /package/dist/types/{UserBlockInstanceParams.js → UserBlockInstancePersonsParams.js} +0 -0
@@ -1,11 +1,13 @@
1
1
  import type { CustomEmojiId } from "./CustomEmojiId";
2
+ import type { DbUrl } from "./DbUrl";
2
3
  /**
3
- * Edit a custom emoji.
4
+ * Edit a custom emoji.
4
5
  */
5
6
  export type EditCustomEmoji = {
6
7
  id: CustomEmojiId;
7
- category: string;
8
- image_url: string;
9
- alt_text: string;
10
- keywords: Array<string>;
8
+ category?: string;
9
+ shortcode?: string;
10
+ image_url?: DbUrl;
11
+ alt_text?: string;
12
+ keywords?: Array<string>;
11
13
  };
@@ -55,6 +55,10 @@ export type EditSite = {
55
55
  * A default time range limit to apply to post sorts, in seconds. 0 means none.
56
56
  */
57
57
  default_post_time_range_seconds?: number;
58
+ /**
59
+ * A default fetch limit for number of items returned.
60
+ */
61
+ default_items_per_page?: number;
58
62
  /**
59
63
  * The default comment sort, usually "hot"
60
64
  */
@@ -75,10 +79,6 @@ export type EditSite = {
75
79
  * A regex string of items to filter.
76
80
  */
77
81
  slur_filter_regex?: string;
78
- /**
79
- * The max length of actor names.
80
- */
81
- actor_name_max_length?: number;
82
82
  /**
83
83
  * The number of messages allowed in a given time frame.
84
84
  */
@@ -1,4 +1,5 @@
1
1
  import type { MultiCommunityId } from "./MultiCommunityId";
2
2
  export type GetMultiCommunity = {
3
- id: MultiCommunityId;
3
+ id?: MultiCommunityId;
4
+ name?: string;
4
5
  };
@@ -5,5 +5,5 @@ import type { CommunityId } from "./CommunityId";
5
5
  export type HideCommunity = {
6
6
  community_id: CommunityId;
7
7
  hidden: boolean;
8
- reason?: string;
8
+ reason: string;
9
9
  };
@@ -1,8 +1,8 @@
1
1
  export type InstanceActions = {
2
2
  /**
3
- * When the instance was blocked.
3
+ * When the instance's communities were blocked.
4
4
  */
5
- blocked_at?: string;
5
+ blocked_communities_at?: string;
6
6
  /**
7
7
  * When this user received a site ban.
8
8
  */
@@ -11,4 +11,8 @@ export type InstanceActions = {
11
11
  * When their ban expires.
12
12
  */
13
13
  ban_expires_at?: string;
14
+ /**
15
+ * When the instance's persons were blocked.
16
+ */
17
+ blocked_persons_at?: string;
14
18
  };
@@ -1,10 +1,15 @@
1
- import type { FederationError } from "./FederationError";
1
+ import type { UntranslatedError } from "./UntranslatedError";
2
+ /**
3
+ * Errors used in the API, all of these are translated in lemmy-ui.
4
+ */
2
5
  export type LemmyErrorType = {
3
6
  error: "block_keyword_too_short";
4
7
  } | {
5
8
  error: "block_keyword_too_long";
6
9
  } | {
7
- error: "couldnt_update_keywords";
10
+ error: "couldnt_update";
11
+ } | {
12
+ error: "couldnt_create";
8
13
  } | {
9
14
  error: "report_reason_required";
10
15
  } | {
@@ -19,36 +24,31 @@ export type LemmyErrorType = {
19
24
  error: "cant_note_yourself";
20
25
  } | {
21
26
  error: "cant_block_admin";
22
- } | {
23
- error: "couldnt_update_user";
24
27
  } | {
25
28
  error: "passwords_do_not_match";
26
29
  } | {
27
30
  error: "email_not_verified";
28
31
  } | {
29
32
  error: "email_required";
30
- } | {
31
- error: "couldnt_update_comment";
32
33
  } | {
33
34
  error: "cannot_leave_admin";
35
+ } | {
36
+ error: "cannot_leave_mod";
34
37
  } | {
35
38
  error: "pictrs_response_error";
36
39
  message: string;
37
40
  } | {
38
41
  error: "pictrs_purge_response_error";
39
42
  message: string;
40
- } | {
41
- error: "image_url_missing_path_segments";
42
- } | {
43
- error: "image_url_missing_last_path_segment";
44
43
  } | {
45
44
  error: "pictrs_api_key_not_provided";
45
+ } | {
46
+ error: "pictrs_invalid_image_upload";
47
+ message: string;
46
48
  } | {
47
49
  error: "no_content_type_header";
48
50
  } | {
49
51
  error: "not_an_image_type";
50
- } | {
51
- error: "invalid_image_upload";
52
52
  } | {
53
53
  error: "image_upload_disabled";
54
54
  } | {
@@ -83,8 +83,6 @@ export type LemmyErrorType = {
83
83
  error: "registration_application_is_pending";
84
84
  } | {
85
85
  error: "locked";
86
- } | {
87
- error: "couldnt_create_comment";
88
86
  } | {
89
87
  error: "max_comment_depth_reached";
90
88
  } | {
@@ -92,21 +90,15 @@ export type LemmyErrorType = {
92
90
  } | {
93
91
  error: "only_admins_can_create_communities";
94
92
  } | {
95
- error: "community_already_exists";
93
+ error: "already_exists";
96
94
  } | {
97
95
  error: "language_not_allowed";
98
- } | {
99
- error: "couldnt_update_languages";
100
- } | {
101
- error: "couldnt_update_post";
102
96
  } | {
103
97
  error: "no_post_edit_allowed";
104
98
  } | {
105
99
  error: "nsfw_not_allowed";
106
100
  } | {
107
101
  error: "edit_private_message_not_allowed";
108
- } | {
109
- error: "site_already_exists";
110
102
  } | {
111
103
  error: "application_question_required";
112
104
  } | {
@@ -118,9 +110,9 @@ export type LemmyErrorType = {
118
110
  } | {
119
111
  error: "registration_username_required";
120
112
  } | {
121
- error: "email_already_exists";
113
+ error: "email_already_taken";
122
114
  } | {
123
- error: "username_already_exists";
115
+ error: "username_already_taken";
124
116
  } | {
125
117
  error: "person_is_banned_from_community";
126
118
  } | {
@@ -150,58 +142,18 @@ export type LemmyErrorType = {
150
142
  error: "bio_length_overflow";
151
143
  } | {
152
144
  error: "alt_text_length_overflow";
153
- } | {
154
- error: "missing_totp_token";
155
- } | {
156
- error: "missing_totp_secret";
157
- } | {
158
- error: "incorrect_totp_token";
159
145
  } | {
160
146
  error: "couldnt_parse_totp_secret";
161
147
  } | {
162
148
  error: "couldnt_generate_totp";
163
149
  } | {
164
- error: "totp_already_enabled";
165
- } | {
166
- error: "couldnt_like_comment";
167
- } | {
168
- error: "couldnt_save_comment";
169
- } | {
170
- error: "couldnt_create_report";
171
- } | {
172
- error: "couldnt_resolve_report";
173
- } | {
174
- error: "community_moderator_already_exists";
175
- } | {
176
- error: "community_user_already_banned";
177
- } | {
178
- error: "community_block_already_exists";
179
- } | {
180
- error: "community_follower_already_exists";
181
- } | {
182
- error: "person_block_already_exists";
183
- } | {
184
- error: "couldnt_like_post";
185
- } | {
186
- error: "couldnt_save_post";
187
- } | {
188
- error: "couldnt_mark_post_as_read";
189
- } | {
190
- error: "couldnt_update_read_comments";
191
- } | {
192
- error: "couldnt_hide_post";
193
- } | {
194
- error: "couldnt_update_community";
195
- } | {
196
- error: "couldnt_create_notification";
197
- } | {
198
- error: "couldnt_update_notification";
150
+ error: "missing_totp_token";
199
151
  } | {
200
- error: "couldnt_create_post";
152
+ error: "missing_totp_secret";
201
153
  } | {
202
- error: "couldnt_create_private_message";
154
+ error: "incorrect_totp_token";
203
155
  } | {
204
- error: "couldnt_update_private_message";
156
+ error: "totp_already_enabled";
205
157
  } | {
206
158
  error: "blocked_url";
207
159
  } | {
@@ -231,12 +183,8 @@ export type LemmyErrorType = {
231
183
  error: "couldnt_create_image_captcha";
232
184
  } | {
233
185
  error: "invalid_url_scheme";
234
- } | {
235
- error: "couldnt_send_webmention";
236
186
  } | {
237
187
  error: "contradicting_filters";
238
- } | {
239
- error: "instance_block_already_exists";
240
188
  } | {
241
189
  error: "too_many_items";
242
190
  } | {
@@ -260,14 +208,8 @@ export type LemmyErrorType = {
260
208
  error: "oauth_login_failed";
261
209
  } | {
262
210
  error: "oauth_registration_closed";
263
- } | {
264
- error: "couldnt_create_oauth_provider";
265
- } | {
266
- error: "couldnt_update_oauth_provider";
267
211
  } | {
268
212
  error: "not_found";
269
- } | {
270
- error: "community_has_no_followers";
271
213
  } | {
272
214
  error: "post_schedule_time_must_be_in_future";
273
215
  } | {
@@ -275,9 +217,9 @@ export type LemmyErrorType = {
275
217
  } | {
276
218
  error: "cannot_combine_federation_blocklist_and_allowlist";
277
219
  } | {
278
- error: "federation_error";
220
+ error: "untranslated_error";
279
221
  message: {
280
- error?: FederationError;
222
+ error?: UntranslatedError;
281
223
  };
282
224
  } | {
283
225
  error: "couldnt_parse_pagination_token";
@@ -286,60 +228,6 @@ export type LemmyErrorType = {
286
228
  message: string;
287
229
  } | {
288
230
  error: "invalid_fetch_limit";
289
- } | {
290
- error: "couldnt_create_emoji";
291
- } | {
292
- error: "couldnt_update_emoji";
293
- } | {
294
- error: "couldnt_create_person";
295
- } | {
296
- error: "couldnt_update_person";
297
- } | {
298
- error: "couldnt_create_modlog";
299
- } | {
300
- error: "couldnt_update_modlog";
301
- } | {
302
- error: "couldnt_create_site";
303
- } | {
304
- error: "couldnt_update_site";
305
- } | {
306
- error: "couldnt_create_registration_application";
307
- } | {
308
- error: "couldnt_update_registration_application";
309
- } | {
310
- error: "couldnt_create_tag";
311
- } | {
312
- error: "couldnt_update_tag";
313
- } | {
314
- error: "couldnt_create_post_tag";
315
- } | {
316
- error: "couldnt_create_tagline";
317
- } | {
318
- error: "couldnt_update_tagline";
319
- } | {
320
- error: "couldnt_create_image";
321
- } | {
322
- error: "couldnt_allow_instance";
323
- } | {
324
- error: "couldnt_block_instance";
325
- } | {
326
- error: "couldnt_insert_activity";
327
- } | {
328
- error: "couldnt_create_rate_limit";
329
- } | {
330
- error: "couldnt_create_captcha_answer";
331
- } | {
332
- error: "couldnt_update_federation_queue_state";
333
- } | {
334
- error: "couldnt_create_oauth_account";
335
- } | {
336
- error: "couldnt_create_password_reset_request";
337
- } | {
338
- error: "couldnt_create_login_token";
339
- } | {
340
- error: "couldnt_update_local_site_url_blocklist";
341
- } | {
342
- error: "couldnt_create_email_verification";
343
231
  } | {
344
232
  error: "email_notifications_disabled";
345
233
  } | {
@@ -348,4 +236,6 @@ export type LemmyErrorType = {
348
236
  error: "cannot_combine_community_id_and_multi_community_id";
349
237
  } | {
350
238
  error: "multi_community_entry_limit_reached";
239
+ } | {
240
+ error: "too_many_requests";
351
241
  };
@@ -7,5 +7,9 @@ export type LinkMetadata = {
7
7
  title?: string;
8
8
  description?: string;
9
9
  image?: DbUrl;
10
+ image_width?: number;
11
+ image_height?: number;
10
12
  embed_video_url?: DbUrl;
13
+ video_width?: number;
14
+ video_height?: number;
11
15
  };
@@ -3,7 +3,7 @@ export type ListCommunityPendingFollows = {
3
3
  /**
4
4
  * Only shows the unapproved applications
5
5
  */
6
- pending_only?: boolean;
6
+ unread_only?: boolean;
7
7
  all_communities?: boolean;
8
8
  page_cursor?: PaginationCursor;
9
9
  page_back?: boolean;
@@ -1,7 +1,7 @@
1
1
  import type { PaginationCursor } from "./PaginationCursor";
2
- import type { PendingFollow } from "./PendingFollow";
2
+ import type { PendingFollowerView } from "./PendingFollowerView";
3
3
  export type ListCommunityPendingFollowsResponse = {
4
- items: Array<PendingFollow>;
4
+ items: Array<PendingFollowerView>;
5
5
  /**
6
6
  * the pagination cursor to use to fetch the next page
7
7
  */
@@ -3,7 +3,6 @@ import type { FederationMode } from "./FederationMode";
3
3
  import type { ListingType } from "./ListingType";
4
4
  import type { LocalSiteId } from "./LocalSiteId";
5
5
  import type { MultiCommunityId } from "./MultiCommunityId";
6
- import type { PersonId } from "./PersonId";
7
6
  import type { PostListingMode } from "./PostListingMode";
8
7
  import type { PostSortType } from "./PostSortType";
9
8
  import type { RegistrationMode } from "./RegistrationMode";
@@ -51,10 +50,6 @@ export type LocalSite = {
51
50
  * An optional regex to filter words.
52
51
  */
53
52
  slur_filter_regex?: string;
54
- /**
55
- * The max actor name length.
56
- */
57
- actor_name_max_length: number;
58
53
  /**
59
54
  * Whether federation is enabled.
60
55
  */
@@ -144,5 +139,5 @@ export type LocalSite = {
144
139
  */
145
140
  disable_email_notifications: boolean;
146
141
  suggested_communities?: MultiCommunityId;
147
- multi_comm_follower: PersonId;
142
+ default_items_per_page: number;
148
143
  };
@@ -63,33 +63,29 @@ export type LocalUser = {
63
63
  */
64
64
  post_listing_mode: PostListingMode;
65
65
  totp_2fa_enabled: boolean;
66
- /**
67
- * Whether to allow keyboard navigation (for browsing and interacting with posts and comments).
68
- */
69
- enable_keyboard_navigation: boolean;
70
66
  /**
71
67
  * Whether user avatars and inline images in the UI that are gifs should be allowed to play or
72
68
  * should be paused
73
69
  */
74
70
  enable_animated_images: boolean;
75
- /**
76
- * Whether a user can send / receive private messages
77
- */
78
- enable_private_messages: boolean;
79
71
  /**
80
72
  * Whether to auto-collapse bot comments.
81
73
  */
82
74
  collapse_bot_comments: boolean;
83
- default_comment_sort_type: CommentSortType;
84
- /**
85
- * Whether to automatically mark fetched posts as read.
86
- */
87
- auto_mark_fetched_posts_as_read: boolean;
88
75
  /**
89
76
  * The last time a donation request was shown to this user. If this is more than a year ago,
90
77
  * a new notification request should be shown.
91
78
  */
92
79
  last_donation_notification_at: string;
80
+ /**
81
+ * Whether a user can send / receive private messages
82
+ */
83
+ enable_private_messages: boolean;
84
+ default_comment_sort_type: CommentSortType;
85
+ /**
86
+ * Whether to automatically mark fetched posts as read.
87
+ */
88
+ auto_mark_fetched_posts_as_read: boolean;
93
89
  /**
94
90
  * Whether to hide posts containing images/videos
95
91
  */
@@ -103,4 +99,5 @@ export type LocalUser = {
103
99
  show_downvotes: VoteShow;
104
100
  show_upvote_percentage: boolean;
105
101
  show_person_votes: boolean;
102
+ default_items_per_page: number;
106
103
  };
@@ -7,4 +7,5 @@ export type LocalUserView = {
7
7
  local_user: LocalUser;
8
8
  person: Person;
9
9
  banned: boolean;
10
+ ban_expires_at?: string;
10
11
  };
@@ -0,0 +1,9 @@
1
+ import type { CommentId } from "./CommentId";
2
+ /**
3
+ * Locks a comment and its children, IE prevents new replies.
4
+ */
5
+ export type LockComment = {
6
+ comment_id: CommentId;
7
+ locked: boolean;
8
+ reason: string;
9
+ };
@@ -5,5 +5,5 @@ import type { PostId } from "./PostId";
5
5
  export type LockPost = {
6
6
  post_id: PostId;
7
7
  locked: boolean;
8
- reason?: string;
8
+ reason: string;
9
9
  };
@@ -1,11 +1,11 @@
1
1
  import type { CommunityId } from "./CommunityId";
2
- import type { ModAddCommunityId } from "./ModAddCommunityId";
2
+ import type { ModAddToCommunityId } from "./ModAddToCommunityId";
3
3
  import type { PersonId } from "./PersonId";
4
4
  /**
5
5
  * When someone is added as a community moderator.
6
6
  */
7
- export type ModAddCommunity = {
8
- id: ModAddCommunityId;
7
+ export type ModAddToCommunity = {
8
+ id: ModAddToCommunityId;
9
9
  mod_person_id: PersonId;
10
10
  other_person_id: PersonId;
11
11
  community_id: CommunityId;
@@ -0,0 +1 @@
1
+ export type ModAddToCommunityId = number;
@@ -1,11 +1,11 @@
1
1
  import type { Community } from "./Community";
2
- import type { ModAddCommunity } from "./ModAddCommunity";
2
+ import type { ModAddToCommunity } from "./ModAddToCommunity";
3
3
  import type { Person } from "./Person";
4
4
  /**
5
5
  * When someone is added as a community moderator.
6
6
  */
7
- export type ModAddCommunityView = {
8
- mod_add_community: ModAddCommunity;
7
+ export type ModAddToCommunityView = {
8
+ mod_add_to_community: ModAddToCommunity;
9
9
  moderator?: Person;
10
10
  community: Community;
11
11
  other_person: Person;
@@ -9,7 +9,7 @@ export type ModBanFromCommunity = {
9
9
  mod_person_id: PersonId;
10
10
  other_person_id: PersonId;
11
11
  community_id: CommunityId;
12
- reason?: string;
12
+ reason: string;
13
13
  banned: boolean;
14
14
  expires_at?: string;
15
15
  published_at: string;
@@ -0,0 +1,10 @@
1
+ import type { PostId } from "./PostId";
2
+ import type { TagId } from "./TagId";
3
+ /**
4
+ * Mods can change some metadata for posts
5
+ */
6
+ export type ModEditPost = {
7
+ post_id: PostId;
8
+ nsfw?: boolean;
9
+ tags?: Array<TagId>;
10
+ };
@@ -0,0 +1,14 @@
1
+ import type { CommentId } from "./CommentId";
2
+ import type { ModLockCommentId } from "./ModLockCommentId";
3
+ import type { PersonId } from "./PersonId";
4
+ /**
5
+ * When a moderator locks a comment (prevents new replies to a comment or its children).
6
+ */
7
+ export type ModLockComment = {
8
+ id: ModLockCommentId;
9
+ mod_person_id: PersonId;
10
+ comment_id: CommentId;
11
+ locked: boolean;
12
+ reason: string;
13
+ published_at: string;
14
+ };
@@ -0,0 +1 @@
1
+ export type ModLockCommentId = number;
@@ -0,0 +1,16 @@
1
+ import type { Comment } from "./Comment";
2
+ import type { Community } from "./Community";
3
+ import type { ModLockComment } from "./ModLockComment";
4
+ import type { Person } from "./Person";
5
+ import type { Post } from "./Post";
6
+ /**
7
+ * When a moderator locks a comment (prevents replies to it or its children).
8
+ */
9
+ export type ModLockCommentView = {
10
+ mod_lock_comment: ModLockComment;
11
+ moderator?: Person;
12
+ other_person: Person;
13
+ comment: Comment;
14
+ post: Post;
15
+ community: Community;
16
+ };
@@ -10,5 +10,5 @@ export type ModLockPost = {
10
10
  post_id: PostId;
11
11
  locked: boolean;
12
12
  published_at: string;
13
- reason?: string;
13
+ reason: string;
14
14
  };
@@ -8,7 +8,7 @@ export type ModRemoveComment = {
8
8
  id: ModRemoveCommentId;
9
9
  mod_person_id: PersonId;
10
10
  comment_id: CommentId;
11
- reason?: string;
11
+ reason: string;
12
12
  removed: boolean;
13
13
  published_at: string;
14
14
  };
@@ -8,7 +8,7 @@ export type ModRemovePost = {
8
8
  id: ModRemovePostId;
9
9
  mod_person_id: PersonId;
10
10
  post_id: PostId;
11
- reason?: string;
11
+ reason: string;
12
12
  removed: boolean;
13
13
  published_at: string;
14
14
  };
@@ -1,4 +1,4 @@
1
1
  /**
2
2
  * A list of possible types for the various modlog actions.
3
3
  */
4
- export type ModlogActionType = "All" | "ModRemovePost" | "ModLockPost" | "ModFeaturePost" | "ModRemoveComment" | "ModRemoveCommunity" | "ModBanFromCommunity" | "ModAddCommunity" | "ModTransferCommunity" | "ModAdd" | "ModBan" | "ModChangeCommunityVisibility" | "AdminPurgePerson" | "AdminPurgeCommunity" | "AdminPurgePost" | "AdminPurgeComment" | "AdminBlockInstance" | "AdminAllowInstance";
4
+ export type ModlogActionType = "All" | "ModRemovePost" | "ModLockPost" | "ModFeaturePost" | "ModRemoveComment" | "ModLockComment" | "AdminRemoveCommunity" | "ModBanFromCommunity" | "ModAddToCommunity" | "ModTransferCommunity" | "AdminAdd" | "AdminBan" | "ModChangeCommunityVisibility" | "AdminPurgePerson" | "AdminPurgeCommunity" | "AdminPurgePost" | "AdminPurgeComment" | "AdminBlockInstance" | "AdminAllowInstance";
@@ -1,18 +1,19 @@
1
+ import type { AdminAddView } from "./AdminAddView";
1
2
  import type { AdminAllowInstanceView } from "./AdminAllowInstanceView";
3
+ import type { AdminBanView } from "./AdminBanView";
2
4
  import type { AdminBlockInstanceView } from "./AdminBlockInstanceView";
3
5
  import type { AdminPurgeCommentView } from "./AdminPurgeCommentView";
4
6
  import type { AdminPurgeCommunityView } from "./AdminPurgeCommunityView";
5
7
  import type { AdminPurgePersonView } from "./AdminPurgePersonView";
6
8
  import type { AdminPurgePostView } from "./AdminPurgePostView";
7
- import type { ModAddCommunityView } from "./ModAddCommunityView";
8
- import type { ModAddView } from "./ModAddView";
9
+ import type { AdminRemoveCommunityView } from "./AdminRemoveCommunityView";
10
+ import type { ModAddToCommunityView } from "./ModAddToCommunityView";
9
11
  import type { ModBanFromCommunityView } from "./ModBanFromCommunityView";
10
- import type { ModBanView } from "./ModBanView";
11
12
  import type { ModChangeCommunityVisibilityView } from "./ModChangeCommunityVisibilityView";
12
13
  import type { ModFeaturePostView } from "./ModFeaturePostView";
14
+ import type { ModLockCommentView } from "./ModLockCommentView";
13
15
  import type { ModLockPostView } from "./ModLockPostView";
14
16
  import type { ModRemoveCommentView } from "./ModRemoveCommentView";
15
- import type { ModRemoveCommunityView } from "./ModRemoveCommunityView";
16
17
  import type { ModRemovePostView } from "./ModRemovePostView";
17
18
  import type { ModTransferCommunityView } from "./ModTransferCommunityView";
18
19
  export type ModlogCombinedView = ({
@@ -28,12 +29,12 @@ export type ModlogCombinedView = ({
28
29
  } & AdminPurgePersonView) | ({
29
30
  type_: "AdminPurgePost";
30
31
  } & AdminPurgePostView) | ({
31
- type_: "ModAdd";
32
- } & ModAddView) | ({
33
- type_: "ModAddCommunity";
34
- } & ModAddCommunityView) | ({
35
- type_: "ModBan";
36
- } & ModBanView) | ({
32
+ type_: "AdminAdd";
33
+ } & AdminAddView) | ({
34
+ type_: "ModAddToCommunity";
35
+ } & ModAddToCommunityView) | ({
36
+ type_: "AdminBan";
37
+ } & AdminBanView) | ({
37
38
  type_: "ModBanFromCommunity";
38
39
  } & ModBanFromCommunityView) | ({
39
40
  type_: "ModFeaturePost";
@@ -44,9 +45,11 @@ export type ModlogCombinedView = ({
44
45
  } & ModLockPostView) | ({
45
46
  type_: "ModRemoveComment";
46
47
  } & ModRemoveCommentView) | ({
47
- type_: "ModRemoveCommunity";
48
- } & ModRemoveCommunityView) | ({
48
+ type_: "AdminRemoveCommunity";
49
+ } & AdminRemoveCommunityView) | ({
49
50
  type_: "ModRemovePost";
50
51
  } & ModRemovePostView) | ({
51
52
  type_: "ModTransferCommunity";
52
- } & ModTransferCommunityView);
53
+ } & ModTransferCommunityView) | ({
54
+ type_: "ModLockComment";
55
+ } & ModLockCommentView);