lemmy-js-client 1.0.0-block-nsfw.1 → 1.0.0-comment-lock.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 (285) hide show
  1. package/README.md +6 -0
  2. package/dist/http.d.ts +125 -43
  3. package/dist/http.js +1135 -916
  4. package/dist/index.d.ts +65 -36
  5. package/dist/other_types.d.ts +23 -2
  6. package/dist/types/AdminAllowInstance.d.ts +1 -1
  7. package/dist/types/AdminBlockInstance.d.ts +2 -2
  8. package/dist/types/AdminBlockInstanceParams.d.ts +1 -1
  9. package/dist/types/AdminListUsers.d.ts +7 -0
  10. package/dist/types/AdminListUsersResponse.d.ts +10 -0
  11. package/dist/types/AdminPurgeComment.d.ts +1 -1
  12. package/dist/types/AdminPurgeCommunity.d.ts +1 -1
  13. package/dist/types/AdminPurgePerson.d.ts +1 -1
  14. package/dist/types/AdminPurgePost.d.ts +1 -1
  15. package/dist/types/BanFromCommunity.d.ts +1 -1
  16. package/dist/types/BanPerson.d.ts +1 -1
  17. package/dist/types/Comment.d.ts +20 -2
  18. package/dist/types/CommentActions.d.ts +14 -0
  19. package/dist/types/CommentReport.d.ts +2 -2
  20. package/dist/types/CommentReportView.d.ts +10 -13
  21. package/dist/types/CommentResponse.d.ts +0 -2
  22. package/dist/types/CommentSlimView.d.ts +7 -13
  23. package/dist/types/CommentView.d.ts +11 -13
  24. package/dist/types/Community.d.ts +25 -6
  25. package/dist/types/CommunityActions.d.ts +29 -0
  26. package/dist/types/CommunityIdQuery.d.ts +8 -0
  27. package/dist/types/CommunityNotificationsMode.d.ts +4 -0
  28. package/dist/types/CommunityReport.d.ts +2 -2
  29. package/dist/types/CommunityReportResponse.d.ts +7 -0
  30. package/dist/types/CommunityReportView.d.ts +4 -4
  31. package/dist/types/CommunityView.d.ts +4 -6
  32. package/dist/types/CommunityVisibility.d.ts +1 -1
  33. package/dist/types/CreateCommunityReport.d.ts +8 -0
  34. package/dist/types/CreateCommunityTag.d.ts +10 -0
  35. package/dist/types/CreateMultiCommunity.d.ts +5 -0
  36. package/dist/types/CreateOrDeleteMultiCommunityEntry.d.ts +6 -0
  37. package/dist/types/CreatePost.d.ts +1 -1
  38. package/dist/types/CreateSite.d.ts +18 -14
  39. package/dist/types/CustomEmoji.d.ts +2 -2
  40. package/dist/types/DeleteCommunityTag.d.ts +7 -0
  41. package/dist/types/EditPost.d.ts +2 -2
  42. package/dist/types/EditSite.d.ts +26 -21
  43. package/dist/types/ExportDataResponse.d.ts +13 -0
  44. package/dist/types/FederationBlockList.d.ts +3 -3
  45. package/dist/types/FederationError.d.ts +3 -1
  46. package/dist/types/FollowMultiCommunity.d.ts +5 -0
  47. package/dist/types/GetComments.d.ts +3 -3
  48. package/dist/types/GetCommentsResponse.d.ts +3 -0
  49. package/dist/types/GetCommentsSlimResponse.d.ts +3 -0
  50. package/dist/types/GetModlog.d.ts +3 -2
  51. package/dist/types/GetModlogResponse.d.ts +6 -0
  52. package/dist/types/GetMultiCommunity.d.ts +4 -0
  53. package/dist/types/GetMultiCommunityResponse.d.ts +6 -0
  54. package/dist/types/GetPosts.d.ts +3 -9
  55. package/dist/types/GetPostsResponse.d.ts +1 -0
  56. package/dist/types/GetSiteResponse.d.ts +4 -2
  57. package/dist/types/Instance.d.ts +13 -3
  58. package/dist/types/InstanceActions.d.ts +18 -0
  59. package/dist/types/InstanceWithFederationState.d.ts +11 -2
  60. package/dist/types/LemmyErrorType.d.ts +94 -29
  61. package/dist/types/LikeType.d.ts +4 -0
  62. package/dist/types/ListCommentLikes.d.ts +3 -1
  63. package/dist/types/ListCommentLikesResponse.d.ts +6 -0
  64. package/dist/types/ListCommunities.d.ts +3 -1
  65. package/dist/types/ListCommunitiesResponse.d.ts +6 -0
  66. package/dist/types/ListCommunityPendingFollows.d.ts +3 -1
  67. package/dist/types/ListCommunityPendingFollows.js +0 -1
  68. package/dist/types/ListCommunityPendingFollowsResponse.d.ts +6 -0
  69. package/dist/types/ListCustomEmojis.d.ts +0 -3
  70. package/dist/types/ListMedia.d.ts +3 -1
  71. package/dist/types/ListMedia.js +0 -1
  72. package/dist/types/ListMediaResponse.d.ts +6 -0
  73. package/dist/types/ListMultiCommunities.d.ts +5 -0
  74. package/dist/types/ListMultiCommunitiesResponse.d.ts +4 -0
  75. package/dist/types/ListNotifications.d.ts +12 -0
  76. package/dist/types/ListNotificationsResponse.d.ts +13 -0
  77. package/dist/types/ListPersonContent.d.ts +3 -2
  78. package/dist/types/ListPersonContentResponse.d.ts +6 -0
  79. package/dist/types/ListPersonHidden.d.ts +9 -0
  80. package/dist/types/ListPersonHiddenResponse.d.ts +13 -0
  81. package/dist/types/ListPersonLiked.d.ts +13 -0
  82. package/dist/types/ListPersonLikedResponse.d.ts +13 -0
  83. package/dist/types/ListPersonRead.d.ts +9 -0
  84. package/dist/types/ListPersonReadResponse.d.ts +13 -0
  85. package/dist/types/ListPersonSaved.d.ts +3 -2
  86. package/dist/types/ListPersonSavedResponse.d.ts +8 -2
  87. package/dist/types/ListPostLikes.d.ts +3 -1
  88. package/dist/types/ListPostLikesResponse.d.ts +6 -0
  89. package/dist/types/ListRegistrationApplications.d.ts +3 -1
  90. package/dist/types/ListRegistrationApplications.js +0 -1
  91. package/dist/types/ListRegistrationApplicationsResponse.d.ts +6 -0
  92. package/dist/types/ListReports.d.ts +3 -2
  93. package/dist/types/ListReportsResponse.d.ts +6 -0
  94. package/dist/types/ListTaglines.d.ts +3 -1
  95. package/dist/types/ListTaglines.js +0 -1
  96. package/dist/types/ListTaglinesResponse.d.ts +6 -0
  97. package/dist/types/ListingType.d.ts +1 -1
  98. package/dist/types/LocalImage.d.ts +8 -3
  99. package/dist/types/LocalImageView.d.ts +2 -0
  100. package/dist/types/LocalSite.d.ts +30 -11
  101. package/dist/types/LocalSiteRateLimit.d.ts +16 -16
  102. package/dist/types/LocalSiteUrlBlocklist.d.ts +2 -2
  103. package/dist/types/LocalUser.d.ts +7 -1
  104. package/dist/types/LocalUserView.d.ts +1 -4
  105. package/dist/types/LockComment.d.ts +6 -0
  106. package/dist/types/LockComment.js +2 -0
  107. package/dist/types/LockPost.d.ts +1 -0
  108. package/dist/types/Login.d.ts +3 -0
  109. package/dist/types/LoginToken.d.ts +1 -1
  110. package/dist/types/MarkNotificationAsRead.d.ts +8 -0
  111. package/dist/types/MarkNotificationAsRead.js +2 -0
  112. package/dist/types/ModAdd.d.ts +1 -1
  113. package/dist/types/ModAddCommunity.d.ts +1 -1
  114. package/dist/types/ModBan.d.ts +4 -2
  115. package/dist/types/ModBanFromCommunity.d.ts +2 -2
  116. package/dist/types/ModChangeCommunityVisibility.d.ts +11 -0
  117. package/dist/types/ModChangeCommunityVisibility.js +2 -0
  118. package/dist/types/ModChangeCommunityVisibilityId.d.ts +1 -0
  119. package/dist/types/ModChangeCommunityVisibilityView.d.ts +11 -0
  120. package/dist/types/ModChangeCommunityVisibilityView.js +2 -0
  121. package/dist/types/ModEditPost.d.ts +10 -0
  122. package/dist/types/ModEditPost.js +2 -0
  123. package/dist/types/ModFeaturePost.d.ts +1 -1
  124. package/dist/types/ModLockComment.d.ts +14 -0
  125. package/dist/types/ModLockComment.js +2 -0
  126. package/dist/types/ModLockCommentId.d.ts +1 -0
  127. package/dist/types/ModLockCommentView.d.ts +14 -0
  128. package/dist/types/ModLockCommentView.js +2 -0
  129. package/dist/types/ModLockPost.d.ts +2 -1
  130. package/dist/types/ModRemoveComment.d.ts +1 -1
  131. package/dist/types/ModRemoveCommunity.d.ts +1 -1
  132. package/dist/types/ModRemovePost.d.ts +1 -1
  133. package/dist/types/ModTransferCommunity.d.ts +1 -1
  134. package/dist/types/ModlogActionType.d.ts +1 -1
  135. package/dist/types/ModlogCombinedView.d.ts +7 -4
  136. package/dist/types/MultiCommunity.d.ts +17 -0
  137. package/dist/types/MultiCommunity.js +2 -0
  138. package/dist/types/MultiCommunityFollow.d.ts +8 -0
  139. package/dist/types/MultiCommunityFollow.js +2 -0
  140. package/dist/types/MultiCommunityId.d.ts +1 -0
  141. package/dist/types/MultiCommunityView.d.ts +6 -0
  142. package/dist/types/MultiCommunityView.js +2 -0
  143. package/dist/types/MyUserInfo.d.ts +3 -1
  144. package/dist/types/NotePerson.d.ts +10 -0
  145. package/dist/types/NotePerson.js +2 -0
  146. package/dist/types/Notification.d.ts +16 -0
  147. package/dist/types/Notification.js +2 -0
  148. package/dist/types/NotificationData.d.ts +10 -0
  149. package/dist/types/NotificationData.js +2 -0
  150. package/dist/types/NotificationDataType.d.ts +4 -0
  151. package/dist/types/NotificationId.d.ts +1 -0
  152. package/dist/types/NotificationTypes.d.ts +4 -0
  153. package/dist/types/NotificationView.d.ts +6 -0
  154. package/dist/types/NotificationView.js +2 -0
  155. package/dist/types/OAuthAccount.d.ts +2 -2
  156. package/dist/types/OAuthProvider.d.ts +2 -2
  157. package/dist/types/PaginationCursor.d.ts +1 -4
  158. package/dist/types/PendingFollow.d.ts +2 -2
  159. package/dist/types/Person.d.ts +4 -10
  160. package/dist/types/PersonActions.d.ts +26 -0
  161. package/dist/types/PersonLikedCombinedView.d.ts +7 -0
  162. package/dist/types/PersonLikedCombinedView.js +2 -0
  163. package/dist/types/PersonSavedCombinedView.d.ts +7 -0
  164. package/dist/types/PersonSavedCombinedView.js +2 -0
  165. package/dist/types/PersonView.d.ts +3 -2
  166. package/dist/types/PluginMetadata.d.ts +5 -0
  167. package/dist/types/Post.d.ts +18 -3
  168. package/dist/types/PostActions.d.ts +33 -0
  169. package/dist/types/PostActions.js +2 -0
  170. package/dist/types/PostNotificationsMode.d.ts +4 -0
  171. package/dist/types/PostNotificationsMode.js +3 -0
  172. package/dist/types/PostOrCommentOrPrivateMessage.d.ts +10 -0
  173. package/dist/types/PostOrCommentOrPrivateMessage.js +2 -0
  174. package/dist/types/PostReport.d.ts +2 -2
  175. package/dist/types/PostReportView.d.ts +10 -16
  176. package/dist/types/PostView.d.ts +11 -18
  177. package/dist/types/PrivateMessage.d.ts +2 -3
  178. package/dist/types/PrivateMessageReport.d.ts +2 -2
  179. package/dist/types/PrivateMessageReportView.d.ts +3 -1
  180. package/dist/types/ReadableFederationState.d.ts +2 -2
  181. package/dist/types/RegistrationApplication.d.ts +1 -1
  182. package/dist/types/ResolveCommunityReport.d.ts +8 -0
  183. package/dist/types/ResolveCommunityReport.js +2 -0
  184. package/dist/types/SaveUserSettings.d.ts +7 -1
  185. package/dist/types/Search.d.ts +8 -3
  186. package/dist/types/SearchCombinedView.d.ts +4 -1
  187. package/dist/types/SearchResponse.d.ts +6 -0
  188. package/dist/types/SearchType.d.ts +1 -1
  189. package/dist/types/Site.d.ts +4 -3
  190. package/dist/types/SiteResponse.d.ts +0 -4
  191. package/dist/types/SiteView.d.ts +2 -2
  192. package/dist/types/Tag.d.ts +7 -13
  193. package/dist/types/Tagline.d.ts +4 -3
  194. package/dist/types/Tagline.js +0 -1
  195. package/dist/types/TagsView.d.ts +5 -0
  196. package/dist/types/TagsView.js +2 -0
  197. package/dist/types/UpdateCommunityNotifications.d.ts +9 -0
  198. package/dist/types/UpdateCommunityNotifications.js +2 -0
  199. package/dist/types/UpdateCommunityTag.d.ts +9 -0
  200. package/dist/types/UpdateCommunityTag.js +2 -0
  201. package/dist/types/UpdateMultiCommunity.d.ts +7 -0
  202. package/dist/types/UpdateMultiCommunity.js +2 -0
  203. package/dist/types/UpdatePostNotifications.d.ts +9 -0
  204. package/dist/types/UpdatePostNotifications.js +2 -0
  205. package/dist/types/UserBlockInstanceCommunitiesParams.d.ts +8 -0
  206. package/dist/types/UserBlockInstanceCommunitiesParams.js +2 -0
  207. package/dist/types/{UserBlockInstanceParams.d.ts → UserBlockInstancePersonsParams.d.ts} +2 -2
  208. package/dist/types/UserBlockInstancePersonsParams.js +2 -0
  209. package/dist/types/UserSettingsBackup.d.ts +31 -0
  210. package/dist/types/UserSettingsBackup.js +2 -0
  211. package/dist/types/VoteShow.d.ts +4 -0
  212. package/dist/types/VoteShow.js +3 -0
  213. package/dist/types/VoteView.d.ts +1 -0
  214. package/package.json +10 -6
  215. package/dist/types/BannedPersonsResponse.d.ts +0 -7
  216. package/dist/types/CommentAggregates.d.ts +0 -17
  217. package/dist/types/CommentReply.d.ts +0 -13
  218. package/dist/types/CommentReplyId.d.ts +0 -4
  219. package/dist/types/CommentReplyView.d.ts +0 -31
  220. package/dist/types/CommunityAggregates.d.ts +0 -30
  221. package/dist/types/InboxCombinedPaginationCursor.d.ts +0 -4
  222. package/dist/types/InboxCombinedView.d.ts +0 -13
  223. package/dist/types/InboxDataType.d.ts +0 -4
  224. package/dist/types/ListInbox.d.ts +0 -11
  225. package/dist/types/ListInboxResponse.d.ts +0 -7
  226. package/dist/types/LocalUserVoteDisplayMode.d.ts +0 -9
  227. package/dist/types/MarkCommentReplyAsRead.d.ts +0 -8
  228. package/dist/types/MarkPersonCommentMentionAsRead.d.ts +0 -8
  229. package/dist/types/MarkPersonPostMentionAsRead.d.ts +0 -8
  230. package/dist/types/ModHideCommunity.d.ts +0 -14
  231. package/dist/types/ModHideCommunityId.d.ts +0 -1
  232. package/dist/types/ModHideCommunityView.d.ts +0 -11
  233. package/dist/types/ModlogCombinedPaginationCursor.d.ts +0 -4
  234. package/dist/types/PersonAggregates.d.ts +0 -10
  235. package/dist/types/PersonCommentMention.d.ts +0 -13
  236. package/dist/types/PersonCommentMentionId.d.ts +0 -4
  237. package/dist/types/PersonCommentMentionView.d.ts +0 -31
  238. package/dist/types/PersonContentCombinedPaginationCursor.d.ts +0 -4
  239. package/dist/types/PersonPostMention.d.ts +0 -13
  240. package/dist/types/PersonPostMentionId.d.ts +0 -4
  241. package/dist/types/PersonPostMentionView.d.ts +0 -36
  242. package/dist/types/PersonSavedCombinedPaginationCursor.d.ts +0 -4
  243. package/dist/types/PostAggregates.d.ts +0 -18
  244. package/dist/types/PostTags.d.ts +0 -7
  245. package/dist/types/ReportCombinedPaginationCursor.d.ts +0 -4
  246. package/dist/types/ResolveObjectResponse.d.ts +0 -13
  247. package/dist/types/SearchCombinedPaginationCursor.d.ts +0 -4
  248. package/dist/types/SiteAggregates.d.ts +0 -27
  249. package/dist/types/SubscribedType.d.ts +0 -4
  250. /package/dist/types/{BannedPersonsResponse.js → AdminListUsers.js} +0 -0
  251. /package/dist/types/{CommentAggregates.js → AdminListUsersResponse.js} +0 -0
  252. /package/dist/types/{CommentReplyId.js → CommentActions.js} +0 -0
  253. /package/dist/types/{CommentReply.js → CommunityActions.js} +0 -0
  254. /package/dist/types/{CommentReplyView.js → CommunityIdQuery.js} +0 -0
  255. /package/dist/types/{InboxCombinedPaginationCursor.js → CommunityNotificationsMode.js} +0 -0
  256. /package/dist/types/{CommunityAggregates.js → CommunityReportResponse.js} +0 -0
  257. /package/dist/types/{InboxCombinedView.js → CreateCommunityReport.js} +0 -0
  258. /package/dist/types/{ListInbox.js → CreateCommunityTag.js} +0 -0
  259. /package/dist/types/{InboxDataType.js → CreateMultiCommunity.js} +0 -0
  260. /package/dist/types/{ListInboxResponse.js → CreateOrDeleteMultiCommunityEntry.js} +0 -0
  261. /package/dist/types/{MarkCommentReplyAsRead.js → DeleteCommunityTag.js} +0 -0
  262. /package/dist/types/{MarkPersonCommentMentionAsRead.js → ExportDataResponse.js} +0 -0
  263. /package/dist/types/{MarkPersonPostMentionAsRead.js → FollowMultiCommunity.js} +0 -0
  264. /package/dist/types/{ModHideCommunity.js → GetMultiCommunity.js} +0 -0
  265. /package/dist/types/{ModHideCommunityView.js → GetMultiCommunityResponse.js} +0 -0
  266. /package/dist/types/{LocalUserVoteDisplayMode.js → InstanceActions.js} +0 -0
  267. /package/dist/types/{ModHideCommunityId.js → LikeType.js} +0 -0
  268. /package/dist/types/{PersonAggregates.js → ListMultiCommunities.js} +0 -0
  269. /package/dist/types/{PersonCommentMention.js → ListMultiCommunitiesResponse.js} +0 -0
  270. /package/dist/types/{PersonCommentMentionView.js → ListNotifications.js} +0 -0
  271. /package/dist/types/{PersonPostMention.js → ListNotificationsResponse.js} +0 -0
  272. /package/dist/types/{PersonPostMentionView.js → ListPersonHidden.js} +0 -0
  273. /package/dist/types/{PostAggregates.js → ListPersonHiddenResponse.js} +0 -0
  274. /package/dist/types/{PostTags.js → ListPersonLiked.js} +0 -0
  275. /package/dist/types/{ResolveObjectResponse.js → ListPersonLikedResponse.js} +0 -0
  276. /package/dist/types/{SiteAggregates.js → ListPersonRead.js} +0 -0
  277. /package/dist/types/{UserBlockInstanceParams.js → ListPersonReadResponse.js} +0 -0
  278. /package/dist/types/{ModlogCombinedPaginationCursor.js → ModChangeCommunityVisibilityId.js} +0 -0
  279. /package/dist/types/{PersonCommentMentionId.js → ModLockCommentId.js} +0 -0
  280. /package/dist/types/{PersonContentCombinedPaginationCursor.js → MultiCommunityId.js} +0 -0
  281. /package/dist/types/{PersonPostMentionId.js → NotificationDataType.js} +0 -0
  282. /package/dist/types/{PersonSavedCombinedPaginationCursor.js → NotificationId.js} +0 -0
  283. /package/dist/types/{ReportCombinedPaginationCursor.js → NotificationTypes.js} +0 -0
  284. /package/dist/types/{SearchCombinedPaginationCursor.js → PersonActions.js} +0 -0
  285. /package/dist/types/{SubscribedType.js → PluginMetadata.js} +0 -0
