lemmy-js-client 1.0.0-add-liked.0 → 1.0.0-admin-block-expiry.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 (222) hide show
  1. package/README.md +6 -0
  2. package/dist/http.d.ts +65 -29
  3. package/dist/http.js +184 -59
  4. package/dist/index.d.ts +50 -32
  5. package/dist/index.js +3 -0
  6. package/dist/other_types.d.ts +8 -2
  7. package/dist/types/AdminAdd.d.ts +12 -0
  8. package/dist/types/AdminAddId.d.ts +1 -0
  9. package/dist/types/{ModAddView.d.ts → AdminAddView.d.ts} +3 -3
  10. package/dist/types/AdminAllowInstance.d.ts +2 -2
  11. package/dist/types/AdminAllowInstanceParams.d.ts +1 -1
  12. package/dist/types/{ModBan.d.ts → AdminBan.d.ts} +6 -6
  13. package/dist/types/AdminBanId.d.ts +1 -0
  14. package/dist/types/{ModBanView.d.ts → AdminBanView.d.ts} +3 -3
  15. package/dist/types/AdminBlockInstance.d.ts +3 -3
  16. package/dist/types/AdminBlockInstanceParams.d.ts +7 -2
  17. package/dist/types/AdminPurgeComment.d.ts +2 -2
  18. package/dist/types/AdminPurgeCommunity.d.ts +2 -2
  19. package/dist/types/AdminPurgePerson.d.ts +2 -2
  20. package/dist/types/AdminPurgePost.d.ts +2 -2
  21. package/dist/types/{ModRemoveCommunity.d.ts → AdminRemoveCommunity.d.ts} +5 -5
  22. package/dist/types/AdminRemoveCommunityId.d.ts +1 -0
  23. package/dist/types/AdminRemoveCommunityView.d.ts +11 -0
  24. package/dist/types/AllLemmyErrors.d.ts +1 -0
  25. package/dist/types/AllLemmyErrors.js +119 -0
  26. package/dist/types/BanFromCommunity.d.ts +2 -2
  27. package/dist/types/BanPerson.d.ts +2 -2
  28. package/dist/types/Comment.d.ts +6 -2
  29. package/dist/types/CommentActions.d.ts +2 -2
  30. package/dist/types/CommentReport.d.ts +2 -2
  31. package/dist/types/CommentReportView.d.ts +5 -1
  32. package/dist/types/CommentResponse.d.ts +0 -2
  33. package/dist/types/CommentSlimView.d.ts +2 -6
  34. package/dist/types/CommentView.d.ts +4 -5
  35. package/dist/types/Community.d.ts +2 -2
  36. package/dist/types/CommunityActions.d.ts +7 -5
  37. package/dist/types/CommunityNotificationsMode.d.ts +4 -0
  38. package/dist/types/CommunityReport.d.ts +2 -2
  39. package/dist/types/CommunityReportView.d.ts +6 -0
  40. package/dist/types/CommunityView.d.ts +0 -2
  41. package/dist/types/CreateCommunityTag.d.ts +3 -1
  42. package/dist/types/CreateCustomEmoji.d.ts +2 -1
  43. package/dist/types/CreateCustomEmoji.js +0 -1
  44. package/dist/types/CreateMultiCommunity.d.ts +5 -0
  45. package/dist/types/CreateOrDeleteMultiCommunityEntry.d.ts +6 -0
  46. package/dist/types/CreatePost.d.ts +1 -1
  47. package/dist/types/CreateSite.d.ts +16 -13
  48. package/dist/types/CustomEmoji.d.ts +2 -2
  49. package/dist/types/EditCustomEmoji.d.ts +7 -5
  50. package/dist/types/EditPost.d.ts +1 -1
  51. package/dist/types/EditSite.d.ts +26 -16
  52. package/dist/types/ExportDataResponse.d.ts +13 -0
  53. package/dist/types/FederationBlockList.d.ts +3 -3
  54. package/dist/types/FollowMultiCommunity.d.ts +5 -0
  55. package/dist/types/GetMultiCommunity.d.ts +4 -0
  56. package/dist/types/GetMultiCommunityResponse.d.ts +6 -0
  57. package/dist/types/GetPosts.d.ts +2 -0
  58. package/dist/types/HideCommunity.d.ts +1 -1
  59. package/dist/types/Instance.d.ts +2 -2
  60. package/dist/types/InstanceActions.d.ts +8 -4
  61. package/dist/types/InstanceWithFederationState.d.ts +2 -2
  62. package/dist/types/LemmyErrorType.d.ts +25 -140
  63. package/dist/types/LinkMetadata.d.ts +4 -0
  64. package/dist/types/ListMultiCommunities.d.ts +5 -0
  65. package/dist/types/ListMultiCommunitiesResponse.d.ts +4 -0
  66. package/dist/types/{ListInbox.d.ts → ListNotifications.d.ts} +3 -3
  67. package/dist/types/{ListInboxResponse.d.ts → ListNotificationsResponse.d.ts} +3 -3
  68. package/dist/types/ListingType.d.ts +1 -1
  69. package/dist/types/LocalImage.d.ts +2 -2
  70. package/dist/types/LocalSite.d.ts +5 -6
  71. package/dist/types/LocalSiteRateLimit.d.ts +16 -16
  72. package/dist/types/LocalSiteUrlBlocklist.d.ts +2 -2
  73. package/dist/types/LocalUser.d.ts +11 -13
  74. package/dist/types/LocalUserView.d.ts +2 -2
  75. package/dist/types/LockComment.d.ts +9 -0
  76. package/dist/types/LockPost.d.ts +1 -1
  77. package/dist/types/LoginToken.d.ts +1 -1
  78. package/dist/types/MarkNotificationAsRead.d.ts +8 -0
  79. package/dist/types/{ModAddCommunity.d.ts → ModAddToCommunity.d.ts} +4 -4
  80. package/dist/types/ModAddToCommunityId.d.ts +1 -0
  81. package/dist/types/{ModAddCommunityView.d.ts → ModAddToCommunityView.d.ts} +3 -3
  82. package/dist/types/ModBanFromCommunity.d.ts +3 -3
  83. package/dist/types/ModChangeCommunityVisibility.d.ts +1 -1
  84. package/dist/types/ModEditPost.d.ts +10 -0
  85. package/dist/types/ModFeaturePost.d.ts +1 -1
  86. package/dist/types/ModLockComment.d.ts +14 -0
  87. package/dist/types/ModLockCommentId.d.ts +1 -0
  88. package/dist/types/ModLockCommentView.d.ts +16 -0
  89. package/dist/types/ModLockPost.d.ts +2 -2
  90. package/dist/types/ModRemoveComment.d.ts +2 -2
  91. package/dist/types/ModRemovePost.d.ts +2 -2
  92. package/dist/types/ModTransferCommunity.d.ts +1 -1
  93. package/dist/types/ModlogActionType.d.ts +1 -1
  94. package/dist/types/ModlogCombinedView.d.ts +16 -13
  95. package/dist/types/MultiCommunity.d.ts +17 -0
  96. package/dist/types/MultiCommunityFollow.d.ts +8 -0
  97. package/dist/types/MultiCommunityFollow.js +2 -0
  98. package/dist/types/MultiCommunityId.d.ts +1 -0
  99. package/dist/types/MultiCommunityView.d.ts +6 -0
  100. package/dist/types/MultiCommunityView.js +2 -0
  101. package/dist/types/MyUserInfo.d.ts +2 -1
  102. package/dist/types/NotePerson.d.ts +10 -0
  103. package/dist/types/NotePerson.js +2 -0
  104. package/dist/types/Notification.d.ts +36 -0
  105. package/dist/types/Notification.js +2 -0
  106. package/dist/types/NotificationData.d.ts +40 -0
  107. package/dist/types/NotificationData.js +2 -0
  108. package/dist/types/NotificationDataType.d.ts +4 -0
  109. package/dist/types/NotificationId.d.ts +1 -0
  110. package/dist/types/NotificationId.js +3 -0
  111. package/dist/types/NotificationType.d.ts +4 -0
  112. package/dist/types/NotificationType.js +3 -0
  113. package/dist/types/NotificationView.d.ts +6 -0
  114. package/dist/types/NotificationView.js +2 -0
  115. package/dist/types/OAuthAccount.d.ts +2 -2
  116. package/dist/types/OAuthProvider.d.ts +2 -2
  117. package/dist/types/OpenGraphData.d.ts +4 -0
  118. package/dist/types/Person.d.ts +2 -2
  119. package/dist/types/PersonActions.d.ts +21 -1
  120. package/dist/types/PersonView.d.ts +4 -4
  121. package/dist/types/Post.d.ts +6 -4
  122. package/dist/types/PostActions.d.ts +7 -5
  123. package/dist/types/PostActions.js +0 -1
  124. package/dist/types/PostNotificationsMode.d.ts +4 -0
  125. package/dist/types/PostNotificationsMode.js +3 -0
  126. package/dist/types/PostOrCommentOrPrivateMessage.d.ts +10 -0
  127. package/dist/types/PostOrCommentOrPrivateMessage.js +2 -0
  128. package/dist/types/PostReport.d.ts +2 -2
  129. package/dist/types/PostReportView.d.ts +5 -1
  130. package/dist/types/PostView.d.ts +4 -5
  131. package/dist/types/PrivateMessage.d.ts +2 -3
  132. package/dist/types/PrivateMessageReport.d.ts +2 -2
  133. package/dist/types/PrivateMessageReportView.d.ts +3 -0
  134. package/dist/types/PurgeComment.d.ts +1 -1
  135. package/dist/types/PurgeCommunity.d.ts +1 -1
  136. package/dist/types/PurgePerson.d.ts +1 -1
  137. package/dist/types/PurgePost.d.ts +1 -1
  138. package/dist/types/ReadableFederationState.d.ts +3 -3
  139. package/dist/types/RegistrationApplication.d.ts +1 -1
  140. package/dist/types/RemoveComment.d.ts +1 -1
  141. package/dist/types/RemoveCommunity.d.ts +1 -1
  142. package/dist/types/RemovePost.d.ts +1 -1
  143. package/dist/types/SaveUserSettings.d.ts +9 -5
  144. package/dist/types/Search.d.ts +1 -1
  145. package/dist/types/SearchCombinedView.d.ts +4 -1
  146. package/dist/types/SearchType.d.ts +1 -1
  147. package/dist/types/Site.d.ts +2 -2
  148. package/dist/types/Tag.d.ts +8 -16
  149. package/dist/types/Tagline.d.ts +2 -2
  150. package/dist/types/TagsView.d.ts +1 -1
  151. package/dist/types/UntranslatedError.d.ts +12 -0
  152. package/dist/types/UntranslatedError.js +3 -0
  153. package/dist/types/UpdateCommunityNotifications.d.ts +9 -0
  154. package/dist/types/UpdateCommunityNotifications.js +2 -0
  155. package/dist/types/UpdateCommunityTag.d.ts +3 -2
  156. package/dist/types/UpdateMultiCommunity.d.ts +7 -0
  157. package/dist/types/UpdateMultiCommunity.js +2 -0
  158. package/dist/types/UpdatePostNotifications.d.ts +9 -0
  159. package/dist/types/UpdatePostNotifications.js +2 -0
  160. package/dist/types/UserBlockInstanceCommunitiesParams.d.ts +8 -0
  161. package/dist/types/UserBlockInstanceCommunitiesParams.js +2 -0
  162. package/dist/types/{UserBlockInstanceParams.d.ts → UserBlockInstancePersonsParams.d.ts} +2 -2
  163. package/dist/types/UserBlockInstancePersonsParams.js +2 -0
  164. package/dist/types/UserSettingsBackup.d.ts +27 -0
  165. package/dist/types/UserSettingsBackup.js +2 -0
  166. package/dist/types/VoteView.d.ts +1 -0
  167. package/package.json +6 -5
  168. package/dist/types/CommentReply.d.ts +0 -13
  169. package/dist/types/CommentReplyId.d.ts +0 -4
  170. package/dist/types/CommentReplyView.d.ts +0 -32
  171. package/dist/types/FederationError.d.ts +0 -10
  172. package/dist/types/InboxCombinedView.d.ts +0 -13
  173. package/dist/types/InboxDataType.d.ts +0 -4
  174. package/dist/types/MarkCommentReplyAsRead.d.ts +0 -8
  175. package/dist/types/MarkPersonCommentMentionAsRead.d.ts +0 -8
  176. package/dist/types/MarkPersonPostMentionAsRead.d.ts +0 -8
  177. package/dist/types/MarkPrivateMessageAsRead.d.ts +0 -8
  178. package/dist/types/ModAdd.d.ts +0 -12
  179. package/dist/types/ModAddCommunityId.d.ts +0 -1
  180. package/dist/types/ModAddId.d.ts +0 -1
  181. package/dist/types/ModBanId.d.ts +0 -1
  182. package/dist/types/ModRemoveCommunityId.d.ts +0 -1
  183. package/dist/types/ModRemoveCommunityView.d.ts +0 -11
  184. package/dist/types/PersonCommentMention.d.ts +0 -13
  185. package/dist/types/PersonCommentMentionId.d.ts +0 -4
  186. package/dist/types/PersonCommentMentionView.d.ts +0 -30
  187. package/dist/types/PersonPostMention.d.ts +0 -13
  188. package/dist/types/PersonPostMentionId.d.ts +0 -4
  189. package/dist/types/PersonPostMentionView.d.ts +0 -32
  190. package/dist/types/ResolveObjectResponse.d.ts +0 -13
  191. /package/dist/types/{CommentReply.js → AdminAdd.js} +0 -0
  192. /package/dist/types/{CommentReplyId.js → AdminAddId.js} +0 -0
  193. /package/dist/types/{CommentReplyView.js → AdminAddView.js} +0 -0
  194. /package/dist/types/{InboxCombinedView.js → AdminBan.js} +0 -0
  195. /package/dist/types/{FederationError.js → AdminBanId.js} +0 -0
  196. /package/dist/types/{ListInbox.js → AdminBanView.js} +0 -0
  197. /package/dist/types/{ListInboxResponse.js → AdminRemoveCommunity.js} +0 -0
  198. /package/dist/types/{InboxDataType.js → AdminRemoveCommunityId.js} +0 -0
  199. /package/dist/types/{MarkCommentReplyAsRead.js → AdminRemoveCommunityView.js} +0 -0
  200. /package/dist/types/{ModAddCommunityId.js → CommunityNotificationsMode.js} +0 -0
  201. /package/dist/types/{ModAddId.js → CreateMultiCommunity.js} +0 -0
  202. /package/dist/types/{MarkPersonCommentMentionAsRead.js → CreateOrDeleteMultiCommunityEntry.js} +0 -0
  203. /package/dist/types/{MarkPersonPostMentionAsRead.js → ExportDataResponse.js} +0 -0
  204. /package/dist/types/{MarkPrivateMessageAsRead.js → FollowMultiCommunity.js} +0 -0
  205. /package/dist/types/{ModAdd.js → GetMultiCommunity.js} +0 -0
  206. /package/dist/types/{ModAddCommunity.js → GetMultiCommunityResponse.js} +0 -0
  207. /package/dist/types/{ModAddCommunityView.js → ListMultiCommunities.js} +0 -0
  208. /package/dist/types/{ModAddView.js → ListMultiCommunitiesResponse.js} +0 -0
  209. /package/dist/types/{ModBan.js → ListNotifications.js} +0 -0
  210. /package/dist/types/{ModBanView.js → ListNotificationsResponse.js} +0 -0
  211. /package/dist/types/{ModRemoveCommunity.js → LockComment.js} +0 -0
  212. /package/dist/types/{ModRemoveCommunityView.js → MarkNotificationAsRead.js} +0 -0
  213. /package/dist/types/{PersonCommentMention.js → ModAddToCommunity.js} +0 -0
  214. /package/dist/types/{ModBanId.js → ModAddToCommunityId.js} +0 -0
  215. /package/dist/types/{PersonCommentMentionView.js → ModAddToCommunityView.js} +0 -0
  216. /package/dist/types/{PersonPostMention.js → ModEditPost.js} +0 -0
  217. /package/dist/types/{PersonPostMentionView.js → ModLockComment.js} +0 -0
  218. /package/dist/types/{ModRemoveCommunityId.js → ModLockCommentId.js} +0 -0
  219. /package/dist/types/{ResolveObjectResponse.js → ModLockCommentView.js} +0 -0
  220. /package/dist/types/{UserBlockInstanceParams.js → MultiCommunity.js} +0 -0
  221. /package/dist/types/{PersonCommentMentionId.js → MultiCommunityId.js} +0 -0
  222. /package/dist/types/{PersonPostMentionId.js → NotificationDataType.js} +0 -0