@@ -20,8 +20,8 @@ export type Community = {
20
20
  * Whether the community is removed by a mod.
21
21
  */
22
22
  removed: boolean;
23
- published: string;
24
- updated?: string;
23
+ published_at: string;
24
+ updated_at?: string;
25
25
  /**
26
26
  * Whether the community has been deleted by its creator.
27
27
  */
@@ -46,10 +46,6 @@ export type Community = {
46
46
  * A URL for a banner.
47
47
  */
48
48
  banner?: DbUrl;
49
- /**
50
- * Whether the community is hidden.
51
- */
52
- hidden: boolean;
53
49
  /**
54
50
  * Whether posting is restricted to mods only.
55
51
  */
@@ -60,4 +56,27 @@ export type Community = {
60
56
  * A shorter, one-line description of the site.
61
57
  */
62
58
  description?: string;
59
+ subscribers: number;
60
+ posts: number;
61
+ comments: number;
62
+ /**
63
+ * The number of users with any activity in the last day.
64
+ */
65
+ users_active_day: number;
66
+ /**
67
+ * The number of users with any activity in the last week.
68
+ */
69
+ users_active_week: number;
70
+ /**
71
+ * The number of users with any activity in the last month.
72
+ */
73
+ users_active_month: number;
74
+ /**
75
+ * The number of users with any activity in the last year.
76
+ */
77
+ users_active_half_year: number;
78
+ subscribers_local: number;
79
+ report_count: number;
80
+ unresolved_report_count: number;
81
+ local_removed: boolean;
63
82
  };
@@ -0,0 +1,29 @@
1
+ import type { CommunityFollowerState } from "./CommunityFollowerState";
2
+ import type { CommunityNotificationsMode } from "./CommunityNotificationsMode";
3
+ export type CommunityActions = {
4
+ /**
5
+ * When the community was followed.
6
+ */
7
+ followed_at?: string;
8
+ /**
9
+ * The state of the community follow.
10
+ */
11
+ follow_state?: CommunityFollowerState;
12
+ /**
13
+ * When the community was blocked.
14
+ */
15
+ blocked_at?: string;
16
+ /**
17
+ * When this user became a moderator.
18
+ */
19
+ became_moderator_at?: string;
20
+ /**
21
+ * When this user received a ban.
22
+ */
23
+ received_ban_at?: string;
24
+ /**
25
+ * When their ban expires.
26
+ */
27
+ ban_expires_at?: string;
28
+ notifications?: CommunityNotificationsMode;
29
+ };
@@ -0,0 +1,8 @@
1
+ import type { CommunityId } from "./CommunityId";
2
+ /**
3
+ * Parameter for setting community icon or banner. Can't use POST data here as it already contains
4
+ * the image data.
5
+ */
6
+ export type CommunityIdQuery = {
7
+ id: CommunityId;
8
+ };
@@ -0,0 +1,4 @@
1
+ /**
2
+ * Available settings for community notifications
3
+ */
4
+ export type CommunityNotificationsMode = "AllPostsAndComments" | "AllPosts" | "RepliesAndMentions" | "Mute";
@@ -17,6 +17,6 @@ export type CommunityReport = {
17
17
  reason: string;
18
18
  resolved: boolean;
19
19
  resolver_id?: PersonId;
20
- published: string;
21
- updated?: string;
20
+ published_at: string;
21
+ updated_at?: string;
22
22
  };
@@ -0,0 +1,7 @@
1
+ import type { CommunityReportView } from "./CommunityReportView";
2
+ /**
3
+ * A community report response.
4
+ */
5
+ export type CommunityReportResponse = {
6
+ community_report_view: CommunityReportView;
7
+ };
@@ -1,8 +1,6 @@
1
1
  import type { Community } from "./Community";
2
- import type { CommunityAggregates } from "./CommunityAggregates";
3
2
  import type { CommunityReport } from "./CommunityReport";
4
3
  import type { Person } from "./Person";
5
- import type { SubscribedType } from "./SubscribedType";
6
4
  /**
7
5
  * A community report view.
8
6
  */
@@ -10,7 +8,9 @@ export type CommunityReportView = {
10
8
  community_report: CommunityReport;
11
9
  community: Community;
12
10
  creator: Person;
13
- counts: CommunityAggregates;
14
- subscribed: SubscribedType;
15
11
  resolver?: Person;
12
+ creator_is_admin: boolean;
13
+ creator_is_moderator: boolean;
14
+ creator_banned: boolean;
15
+ creator_banned_from_community: boolean;
16
16
  };
@@ -1,14 +1,12 @@
1
1
  import type { Community } from "./Community";
2
- import type { CommunityAggregates } from "./CommunityAggregates";
3
- import type { SubscribedType } from "./SubscribedType";
2
+ import type { CommunityActions } from "./CommunityActions";
3
+ import type { TagsView } from "./TagsView";
4
4
  /**
5
5
  * A community view.
6
6
  */
7
7
  export type CommunityView = {
8
8
  community: Community;
9
- subscribed: SubscribedType;
10
- blocked: boolean;
11
- counts: CommunityAggregates;
12
- banned_from_community: boolean;
9
+ community_actions?: CommunityActions;
13
10
  can_mod: boolean;
11
+ post_tags: TagsView;
14
12
  };
@@ -1,4 +1,4 @@
1
1
  /**
2
2
  * Defines who can browse and interact with content in a community.
3
3
  */
4
- export type CommunityVisibility = "Public" | "LocalOnly" | "Private";
4
+ export type CommunityVisibility = "Public" | "Unlisted" | "LocalOnlyPublic" | "LocalOnlyPrivate" | "Private";
@@ -0,0 +1,8 @@
1
+ import type { CommunityId } from "./CommunityId";
2
+ /**
3
+ * Create a report for a community.
4
+ */
5
+ export type CreateCommunityReport = {
6
+ community_id: CommunityId;
7
+ reason: string;
8
+ };
@@ -0,0 +1,10 @@
1
+ import type { CommunityId } from "./CommunityId";
2
+ /**
3
+ * Create a tag for a community.
4
+ */
5
+ export type CreateCommunityTag = {
6
+ community_id: CommunityId;
7
+ name: string;
8
+ display_name?: string;
9
+ description?: string;
10
+ };
@@ -0,0 +1,5 @@
1
+ export type CreateMultiCommunity = {
2
+ name: string;
3
+ title?: string;
4
+ description?: string;
5
+ };
@@ -0,0 +1,6 @@
1
+ import type { CommunityId } from "./CommunityId";
2
+ import type { MultiCommunityId } from "./MultiCommunityId";
3
+ export type CreateOrDeleteMultiCommunityEntry = {
4
+ id: MultiCommunityId;
5
+ community_id: CommunityId;
6
+ };
@@ -30,5 +30,5 @@ export type CreatePost = {
30
30
  /**
31
31
  * Time when this post should be scheduled. Null means publish immediately.
32
32
  */
33
- scheduled_publish_time?: number;
33
+ scheduled_publish_time_at?: number;
34
34
  };
@@ -2,6 +2,7 @@ import type { CommentSortType } from "./CommentSortType";
2
2
  import type { FederationMode } from "./FederationMode";
3
3
  import type { LanguageId } from "./LanguageId";
4
4
  import type { ListingType } from "./ListingType";
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";
@@ -24,22 +25,23 @@ export type CreateSite = {
24
25
  default_comment_sort_type?: CommentSortType;
25
26
  legal_information?: string;
26
27
  application_email_admins?: boolean;
27
- hide_modlog_mod_names?: boolean;
28
28
  discussion_languages?: Array<LanguageId>;
29
29
  slur_filter_regex?: string;
30
30
  actor_name_max_length?: number;
31
- rate_limit_message?: number;
32
- rate_limit_message_per_second?: number;
33
- rate_limit_post?: number;
34
- rate_limit_post_per_second?: number;
35
- rate_limit_register?: number;
36
- rate_limit_register_per_second?: number;
37
- rate_limit_image?: number;
38
- rate_limit_image_per_second?: number;
39
- rate_limit_comment?: number;
40
- rate_limit_comment_per_second?: number;
41
- rate_limit_search?: number;
42
- rate_limit_search_per_second?: number;
31
+ rate_limit_message_max_requests?: number;
32
+ rate_limit_message_interval_seconds?: number;
33
+ rate_limit_post_max_requests?: number;
34
+ rate_limit_post_interval_seconds?: number;
35
+ rate_limit_register_max_requests?: number;
36
+ rate_limit_register_interval_seconds?: number;
37
+ rate_limit_image_max_requests?: number;
38
+ rate_limit_image_interval_seconds?: number;
39
+ rate_limit_comment_max_requests?: number;
40
+ rate_limit_comment_interval_seconds?: number;
41
+ rate_limit_search_max_requests?: number;
42
+ rate_limit_search_interval_seconds?: number;
43
+ rate_limit_import_user_settings_max_requests?: number;
44
+ rate_limit_import_user_settings_interval_seconds?: number;
43
45
  federation_enabled?: boolean;
44
46
  captcha_enabled?: boolean;
45
47
  captcha_difficulty?: string;
@@ -50,5 +52,7 @@ export type CreateSite = {
50
52
  post_downvotes?: FederationMode;
51
53
  comment_upvotes?: FederationMode;
52
54
  comment_downvotes?: FederationMode;
53
- disable_donation_dialog?: boolean;
55
+ disallow_nsfw_content?: boolean;
56
+ disable_email_notifications?: boolean;
57
+ suggested_communities?: MultiCommunityId;
54
58
  };
@@ -9,6 +9,6 @@ export type CustomEmoji = {
9
9
  image_url: DbUrl;
10
10
  alt_text: string;
11
11
  category: string;
12
- published: string;
13
- updated?: string;
12
+ published_at: string;
13
+ updated_at?: string;
14
14
  };
@@ -0,0 +1,7 @@
1
+ import type { TagId } from "./TagId";
2
+ /**
3
+ * Delete a community tag.
4
+ */
5
+ export type DeleteCommunityTag = {
6
+ tag_id: TagId;
7
+ };
@@ -22,9 +22,9 @@ export type EditPost = {
22
22
  * Instead of fetching a thumbnail, use a custom one.
23
23
  */
24
24
  custom_thumbnail?: string;
25
- tags?: Array<TagId>;
26
25
  /**
27
26
  * Time when this post should be scheduled. Null means publish immediately.
28
27
  */
29
- scheduled_publish_time?: number;
28
+ scheduled_publish_time_at?: number;
29
+ tags?: Array<TagId>;
30
30
  };
@@ -2,6 +2,7 @@ import type { CommentSortType } from "./CommentSortType";
2
2
  import type { FederationMode } from "./FederationMode";
3
3
  import type { LanguageId } from "./LanguageId";
4
4
  import type { ListingType } from "./ListingType";
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";
@@ -66,10 +67,6 @@ export type EditSite = {
66
67
  * Whether to email admins when receiving a new application.
67
68
  */
68
69
  application_email_admins?: boolean;
69
- /**
70
- * Whether to hide moderator names from the modlog.
71
- */
72
- hide_modlog_mod_names?: boolean;
73
70
  /**
74
71
  * A list of allowed discussion languages.
75
72
  */
@@ -85,33 +82,38 @@ export type EditSite = {
85
82
  /**
86
83
  * The number of messages allowed in a given time frame.
87
84
  */
88
- rate_limit_message?: number;
89
- rate_limit_message_per_second?: number;
85
+ rate_limit_message_max_requests?: number;
86
+ rate_limit_message_interval_seconds?: number;
90
87
  /**
91
88
  * The number of posts allowed in a given time frame.
92
89
  */
93
- rate_limit_post?: number;
94
- rate_limit_post_per_second?: number;
90
+ rate_limit_post_max_requests?: number;
91
+ rate_limit_post_interval_seconds?: number;
95
92
  /**
96
93
  * The number of registrations allowed in a given time frame.
97
94
  */
98
- rate_limit_register?: number;
99
- rate_limit_register_per_second?: number;
95
+ rate_limit_register_max_requests?: number;
96
+ rate_limit_register_interval_seconds?: number;
100
97
  /**
101
98
  * The number of image uploads allowed in a given time frame.
102
99
  */
103
- rate_limit_image?: number;
104
- rate_limit_image_per_second?: number;
100
+ rate_limit_image_max_requests?: number;
101
+ rate_limit_image_interval_seconds?: number;
105
102
  /**
106
103
  * The number of comments allowed in a given time frame.
107
104
  */
108
- rate_limit_comment?: number;
109
- rate_limit_comment_per_second?: number;
105
+ rate_limit_comment_max_requests?: number;
106
+ rate_limit_comment_interval_seconds?: number;
110
107
  /**
111
108
  * The number of searches allowed in a given time frame.
112
109
  */
113
- rate_limit_search?: number;
114
- rate_limit_search_per_second?: number;
110
+ rate_limit_search_max_requests?: number;
111
+ rate_limit_search_interval_seconds?: number;
112
+ /**
113
+ * The number of settings imports or exports allowed in a given time frame.
114
+ */
115
+ rate_limit_import_user_settings_max_requests?: number;
116
+ rate_limit_import_user_settings_interval_seconds?: number;
115
117
  /**
116
118
  * Whether to enable federation.
117
119
  */
@@ -158,13 +160,16 @@ export type EditSite = {
158
160
  * What kind of comment downvotes your site allows.
159
161
  */
160
162
  comment_downvotes?: FederationMode;
161
- /**
162
- * If this is true, users will never see the dialog asking to support Lemmy development with
163
- * donations.
164
- */
165
- disable_donation_dialog?: boolean;
166
163
  /**
167
164
  * Block NSFW content being created
168
165
  */
169
166
  disallow_nsfw_content?: boolean;
167
+ /**
168
+ * Dont send email notifications to users for new replies, mentions etc
169
+ */
170
+ disable_email_notifications?: boolean;
171
+ /**
172
+ * A multicommunity with suggested communities which is shown on the homepage
173
+ */
174
+ suggested_communities?: MultiCommunityId;
170
175
  };
@@ -0,0 +1,13 @@
1
+ import type { PostOrCommentOrPrivateMessage } from "./PostOrCommentOrPrivateMessage";
2
+ import type { UserSettingsBackup } from "./UserSettingsBackup";
3
+ /**
4
+ * Your exported data.
5
+ */
6
+ export type ExportDataResponse = {
7
+ notifications: Array<PostOrCommentOrPrivateMessage>;
8
+ content: Array<PostOrCommentOrPrivateMessage>;
9
+ read_posts: Array<string>;
10
+ liked: Array<string>;
11
+ moderates: Array<string>;
12
+ settings: UserSettingsBackup;
13
+ };
@@ -1,7 +1,7 @@
1
1
  import type { InstanceId } from "./InstanceId";
2
2
  export type FederationBlockList = {
3
3
  instance_id: InstanceId;
4
- published: string;
5
- updated?: string;
6
- expires?: string;
4
+ published_at: string;
5
+ updated_at?: string;
6
+ expires_at?: string;
7
7
  };
@@ -7,4 +7,6 @@ export type FederationError = "InvalidCommunity" | "CannotCreatePostOrCommentInD
7
7
  DomainBlocked: string;
8
8
  } | {
9
9
  DomainNotInAllowList: string;
10
- } | "FederationDisabledByStrictAllowList" | "ContradictingFilters" | "UrlWithoutDomain" | "InboxTimeout" | "CantDeleteSite" | "ObjectIsNotPublic" | "ObjectIsNotPrivate" | "PlatformLackingPrivateCommunitySupport" | "Unreachable";
10
+ } | "FederationDisabledByStrictAllowList" | "ContradictingFilters" | "UrlWithoutDomain" | "InboxTimeout" | "CantDeleteSite" | "ObjectIsNotPublic" | "ObjectIsNotPrivate" | {
11
+ InvalidFollow: string;
12
+ } | "Unreachable";
@@ -0,0 +1,5 @@
1
+ import type { MultiCommunityId } from "./MultiCommunityId";
2
+ export type FollowMultiCommunity = {
3
+ multi_community_id: MultiCommunityId;
4
+ follow: boolean;
5
+ };
@@ -2,6 +2,7 @@ import type { CommentId } from "./CommentId";
2
2
  import type { CommentSortType } from "./CommentSortType";
3
3
  import type { CommunityId } from "./CommunityId";
4
4
  import type { ListingType } from "./ListingType";
5
+ import type { PaginationCursor } from "./PaginationCursor";
5
6
  import type { PostId } from "./PostId";
6
7
  /**
7
8
  * Get a list of comments.
@@ -15,12 +16,11 @@ export type GetComments = {
15
16
  */
16
17
  time_range_seconds?: number;
17
18
  max_depth?: number;
18
- page?: number;
19
+ page_cursor?: PaginationCursor;
20
+ page_back?: boolean;
19
21
  limit?: number;
20
22
  community_id?: CommunityId;
21
23
  community_name?: string;
22
24
  post_id?: PostId;
23
25
  parent_id?: CommentId;
24
- liked_only?: boolean;
25
- disliked_only?: boolean;
26
26
  };
@@ -1,7 +1,10 @@
1
1
  import type { CommentView } from "./CommentView";
2
+ import type { PaginationCursor } from "./PaginationCursor";
2
3
  /**
3
4
  * The comment list response.
4
5
  */
5
6
  export type GetCommentsResponse = {
6
7
  comments: Array<CommentView>;
8
+ next_page?: PaginationCursor;
9
+ prev_page?: PaginationCursor;
7
10
  };
@@ -1,7 +1,10 @@
1
1
  import type { CommentSlimView } from "./CommentSlimView";
2
+ import type { PaginationCursor } from "./PaginationCursor";
2
3
  /**
3
4
  * A slimmer comment list response, without the post or community.
4
5
  */
5
6
  export type GetCommentsSlimResponse = {
6
7
  comments: Array<CommentSlimView>;
8
+ next_page?: PaginationCursor;
9
+ prev_page?: PaginationCursor;
7
10
  };
@@ -2,7 +2,7 @@ import type { CommentId } from "./CommentId";
2
2
  import type { CommunityId } from "./CommunityId";
3
3
  import type { ListingType } from "./ListingType";
4
4
  import type { ModlogActionType } from "./ModlogActionType";
5
- import type { ModlogCombinedPaginationCursor } from "./ModlogCombinedPaginationCursor";
5
+ import type { PaginationCursor } from "./PaginationCursor";
6
6
  import type { PersonId } from "./PersonId";
7
7
  import type { PostId } from "./PostId";
8
8
  /**
@@ -38,6 +38,7 @@ export type GetModlog = {
38
38
  * Filter by comment.
39
39
  */
40
40
  comment_id?: CommentId;
41
- page_cursor?: ModlogCombinedPaginationCursor;
41
+ page_cursor?: PaginationCursor;
42
42
  page_back?: boolean;
43
+ limit?: number;
43
44
  };
@@ -1,7 +1,13 @@
1
1
  import type { ModlogCombinedView } from "./ModlogCombinedView";
2
+ import type { PaginationCursor } from "./PaginationCursor";
2
3
  /**
3
4
  * The modlog fetch response.
4
5
  */
5
6
  export type GetModlogResponse = {
6
7
  modlog: Array<ModlogCombinedView>;
8
+ /**
9
+ * the pagination cursor to use to fetch the next page
10
+ */
11
+ next_page?: PaginationCursor;
12
+ prev_page?: PaginationCursor;
7
13
  };
@@ -0,0 +1,4 @@
1
+ import type { MultiCommunityId } from "./MultiCommunityId";
2
+ export type GetMultiCommunity = {
3
+ id: MultiCommunityId;
4
+ };
@@ -0,0 +1,6 @@
1
+ import type { CommunityView } from "./CommunityView";
2
+ import type { MultiCommunityView } from "./MultiCommunityView";
3
+ export type GetMultiCommunityResponse = {
4
+ multi_community_view: MultiCommunityView;
5
+ communities: Array<CommunityView>;
6
+ };
@@ -1,5 +1,6 @@
1
1
  import type { CommunityId } from "./CommunityId";
2
2
  import type { ListingType } from "./ListingType";
3
+ import type { MultiCommunityId } from "./MultiCommunityId";
3
4
  import type { PaginationCursor } from "./PaginationCursor";
4
5
  import type { PostSortType } from "./PostSortType";
5
6
  /**
@@ -14,17 +15,9 @@ export type GetPosts = {
14
15
  * Use Zero to override the local_site and local_user time_range.
15
16
  */
16
17
  time_range_seconds?: number;
17
- /**
18
- * DEPRECATED, use page_cursor
19
- */
20
- page?: number;
21
- limit?: number;
22
18
  community_id?: CommunityId;
23
19
  community_name?: string;
24
- saved_only?: boolean;
25
- read_only?: boolean;
26
- liked_only?: boolean;
27
- disliked_only?: boolean;
20
+ multi_community_id?: MultiCommunityId;
28
21
  show_hidden?: boolean;
29
22
  /**
30
23
  * If true, then show the read posts (even if your user setting is to hide them)
@@ -48,4 +41,5 @@ export type GetPosts = {
48
41
  no_comments_only?: boolean;
49
42
  page_cursor?: PaginationCursor;
50
43
  page_back?: boolean;
44
+ limit?: number;
51
45
  };
@@ -9,4 +9,5 @@ export type GetPostsResponse = {
9
9
  * the pagination cursor to use to fetch the next page
10
10
  */
11
11
  next_page?: PaginationCursor;
12
+ prev_page?: PaginationCursor;
12
13
  };