@@ -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
  } | {
@@ -16,19 +21,19 @@ export type LemmyErrorType = {
16
21
  } | {
17
22
  error: "cant_block_yourself";
18
23
  } | {
19
- error: "cant_block_admin";
24
+ error: "cant_note_yourself";
20
25
  } | {
21
- error: "couldnt_update_user";
26
+ error: "cant_block_admin";
22
27
  } | {
23
28
  error: "passwords_do_not_match";
24
29
  } | {
25
30
  error: "email_not_verified";
26
31
  } | {
27
32
  error: "email_required";
28
- } | {
29
- error: "couldnt_update_comment";
30
33
  } | {
31
34
  error: "cannot_leave_admin";
35
+ } | {
36
+ error: "cannot_leave_mod";
32
37
  } | {
33
38
  error: "pictrs_response_error";
34
39
  message: string;
@@ -81,8 +86,6 @@ export type LemmyErrorType = {
81
86
  error: "registration_application_is_pending";
82
87
  } | {
83
88
  error: "locked";
84
- } | {
85
- error: "couldnt_create_comment";
86
89
  } | {
87
90
  error: "max_comment_depth_reached";
88
91
  } | {
@@ -90,21 +93,15 @@ export type LemmyErrorType = {
90
93
  } | {
91
94
  error: "only_admins_can_create_communities";
92
95
  } | {
93
- error: "community_already_exists";
96
+ error: "already_exists";
94
97
  } | {
95
98
  error: "language_not_allowed";
96
- } | {
97
- error: "couldnt_update_languages";
98
- } | {
99
- error: "couldnt_update_post";
100
99
  } | {
101
100
  error: "no_post_edit_allowed";
102
101
  } | {
103
102
  error: "nsfw_not_allowed";
104
103
  } | {
105
104
  error: "edit_private_message_not_allowed";
106
- } | {
107
- error: "site_already_exists";
108
105
  } | {
109
106
  error: "application_question_required";
110
107
  } | {
@@ -116,9 +113,9 @@ export type LemmyErrorType = {
116
113
  } | {
117
114
  error: "registration_username_required";
118
115
  } | {
119
- error: "email_already_exists";
116
+ error: "email_already_taken";
120
117
  } | {
121
- error: "username_already_exists";
118
+ error: "username_already_taken";
122
119
  } | {
123
120
  error: "person_is_banned_from_community";
124
121
  } | {
@@ -132,8 +129,6 @@ export type LemmyErrorType = {
132
129
  } | {
133
130
  error: "invalid_email_address";
134
131
  message: string;
135
- } | {
136
- error: "rate_limit_error";
137
132
  } | {
138
133
  error: "invalid_name";
139
134
  } | {
@@ -150,62 +145,18 @@ export type LemmyErrorType = {
150
145
  error: "bio_length_overflow";
151
146
  } | {
152
147
  error: "alt_text_length_overflow";
153
- } | {
154
- error: "missing_totp_token";
155
- } | {
156
- error: "missing_totp_secret";
157
- } | {
158
- error: "incorrect_totp_token";
159
148
  } | {
160
149
  error: "couldnt_parse_totp_secret";
161
150
  } | {
162
151
  error: "couldnt_generate_totp";
163
152
  } | {
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_person_comment_mention";
197
- } | {
198
- error: "couldnt_update_person_comment_mention";
199
- } | {
200
- error: "couldnt_create_person_post_mention";
201
- } | {
202
- error: "couldnt_update_person_post_mention";
153
+ error: "missing_totp_token";
203
154
  } | {
204
- error: "couldnt_create_post";
155
+ error: "missing_totp_secret";
205
156
  } | {
206
- error: "couldnt_create_private_message";
157
+ error: "incorrect_totp_token";
207
158
  } | {
208
- error: "couldnt_update_private_message";
159
+ error: "totp_already_enabled";
209
160
  } | {
210
161
  error: "blocked_url";
211
162
  } | {
@@ -235,12 +186,8 @@ export type LemmyErrorType = {
235
186
  error: "couldnt_create_image_captcha";
236
187
  } | {
237
188
  error: "invalid_url_scheme";
238
- } | {
239
- error: "couldnt_send_webmention";
240
189
  } | {
241
190
  error: "contradicting_filters";
242
- } | {
243
- error: "instance_block_already_exists";
244
191
  } | {
245
192
  error: "too_many_items";
246
193
  } | {
@@ -249,8 +196,6 @@ export type LemmyErrorType = {
249
196
  error: "invalid_unix_time";
250
197
  } | {
251
198
  error: "invalid_bot_action";
252
- } | {
253
- error: "invalid_tag_name";
254
199
  } | {
255
200
  error: "tag_not_in_community";
256
201
  } | {
@@ -266,14 +211,8 @@ export type LemmyErrorType = {
266
211
  error: "oauth_login_failed";
267
212
  } | {
268
213
  error: "oauth_registration_closed";
269
- } | {
270
- error: "couldnt_create_oauth_provider";
271
- } | {
272
- error: "couldnt_update_oauth_provider";
273
214
  } | {
274
215
  error: "not_found";
275
- } | {
276
- error: "community_has_no_followers";
277
216
  } | {
278
217
  error: "post_schedule_time_must_be_in_future";
279
218
  } | {
@@ -281,9 +220,9 @@ export type LemmyErrorType = {
281
220
  } | {
282
221
  error: "cannot_combine_federation_blocklist_and_allowlist";
283
222
  } | {
284
- error: "federation_error";
223
+ error: "untranslated_error";
285
224
  message: {
286
- error?: FederationError;
225
+ error?: UntranslatedError;
287
226
  };
288
227
  } | {
289
228
  error: "couldnt_parse_pagination_token";
@@ -293,67 +232,13 @@ export type LemmyErrorType = {
293
232
  } | {
294
233
  error: "invalid_fetch_limit";
295
234
  } | {
296
- error: "couldnt_create_comment_reply";
297
- } | {
298
- error: "couldnt_update_comment_reply";
299
- } | {
300
- error: "couldnt_mark_comment_reply_as_read";
301
- } | {
302
- error: "couldnt_create_emoji";
303
- } | {
304
- error: "couldnt_update_emoji";
305
- } | {
306
- error: "couldnt_create_person";
307
- } | {
308
- error: "couldnt_update_person";
309
- } | {
310
- error: "couldnt_create_modlog";
311
- } | {
312
- error: "couldnt_update_modlog";
313
- } | {
314
- error: "couldnt_create_site";
315
- } | {
316
- error: "couldnt_update_site";
317
- } | {
318
- error: "couldnt_create_registration_application";
319
- } | {
320
- error: "couldnt_update_registration_application";
321
- } | {
322
- error: "couldnt_create_tag";
323
- } | {
324
- error: "couldnt_update_tag";
325
- } | {
326
- error: "couldnt_create_post_tag";
327
- } | {
328
- error: "couldnt_update_post_tag";
329
- } | {
330
- error: "couldnt_create_tagline";
331
- } | {
332
- error: "couldnt_update_tagline";
333
- } | {
334
- error: "couldnt_create_image";
335
- } | {
336
- error: "couldnt_allow_instance";
337
- } | {
338
- error: "couldnt_block_instance";
339
- } | {
340
- error: "couldnt_insert_activity";
341
- } | {
342
- error: "couldnt_create_rate_limit";
343
- } | {
344
- error: "couldnt_create_captcha_answer";
345
- } | {
346
- error: "couldnt_update_federation_queue_state";
347
- } | {
348
- error: "couldnt_create_oauth_account";
349
- } | {
350
- error: "couldnt_create_password_reset_request";
235
+ error: "email_notifications_disabled";
351
236
  } | {
352
- error: "couldnt_create_login_token";
237
+ error: "multi_community_update_wrong_user";
353
238
  } | {
354
- error: "couldnt_update_local_site_url_blocklist";
239
+ error: "cannot_combine_community_id_and_multi_community_id";
355
240
  } | {
356
- error: "couldnt_create_email_verification";
241
+ error: "multi_community_entry_limit_reached";
357
242
  } | {
358
- error: "email_notifications_disabled";
243
+ error: "too_many_requests";
359
244
  };
@@ -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
  };
@@ -0,0 +1,5 @@
1
+ import type { PersonId } from "./PersonId";
2
+ export type ListMultiCommunities = {
3
+ creator_id?: PersonId;
4
+ followed_only?: boolean;
5
+ };
@@ -0,0 +1,4 @@
1
+ import type { MultiCommunityView } from "./MultiCommunityView";
2
+ export type ListMultiCommunitiesResponse = {
3
+ multi_communities: Array<MultiCommunityView>;
4
+ };
@@ -1,10 +1,10 @@
1
- import type { InboxDataType } from "./InboxDataType";
1
+ import type { NotificationDataType } from "./NotificationDataType";
2
2
  import type { PaginationCursor } from "./PaginationCursor";
3
3
  /**
4
4
  * Get your inbox (replies, comment mentions, post mentions, and messages)
5
5
  */
6
- export type ListInbox = {
7
- type_?: InboxDataType;
6
+ export type ListNotifications = {
7
+ type_?: NotificationDataType;
8
8
  unread_only?: boolean;
9
9
  page_cursor?: PaginationCursor;
10
10
  page_back?: boolean;
@@ -1,10 +1,10 @@
1
- import type { InboxCombinedView } from "./InboxCombinedView";
1
+ import type { NotificationView } from "./NotificationView";
2
2
  import type { PaginationCursor } from "./PaginationCursor";
3
3
  /**
4
4
  * Get your inbox (replies, comment mentions, post mentions, and messages)
5
5
  */
6
- export type ListInboxResponse = {
7
- inbox: Array<InboxCombinedView>;
6
+ export type ListNotificationsResponse = {
7
+ notifications: Array<NotificationView>;
8
8
  /**
9
9
  * the pagination cursor to use to fetch the next page
10
10
  */
@@ -1,4 +1,4 @@
1
1
  /**
2
2
  * A listing type for post and comment list fetches.
3
3
  */
4
- export type ListingType = "All" | "Local" | "Subscribed" | "ModeratorView";
4
+ export type ListingType = "All" | "Local" | "Subscribed" | "ModeratorView" | "Suggested";
@@ -2,8 +2,8 @@ import type { PersonId } from "./PersonId";
2
2
  import type { PostId } from "./PostId";
3
3
  export type LocalImage = {
4
4
  pictrs_alias: string;
5
- published: string;
6
- person_id: PersonId;
5
+ published_at: string;
6
+ person_id?: PersonId;
7
7
  /**
8
8
  * This means the image is an auto-generated thumbnail, for a post.
9
9
  */
@@ -2,6 +2,7 @@ import type { CommentSortType } from "./CommentSortType";
2
2
  import type { FederationMode } from "./FederationMode";
3
3
  import type { ListingType } from "./ListingType";
4
4
  import type { LocalSiteId } from "./LocalSiteId";
5
+ import type { MultiCommunityId } from "./MultiCommunityId";
5
6
  import type { PostListingMode } from "./PostListingMode";
6
7
  import type { PostSortType } from "./PostSortType";
7
8
  import type { RegistrationMode } from "./RegistrationMode";
@@ -49,10 +50,6 @@ export type LocalSite = {
49
50
  * An optional regex to filter words.
50
51
  */
51
52
  slur_filter_regex?: string;
52
- /**
53
- * The max actor name length.
54
- */
55
- actor_name_max_length: number;
56
53
  /**
57
54
  * Whether federation is enabled.
58
55
  */
@@ -65,8 +62,8 @@ export type LocalSite = {
65
62
  * The captcha difficulty.
66
63
  */
67
64
  captcha_difficulty: string;
68
- published: string;
69
- updated?: string;
65
+ published_at: string;
66
+ updated_at?: string;
70
67
  registration_mode: RegistrationMode;
71
68
  /**
72
69
  * Whether to email admins on new reports.
@@ -141,4 +138,6 @@ export type LocalSite = {
141
138
  * Dont send email notifications to users for new replies, mentions etc
142
139
  */
143
140
  disable_email_notifications: boolean;
141
+ suggested_communities?: MultiCommunityId;
142
+ default_items_per_page: number;
144
143
  };
@@ -4,20 +4,20 @@ import type { LocalSiteId } from "./LocalSiteId";
4
4
  */
5
5
  export type LocalSiteRateLimit = {
6
6
  local_site_id: LocalSiteId;
7
- message: number;
8
- message_per_second: number;
9
- post: number;
10
- post_per_second: number;
11
- register: number;
12
- register_per_second: number;
13
- image: number;
14
- image_per_second: number;
15
- comment: number;
16
- comment_per_second: number;
17
- search: number;
18
- search_per_second: number;
19
- published: string;
20
- updated?: string;
21
- import_user_settings: number;
22
- import_user_settings_per_second: number;
7
+ message_max_requests: number;
8
+ message_interval_seconds: number;
9
+ post_max_requests: number;
10
+ post_interval_seconds: number;
11
+ register_max_requests: number;
12
+ register_interval_seconds: number;
13
+ image_max_requests: number;
14
+ image_interval_seconds: number;
15
+ comment_max_requests: number;
16
+ comment_interval_seconds: number;
17
+ search_max_requests: number;
18
+ search_interval_seconds: number;
19
+ published_at: string;
20
+ updated_at?: string;
21
+ import_user_settings_max_requests: number;
22
+ import_user_settings_interval_seconds: number;
23
23
  };
@@ -1,6 +1,6 @@
1
1
  export type LocalSiteUrlBlocklist = {
2
2
  id: number;
3
3
  url: string;
4
- published: string;
5
- updated?: string;
4
+ published_at: string;
5
+ updated_at?: string;
6
6
  };
@@ -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;
75
+ /**
76
+ * The last time a donation request was shown to this user. If this is more than a year ago,
77
+ * a new notification request should be shown.
78
+ */
79
+ last_donation_notification_at: string;
80
+ /**
81
+ * Whether a user can send / receive private messages
82
+ */
83
+ enable_private_messages: boolean;
83
84
  default_comment_sort_type: CommentSortType;
84
85
  /**
85
86
  * Whether to automatically mark fetched posts as read.
86
87
  */
87
88
  auto_mark_fetched_posts_as_read: boolean;
88
- /**
89
- * The last time a donation request was shown to this user. If this is more than a year ago,
90
- * a new notification request should be shown.
91
- */
92
- last_donation_notification: string;
93
89
  /**
94
90
  * Whether to hide posts containing images/videos
95
91
  */
@@ -102,4 +98,6 @@ export type LocalUser = {
102
98
  show_upvotes: boolean;
103
99
  show_downvotes: VoteShow;
104
100
  show_upvote_percentage: boolean;
101
+ show_person_votes: boolean;
102
+ default_items_per_page: number;
105
103
  };
@@ -1,4 +1,3 @@
1
- import type { InstanceActions } from "./InstanceActions";
2
1
  import type { LocalUser } from "./LocalUser";
3
2
  import type { Person } from "./Person";
4
3
  /**
@@ -7,5 +6,6 @@ import type { Person } from "./Person";
7
6
  export type LocalUserView = {
8
7
  local_user: LocalUser;
9
8
  person: Person;
10
- instance_actions?: InstanceActions;
9
+ banned: boolean;
10
+ ban_expires_at?: string;
11
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
  };
@@ -7,7 +7,7 @@ export type LoginToken = {
7
7
  /**
8
8
  * Time of login
9
9
  */
10
- published: string;
10
+ published_at: string;
11
11
  /**
12
12
  * IP address where login was made from, allows invalidating logins by IP address.
13
13
  * Could be stored in truncated format, or store derived information for better privacy.
@@ -0,0 +1,8 @@
1
+ import type { NotificationId } from "./NotificationId";
2
+ /**
3
+ * Mark a comment reply as read.
4
+ */
5
+ export type MarkNotificationAsRead = {
6
+ notification_id: NotificationId;
7
+ read: boolean;
8
+ };
@@ -1,14 +1,14 @@
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;
12
12
  removed: boolean;
13
- published: string;
13
+ published_at: string;
14
14
  };
@@ -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,8 +9,8 @@ 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
- expires?: string;
15
- published: string;
14
+ expires_at?: string;
15
+ published_at: string;
16
16
  };
@@ -6,6 +6,6 @@ export type ModChangeCommunityVisibility = {
6
6
  id: ModChangeCommunityVisibilityId;
7
7
  community_id: CommunityId;
8
8
  mod_person_id: PersonId;
9
- published: string;
9
+ published_at: string;
10
10
  visibility: CommunityVisibility;
11
11
  };
@@ -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
+ };
@@ -9,6 +9,6 @@ export type ModFeaturePost = {
9
9
  mod_person_id: PersonId;
10
10
  post_id: PostId;
11
11
  featured: boolean;
12
- published: string;
12
+ published_at: string;
13
13
  is_featured_community: boolean;
14
14
  };
@@ -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
+ };
@@ -9,6 +9,6 @@ export type ModLockPost = {
9
9
  mod_person_id: PersonId;
10
10
  post_id: PostId;
11
11
  locked: boolean;
12
- published: string;
13
- reason?: string;
12
+ published_at: string;
13
+ reason: string;
14
14
  };