@@ -3,6 +3,7 @@ import type { LanguageId } from "./LanguageId";
3
3
  import type { LocalSiteUrlBlocklist } from "./LocalSiteUrlBlocklist";
4
4
  import type { OAuthProvider } from "./OAuthProvider";
5
5
  import type { PersonView } from "./PersonView";
6
+ import type { PluginMetadata } from "./PluginMetadata";
6
7
  import type { PublicOAuthProvider } from "./PublicOAuthProvider";
7
8
  import type { SiteView } from "./SiteView";
8
9
  import type { Tagline } from "./Tagline";
@@ -22,8 +23,9 @@ export type GetSiteResponse = {
22
23
  /**
23
24
  * A list of external auth methods your site supports.
24
25
  */
25
- oauth_providers?: Array<PublicOAuthProvider>;
26
- admin_oauth_providers?: Array<OAuthProvider>;
26
+ oauth_providers: Array<PublicOAuthProvider>;
27
+ admin_oauth_providers: Array<OAuthProvider>;
27
28
  blocked_urls: Array<LocalSiteUrlBlocklist>;
28
29
  image_upload_disabled: boolean;
30
+ active_plugins: Array<PluginMetadata>;
29
31
  };
@@ -1,12 +1,22 @@
1
1
  import type { InstanceId } from "./InstanceId";
2
2
  /**
3
- * A federated instance / site.
3
+ * Basic data about a Fediverse instance which is available for every known domain. Additional
4
+ * data may be available in [[Site]].
4
5
  */
5
6
  export type Instance = {
6
7
  id: InstanceId;
7
8
  domain: string;
8
- published: string;
9
- updated?: string;
9
+ published_at: string;
10
+ /**
11
+ * When the instance was updated.
12
+ */
13
+ updated_at?: string;
14
+ /**
15
+ * The software of the instance.
16
+ */
10
17
  software?: string;
18
+ /**
19
+ * The version of the instance's software.
20
+ */
11
21
  version?: string;
12
22
  };
@@ -0,0 +1,18 @@
1
+ export type InstanceActions = {
2
+ /**
3
+ * When the instance's communities were blocked.
4
+ */
5
+ blocked_communities_at?: string;
6
+ /**
7
+ * When this user received a site ban.
8
+ */
9
+ received_ban_at?: string;
10
+ /**
11
+ * When their ban expires.
12
+ */
13
+ ban_expires_at?: string;
14
+ /**
15
+ * When the instance's persons were blocked.
16
+ */
17
+ blocked_persons_at?: string;
18
+ };
@@ -8,8 +8,17 @@ export type InstanceWithFederationState = {
8
8
  federation_state?: ReadableFederationState;
9
9
  id: InstanceId;
10
10
  domain: string;
11
- published: string;
12
- updated?: string;
11
+ published_at: string;
12
+ /**
13
+ * When the instance was updated.
14
+ */
15
+ updated_at?: string;
16
+ /**
17
+ * The software of the instance.
18
+ */
13
19
  software?: string;
20
+ /**
21
+ * The version of the instance's software.
22
+ */
14
23
  version?: string;
15
24
  };