lemmy-js-client 1.0.0-block-nsfw.1 → 1.0.0-comment-lock.1

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 (315) hide show
  1. package/README.md +6 -0
  2. package/dist/http.d.ts +134 -47
  3. package/dist/http.js +1155 -923
  4. package/dist/index.d.ts +77 -49
  5. package/dist/other_types.d.ts +23 -2
  6. package/dist/types/AdminAdd.d.ts +12 -0
  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/AdminBan.d.ts +16 -0
  11. package/dist/types/AdminBanId.d.ts +1 -0
  12. package/dist/types/{ModBanView.d.ts → AdminBanView.d.ts} +3 -3
  13. package/dist/types/AdminBlockInstance.d.ts +2 -2
  14. package/dist/types/AdminBlockInstanceParams.d.ts +1 -1
  15. package/dist/types/AdminListUsers.d.ts +7 -0
  16. package/dist/types/AdminListUsersResponse.d.ts +10 -0
  17. package/dist/types/AdminPurgeComment.d.ts +1 -1
  18. package/dist/types/AdminPurgeCommunity.d.ts +1 -1
  19. package/dist/types/AdminPurgePerson.d.ts +1 -1
  20. package/dist/types/AdminPurgePost.d.ts +1 -1
  21. package/dist/types/{ModRemoveCommunity.d.ts → AdminRemoveCommunity.d.ts} +4 -4
  22. package/dist/types/AdminRemoveCommunityId.d.ts +1 -0
  23. package/dist/types/AdminRemoveCommunityView.d.ts +11 -0
  24. package/dist/types/BanFromCommunity.d.ts +1 -1
  25. package/dist/types/BanPerson.d.ts +1 -1
  26. package/dist/types/Comment.d.ts +20 -2
  27. package/dist/types/CommentActions.d.ts +14 -0
  28. package/dist/types/CommentReport.d.ts +2 -2
  29. package/dist/types/CommentReportView.d.ts +10 -13
  30. package/dist/types/CommentResponse.d.ts +0 -2
  31. package/dist/types/CommentSlimView.d.ts +7 -13
  32. package/dist/types/CommentView.d.ts +13 -13
  33. package/dist/types/Community.d.ts +25 -6
  34. package/dist/types/CommunityActions.d.ts +29 -0
  35. package/dist/types/CommunityIdQuery.d.ts +8 -0
  36. package/dist/types/CommunityNotificationsMode.d.ts +4 -0
  37. package/dist/types/CommunityReport.d.ts +2 -2
  38. package/dist/types/CommunityReportResponse.d.ts +7 -0
  39. package/dist/types/CommunityReportView.d.ts +4 -4
  40. package/dist/types/CommunityView.d.ts +4 -6
  41. package/dist/types/CommunityVisibility.d.ts +1 -1
  42. package/dist/types/CreateCommunityReport.d.ts +8 -0
  43. package/dist/types/CreateCommunityTag.d.ts +10 -0
  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 +18 -14
  48. package/dist/types/CustomEmoji.d.ts +2 -2
  49. package/dist/types/DeleteCommunityTag.d.ts +7 -0
  50. package/dist/types/EditPost.d.ts +2 -2
  51. package/dist/types/EditSite.d.ts +30 -21
  52. package/dist/types/ExportDataResponse.d.ts +13 -0
  53. package/dist/types/FederationBlockList.d.ts +3 -3
  54. package/dist/types/FederationError.d.ts +4 -2
  55. package/dist/types/FollowMultiCommunity.d.ts +5 -0
  56. package/dist/types/GetComments.d.ts +3 -3
  57. package/dist/types/GetCommentsResponse.d.ts +3 -0
  58. package/dist/types/GetCommentsSlimResponse.d.ts +3 -0
  59. package/dist/types/GetModlog.d.ts +3 -2
  60. package/dist/types/GetModlogResponse.d.ts +6 -0
  61. package/dist/types/GetMultiCommunity.d.ts +4 -0
  62. package/dist/types/GetMultiCommunityResponse.d.ts +6 -0
  63. package/dist/types/GetPosts.d.ts +3 -9
  64. package/dist/types/GetPostsResponse.d.ts +1 -0
  65. package/dist/types/GetSiteResponse.d.ts +4 -2
  66. package/dist/types/Instance.d.ts +13 -3
  67. package/dist/types/InstanceActions.d.ts +18 -0
  68. package/dist/types/InstanceWithFederationState.d.ts +11 -2
  69. package/dist/types/LemmyErrorType.d.ts +36 -83
  70. package/dist/types/LikeType.d.ts +4 -0
  71. package/dist/types/LinkMetadata.d.ts +4 -0
  72. package/dist/types/ListCommentLikes.d.ts +3 -1
  73. package/dist/types/ListCommentLikesResponse.d.ts +6 -0
  74. package/dist/types/ListCommunities.d.ts +3 -1
  75. package/dist/types/ListCommunitiesResponse.d.ts +6 -0
  76. package/dist/types/ListCommunityPendingFollows.d.ts +3 -1
  77. package/dist/types/ListCommunityPendingFollows.js +0 -1
  78. package/dist/types/ListCommunityPendingFollowsResponse.d.ts +6 -0
  79. package/dist/types/ListCustomEmojis.d.ts +0 -3
  80. package/dist/types/ListMedia.d.ts +3 -1
  81. package/dist/types/ListMedia.js +0 -1
  82. package/dist/types/ListMediaResponse.d.ts +6 -0
  83. package/dist/types/ListMultiCommunities.d.ts +5 -0
  84. package/dist/types/ListMultiCommunitiesResponse.d.ts +4 -0
  85. package/dist/types/ListNotifications.d.ts +12 -0
  86. package/dist/types/ListNotificationsResponse.d.ts +13 -0
  87. package/dist/types/ListPersonContent.d.ts +3 -2
  88. package/dist/types/ListPersonContentResponse.d.ts +6 -0
  89. package/dist/types/ListPersonHidden.d.ts +9 -0
  90. package/dist/types/ListPersonHiddenResponse.d.ts +13 -0
  91. package/dist/types/ListPersonLiked.d.ts +13 -0
  92. package/dist/types/ListPersonLikedResponse.d.ts +13 -0
  93. package/dist/types/ListPersonRead.d.ts +9 -0
  94. package/dist/types/ListPersonReadResponse.d.ts +13 -0
  95. package/dist/types/ListPersonSaved.d.ts +3 -2
  96. package/dist/types/ListPersonSavedResponse.d.ts +8 -2
  97. package/dist/types/ListPostLikes.d.ts +3 -1
  98. package/dist/types/ListPostLikesResponse.d.ts +6 -0
  99. package/dist/types/ListRegistrationApplications.d.ts +3 -1
  100. package/dist/types/ListRegistrationApplications.js +0 -1
  101. package/dist/types/ListRegistrationApplicationsResponse.d.ts +6 -0
  102. package/dist/types/ListReports.d.ts +3 -2
  103. package/dist/types/ListReportsResponse.d.ts +6 -0
  104. package/dist/types/ListTaglines.d.ts +3 -1
  105. package/dist/types/ListTaglines.js +0 -1
  106. package/dist/types/ListTaglinesResponse.d.ts +6 -0
  107. package/dist/types/ListingType.d.ts +1 -1
  108. package/dist/types/LocalImage.d.ts +8 -3
  109. package/dist/types/LocalImageView.d.ts +2 -0
  110. package/dist/types/LocalSite.d.ts +31 -11
  111. package/dist/types/LocalSiteRateLimit.d.ts +16 -16
  112. package/dist/types/LocalSiteUrlBlocklist.d.ts +2 -2
  113. package/dist/types/LocalUser.d.ts +8 -1
  114. package/dist/types/LocalUserView.d.ts +2 -4
  115. package/dist/types/LockComment.d.ts +6 -0
  116. package/dist/types/LockPost.d.ts +1 -0
  117. package/dist/types/Login.d.ts +3 -0
  118. package/dist/types/LoginToken.d.ts +1 -1
  119. package/dist/types/MarkNotificationAsRead.d.ts +8 -0
  120. package/dist/types/{ModAddCommunity.d.ts → ModAddToCommunity.d.ts} +4 -4
  121. package/dist/types/ModAddToCommunityId.d.ts +1 -0
  122. package/dist/types/{ModAddCommunityView.d.ts → ModAddToCommunityView.d.ts} +3 -3
  123. package/dist/types/ModAddToCommunityView.js +2 -0
  124. package/dist/types/ModBanFromCommunity.d.ts +2 -2
  125. package/dist/types/ModChangeCommunityVisibility.d.ts +11 -0
  126. package/dist/types/ModChangeCommunityVisibility.js +2 -0
  127. package/dist/types/ModChangeCommunityVisibilityId.d.ts +1 -0
  128. package/dist/types/ModChangeCommunityVisibilityView.d.ts +11 -0
  129. package/dist/types/ModChangeCommunityVisibilityView.js +2 -0
  130. package/dist/types/ModEditPost.d.ts +10 -0
  131. package/dist/types/ModEditPost.js +2 -0
  132. package/dist/types/ModFeaturePost.d.ts +1 -1
  133. package/dist/types/ModLockComment.d.ts +14 -0
  134. package/dist/types/ModLockComment.js +2 -0
  135. package/dist/types/ModLockCommentId.d.ts +1 -0
  136. package/dist/types/ModLockCommentView.d.ts +14 -0
  137. package/dist/types/ModLockCommentView.js +2 -0
  138. package/dist/types/ModLockPost.d.ts +2 -1
  139. package/dist/types/ModRemoveComment.d.ts +1 -1
  140. package/dist/types/ModRemovePost.d.ts +1 -1
  141. package/dist/types/ModTransferCommunity.d.ts +1 -1
  142. package/dist/types/ModlogActionType.d.ts +1 -1
  143. package/dist/types/ModlogCombinedView.d.ts +19 -16
  144. package/dist/types/MultiCommunity.d.ts +17 -0
  145. package/dist/types/MultiCommunity.js +2 -0
  146. package/dist/types/MultiCommunityFollow.d.ts +8 -0
  147. package/dist/types/MultiCommunityFollow.js +2 -0
  148. package/dist/types/MultiCommunityId.d.ts +1 -0
  149. package/dist/types/MultiCommunityView.d.ts +6 -0
  150. package/dist/types/MultiCommunityView.js +2 -0
  151. package/dist/types/MyUserInfo.d.ts +3 -1
  152. package/dist/types/NotePerson.d.ts +10 -0
  153. package/dist/types/NotePerson.js +2 -0
  154. package/dist/types/Notification.d.ts +16 -0
  155. package/dist/types/Notification.js +2 -0
  156. package/dist/types/NotificationData.d.ts +10 -0
  157. package/dist/types/NotificationData.js +2 -0
  158. package/dist/types/NotificationDataType.d.ts +4 -0
  159. package/dist/types/NotificationId.d.ts +1 -0
  160. package/dist/types/NotificationTypes.d.ts +4 -0
  161. package/dist/types/NotificationView.d.ts +6 -0
  162. package/dist/types/NotificationView.js +2 -0
  163. package/dist/types/OAuthAccount.d.ts +2 -2
  164. package/dist/types/OAuthProvider.d.ts +2 -2
  165. package/dist/types/OpenGraphData.d.ts +4 -0
  166. package/dist/types/PaginationCursor.d.ts +1 -4
  167. package/dist/types/PendingFollow.d.ts +2 -2
  168. package/dist/types/Person.d.ts +4 -10
  169. package/dist/types/PersonActions.d.ts +26 -0
  170. package/dist/types/PersonLikedCombinedView.d.ts +7 -0
  171. package/dist/types/PersonLikedCombinedView.js +2 -0
  172. package/dist/types/PersonSavedCombinedView.d.ts +7 -0
  173. package/dist/types/PersonSavedCombinedView.js +2 -0
  174. package/dist/types/PersonView.d.ts +4 -2
  175. package/dist/types/PluginMetadata.d.ts +5 -0
  176. package/dist/types/Post.d.ts +18 -3
  177. package/dist/types/PostActions.d.ts +33 -0
  178. package/dist/types/PostActions.js +2 -0
  179. package/dist/types/PostNotificationsMode.d.ts +4 -0
  180. package/dist/types/PostNotificationsMode.js +3 -0
  181. package/dist/types/PostOrCommentOrPrivateMessage.d.ts +10 -0
  182. package/dist/types/PostOrCommentOrPrivateMessage.js +2 -0
  183. package/dist/types/PostReport.d.ts +2 -2
  184. package/dist/types/PostReportView.d.ts +10 -16
  185. package/dist/types/PostView.d.ts +13 -18
  186. package/dist/types/PrivateMessage.d.ts +2 -3
  187. package/dist/types/PrivateMessageReport.d.ts +2 -2
  188. package/dist/types/PrivateMessageReportView.d.ts +3 -1
  189. package/dist/types/ReadableFederationState.d.ts +2 -2
  190. package/dist/types/RegistrationApplication.d.ts +1 -1
  191. package/dist/types/ResolveCommunityReport.d.ts +8 -0
  192. package/dist/types/ResolveCommunityReport.js +2 -0
  193. package/dist/types/SaveUserSettings.d.ts +11 -1
  194. package/dist/types/Search.d.ts +8 -3
  195. package/dist/types/SearchCombinedView.d.ts +4 -1
  196. package/dist/types/SearchResponse.d.ts +6 -0
  197. package/dist/types/SearchType.d.ts +1 -1
  198. package/dist/types/Site.d.ts +4 -3
  199. package/dist/types/SiteResponse.d.ts +0 -4
  200. package/dist/types/SiteView.d.ts +2 -2
  201. package/dist/types/Tag.d.ts +7 -13
  202. package/dist/types/Tagline.d.ts +4 -3
  203. package/dist/types/Tagline.js +0 -1
  204. package/dist/types/TagsView.d.ts +5 -0
  205. package/dist/types/TagsView.js +2 -0
  206. package/dist/types/UpdateCommunityNotifications.d.ts +9 -0
  207. package/dist/types/UpdateCommunityNotifications.js +2 -0
  208. package/dist/types/UpdateCommunityTag.d.ts +9 -0
  209. package/dist/types/UpdateCommunityTag.js +2 -0
  210. package/dist/types/UpdateMultiCommunity.d.ts +7 -0
  211. package/dist/types/UpdateMultiCommunity.js +2 -0
  212. package/dist/types/UpdatePostNotifications.d.ts +9 -0
  213. package/dist/types/UpdatePostNotifications.js +2 -0
  214. package/dist/types/UserBlockInstanceCommunitiesParams.d.ts +8 -0
  215. package/dist/types/UserBlockInstanceCommunitiesParams.js +2 -0
  216. package/dist/types/{UserBlockInstanceParams.d.ts → UserBlockInstancePersonsParams.d.ts} +2 -2
  217. package/dist/types/UserBlockInstancePersonsParams.js +2 -0
  218. package/dist/types/UserSettingsBackup.d.ts +27 -0
  219. package/dist/types/UserSettingsBackup.js +2 -0
  220. package/dist/types/VoteShow.d.ts +4 -0
  221. package/dist/types/VoteShow.js +3 -0
  222. package/dist/types/VoteView.d.ts +1 -0
  223. package/package.json +11 -7
  224. package/dist/types/BannedPersonsResponse.d.ts +0 -7
  225. package/dist/types/CommentAggregates.d.ts +0 -17
  226. package/dist/types/CommentReply.d.ts +0 -13
  227. package/dist/types/CommentReplyId.d.ts +0 -4
  228. package/dist/types/CommentReplyView.d.ts +0 -31
  229. package/dist/types/CommunityAggregates.d.ts +0 -30
  230. package/dist/types/InboxCombinedPaginationCursor.d.ts +0 -4
  231. package/dist/types/InboxCombinedView.d.ts +0 -13
  232. package/dist/types/InboxDataType.d.ts +0 -4
  233. package/dist/types/ListInbox.d.ts +0 -11
  234. package/dist/types/ListInboxResponse.d.ts +0 -7
  235. package/dist/types/LocalUserVoteDisplayMode.d.ts +0 -9
  236. package/dist/types/MarkCommentReplyAsRead.d.ts +0 -8
  237. package/dist/types/MarkPersonCommentMentionAsRead.d.ts +0 -8
  238. package/dist/types/MarkPersonPostMentionAsRead.d.ts +0 -8
  239. package/dist/types/MarkPrivateMessageAsRead.d.ts +0 -8
  240. package/dist/types/ModAdd.d.ts +0 -12
  241. package/dist/types/ModAddCommunityId.d.ts +0 -1
  242. package/dist/types/ModAddId.d.ts +0 -1
  243. package/dist/types/ModBan.d.ts +0 -14
  244. package/dist/types/ModBanId.d.ts +0 -1
  245. package/dist/types/ModHideCommunity.d.ts +0 -14
  246. package/dist/types/ModHideCommunityId.d.ts +0 -1
  247. package/dist/types/ModHideCommunityView.d.ts +0 -11
  248. package/dist/types/ModRemoveCommunityId.d.ts +0 -1
  249. package/dist/types/ModRemoveCommunityView.d.ts +0 -11
  250. package/dist/types/ModlogCombinedPaginationCursor.d.ts +0 -4
  251. package/dist/types/PersonAggregates.d.ts +0 -10
  252. package/dist/types/PersonCommentMention.d.ts +0 -13
  253. package/dist/types/PersonCommentMentionId.d.ts +0 -4
  254. package/dist/types/PersonCommentMentionView.d.ts +0 -31
  255. package/dist/types/PersonContentCombinedPaginationCursor.d.ts +0 -4
  256. package/dist/types/PersonPostMention.d.ts +0 -13
  257. package/dist/types/PersonPostMentionId.d.ts +0 -4
  258. package/dist/types/PersonPostMentionView.d.ts +0 -36
  259. package/dist/types/PersonSavedCombinedPaginationCursor.d.ts +0 -4
  260. package/dist/types/PostAggregates.d.ts +0 -18
  261. package/dist/types/PostTags.d.ts +0 -7
  262. package/dist/types/ReportCombinedPaginationCursor.d.ts +0 -4
  263. package/dist/types/ResolveObjectResponse.d.ts +0 -13
  264. package/dist/types/SearchCombinedPaginationCursor.d.ts +0 -4
  265. package/dist/types/SiteAggregates.d.ts +0 -27
  266. package/dist/types/SubscribedType.d.ts +0 -4
  267. /package/dist/types/{BannedPersonsResponse.js → AdminAdd.js} +0 -0
  268. /package/dist/types/{CommentReplyId.js → AdminAddId.js} +0 -0
  269. /package/dist/types/{CommentAggregates.js → AdminAddView.js} +0 -0
  270. /package/dist/types/{CommentReply.js → AdminBan.js} +0 -0
  271. /package/dist/types/{InboxCombinedPaginationCursor.js → AdminBanId.js} +0 -0
  272. /package/dist/types/{CommentReplyView.js → AdminBanView.js} +0 -0
  273. /package/dist/types/{CommunityAggregates.js → AdminListUsers.js} +0 -0
  274. /package/dist/types/{InboxCombinedView.js → AdminListUsersResponse.js} +0 -0
  275. /package/dist/types/{ListInbox.js → AdminRemoveCommunity.js} +0 -0
  276. /package/dist/types/{InboxDataType.js → AdminRemoveCommunityId.js} +0 -0
  277. /package/dist/types/{ListInboxResponse.js → AdminRemoveCommunityView.js} +0 -0
  278. /package/dist/types/{LocalUserVoteDisplayMode.js → CommentActions.js} +0 -0
  279. /package/dist/types/{MarkCommentReplyAsRead.js → CommunityActions.js} +0 -0
  280. /package/dist/types/{MarkPersonCommentMentionAsRead.js → CommunityIdQuery.js} +0 -0
  281. /package/dist/types/{ModAddCommunityId.js → CommunityNotificationsMode.js} +0 -0
  282. /package/dist/types/{MarkPersonPostMentionAsRead.js → CommunityReportResponse.js} +0 -0
  283. /package/dist/types/{MarkPrivateMessageAsRead.js → CreateCommunityReport.js} +0 -0
  284. /package/dist/types/{ModAdd.js → CreateCommunityTag.js} +0 -0
  285. /package/dist/types/{ModAddId.js → CreateMultiCommunity.js} +0 -0
  286. /package/dist/types/{ModAddCommunity.js → CreateOrDeleteMultiCommunityEntry.js} +0 -0
  287. /package/dist/types/{ModAddCommunityView.js → DeleteCommunityTag.js} +0 -0
  288. /package/dist/types/{ModAddView.js → ExportDataResponse.js} +0 -0
  289. /package/dist/types/{ModBan.js → FollowMultiCommunity.js} +0 -0
  290. /package/dist/types/{ModBanView.js → GetMultiCommunity.js} +0 -0
  291. /package/dist/types/{ModHideCommunity.js → GetMultiCommunityResponse.js} +0 -0
  292. /package/dist/types/{ModBanId.js → InstanceActions.js} +0 -0
  293. /package/dist/types/{ModHideCommunityId.js → LikeType.js} +0 -0
  294. /package/dist/types/{ModHideCommunityView.js → ListMultiCommunities.js} +0 -0
  295. /package/dist/types/{ModRemoveCommunity.js → ListMultiCommunitiesResponse.js} +0 -0
  296. /package/dist/types/{ModRemoveCommunityView.js → ListNotifications.js} +0 -0
  297. /package/dist/types/{PersonAggregates.js → ListNotificationsResponse.js} +0 -0
  298. /package/dist/types/{PersonCommentMention.js → ListPersonHidden.js} +0 -0
  299. /package/dist/types/{PersonCommentMentionView.js → ListPersonHiddenResponse.js} +0 -0
  300. /package/dist/types/{PersonPostMention.js → ListPersonLiked.js} +0 -0
  301. /package/dist/types/{PersonPostMentionView.js → ListPersonLikedResponse.js} +0 -0
  302. /package/dist/types/{PostAggregates.js → ListPersonRead.js} +0 -0
  303. /package/dist/types/{PostTags.js → ListPersonReadResponse.js} +0 -0
  304. /package/dist/types/{ResolveObjectResponse.js → LockComment.js} +0 -0
  305. /package/dist/types/{SiteAggregates.js → MarkNotificationAsRead.js} +0 -0
  306. /package/dist/types/{UserBlockInstanceParams.js → ModAddToCommunity.js} +0 -0
  307. /package/dist/types/{ModRemoveCommunityId.js → ModAddToCommunityId.js} +0 -0
  308. /package/dist/types/{ModlogCombinedPaginationCursor.js → ModChangeCommunityVisibilityId.js} +0 -0
  309. /package/dist/types/{PersonCommentMentionId.js → ModLockCommentId.js} +0 -0
  310. /package/dist/types/{PersonContentCombinedPaginationCursor.js → MultiCommunityId.js} +0 -0
  311. /package/dist/types/{PersonPostMentionId.js → NotificationDataType.js} +0 -0
  312. /package/dist/types/{PersonSavedCombinedPaginationCursor.js → NotificationId.js} +0 -0
  313. /package/dist/types/{ReportCombinedPaginationCursor.js → NotificationTypes.js} +0 -0
  314. /package/dist/types/{SearchCombinedPaginationCursor.js → PersonActions.js} +0 -0
  315. /package/dist/types/{SubscribedType.js → PluginMetadata.js} +0 -0
@@ -4,6 +4,7 @@ import type { ListingType } from "./ListingType";
4
4
  import type { PostListingMode } from "./PostListingMode";
5
5
  import type { PostSortType } from "./PostSortType";
6
6
  import type { SensitiveString } from "./SensitiveString";
7
+ import type { VoteShow } from "./VoteShow";
7
8
  /**
8
9
  * Saves settings for your user.
9
10
  */
@@ -36,6 +37,10 @@ export type SaveUserSettings = {
36
37
  * A default time range limit to apply to post sorts, in seconds. 0 means none.
37
38
  */
38
39
  default_post_time_range_seconds?: number;
40
+ /**
41
+ * A default fetch limit for number of items returned.
42
+ */
43
+ default_items_per_page?: number;
39
44
  /**
40
45
  * The default comment sort, usually "hot"
41
46
  */
@@ -84,6 +89,7 @@ export type SaveUserSettings = {
84
89
  * A list of languages you are able to see discussion in.
85
90
  */
86
91
  discussion_languages?: Array<LanguageId>;
92
+ blocking_keywords?: Array<string>;
87
93
  /**
88
94
  * Open links in a new tab
89
95
  */
@@ -114,7 +120,7 @@ export type SaveUserSettings = {
114
120
  */
115
121
  show_scores?: boolean;
116
122
  show_upvotes?: boolean;
117
- show_downvotes?: boolean;
123
+ show_downvotes?: VoteShow;
118
124
  show_upvote_percentage?: boolean;
119
125
  /**
120
126
  * Whether to automatically mark fetched posts as read.
@@ -124,4 +130,8 @@ export type SaveUserSettings = {
124
130
  * Whether to hide posts containing images/videos.
125
131
  */
126
132
  hide_media?: boolean;
133
+ /**
134
+ * Whether to show vote totals given to others.
135
+ */
136
+ show_person_votes?: boolean;
127
137
  };
@@ -1,14 +1,14 @@
1
1
  import type { CommunityId } from "./CommunityId";
2
2
  import type { ListingType } from "./ListingType";
3
+ import type { PaginationCursor } from "./PaginationCursor";
3
4
  import type { PersonId } from "./PersonId";
4
- import type { SearchCombinedPaginationCursor } from "./SearchCombinedPaginationCursor";
5
5
  import type { SearchSortType } from "./SearchSortType";
6
6
  import type { SearchType } from "./SearchType";
7
7
  /**
8
8
  * Searches the site, given a search term, and some optional filters.
9
9
  */
10
10
  export type Search = {
11
- search_term?: string;
11
+ q: string;
12
12
  community_id?: CommunityId;
13
13
  community_name?: string;
14
14
  creator_id?: PersonId;
@@ -24,6 +24,11 @@ export type Search = {
24
24
  post_url_only?: boolean;
25
25
  liked_only?: boolean;
26
26
  disliked_only?: boolean;
27
- page_cursor?: SearchCombinedPaginationCursor;
27
+ /**
28
+ * If true, then show the nsfw posts (even if your user setting is to hide them)
29
+ */
30
+ show_nsfw?: boolean;
31
+ page_cursor?: PaginationCursor;
28
32
  page_back?: boolean;
33
+ limit?: number;
29
34
  };
@@ -1,5 +1,6 @@
1
1
  import type { CommentView } from "./CommentView";
2
2
  import type { CommunityView } from "./CommunityView";
3
+ import type { MultiCommunityView } from "./MultiCommunityView";
3
4
  import type { PersonView } from "./PersonView";
4
5
  import type { PostView } from "./PostView";
5
6
  export type SearchCombinedView = ({
@@ -10,4 +11,6 @@ export type SearchCombinedView = ({
10
11
  type_: "Community";
11
12
  } & CommunityView) | ({
12
13
  type_: "Person";
13
- } & PersonView);
14
+ } & PersonView) | ({
15
+ type_: "MultiCommunity";
16
+ } & MultiCommunityView);
@@ -1,7 +1,13 @@
1
+ import type { PaginationCursor } from "./PaginationCursor";
1
2
  import type { SearchCombinedView } from "./SearchCombinedView";
2
3
  /**
3
4
  * The search response, containing lists of the return type possibilities
4
5
  */
5
6
  export type SearchResponse = {
6
7
  results: Array<SearchCombinedView>;
8
+ /**
9
+ * the pagination cursor to use to fetch the next page
10
+ */
11
+ next_page?: PaginationCursor;
12
+ prev_page?: PaginationCursor;
7
13
  };
@@ -1,4 +1,4 @@
1
1
  /**
2
2
  * The type of content returned from a search.
3
3
  */
4
- export type SearchType = "All" | "Comments" | "Posts" | "Communities" | "Users";
4
+ export type SearchType = "All" | "Comments" | "Posts" | "Communities" | "Users" | "MultiCommunities";
@@ -2,7 +2,8 @@ import type { DbUrl } from "./DbUrl";
2
2
  import type { InstanceId } from "./InstanceId";
3
3
  import type { SiteId } from "./SiteId";
4
4
  /**
5
- * The site.
5
+ * Additional data for federated instances. This may be missing for other platforms which are not
6
+ * fully compatible. Basic data is guaranteed to be available via [[Instance]].
6
7
  */
7
8
  export type Site = {
8
9
  id: SiteId;
@@ -11,8 +12,8 @@ export type Site = {
11
12
  * A sidebar for the site in markdown.
12
13
  */
13
14
  sidebar?: string;
14
- published: string;
15
- updated?: string;
15
+ published_at: string;
16
+ updated_at?: string;
16
17
  /**
17
18
  * An icon URL.
18
19
  */
@@ -4,8 +4,4 @@ import type { SiteView } from "./SiteView";
4
4
  */
5
5
  export type SiteResponse = {
6
6
  site_view: SiteView;
7
- /**
8
- * deprecated, use field `tagline` or /api/v4/tagline/list
9
- */
10
- taglines: Array<null>;
11
7
  };
@@ -1,7 +1,7 @@
1
+ import type { Instance } from "./Instance";
1
2
  import type { LocalSite } from "./LocalSite";
2
3
  import type { LocalSiteRateLimit } from "./LocalSiteRateLimit";
3
4
  import type { Site } from "./Site";
4
- import type { SiteAggregates } from "./SiteAggregates";
5
5
  /**
6
6
  * A site view.
7
7
  */
@@ -9,5 +9,5 @@ export type SiteView = {
9
9
  site: Site;
10
10
  local_site: LocalSite;
11
11
  local_site_rate_limit: LocalSiteRateLimit;
12
- counts: SiteAggregates;
12
+ instance: Instance;
13
13
  };
@@ -2,26 +2,20 @@ import type { CommunityId } from "./CommunityId";
2
2
  import type { DbUrl } from "./DbUrl";
3
3
  import type { TagId } from "./TagId";
4
4
  /**
5
- * A tag that can be assigned to a post within a community.
6
- * The tag object is created by the community moderators.
7
- * The assignment happens by the post creator and can be updated by the community moderators.
8
- *
9
- * A tag is a federatable object that gives additional context to another object, which can be
10
- * displayed and filtered on currently, we only have community post tags, which is a tag that is
11
- * created by post authors as well as mods of a community, to categorize a post. in the future we
12
- * may add more tag types, depending on the requirements, this will lead to either expansion of
13
- * this table (community_id optional, addition of tag_type enum) or split of this table / creation
14
- * of new tables.
5
+ * A tag that is created by community moderators, and assigned to posts by the creator
6
+ * or by mods.
15
7
  */
16
8
  export type Tag = {
17
9
  id: TagId;
18
10
  ap_id: DbUrl;
19
11
  name: string;
12
+ display_name?: string;
13
+ description?: string;
20
14
  /**
21
- * the community that owns this tag
15
+ * The community that this tag belongs to
22
16
  */
23
17
  community_id: CommunityId;
24
- published: string;
25
- updated?: string;
18
+ published_at: string;
19
+ updated_at?: string;
26
20
  deleted: boolean;
27
21
  };
@@ -1,9 +1,10 @@
1
+ import type { TaglineId } from "./TaglineId";
1
2
  /**
2
3
  * A tagline, shown at the top of your site.
3
4
  */
4
5
  export type Tagline = {
5
- id: number;
6
+ id: TaglineId;
6
7
  content: string;
7
- published: string;
8
- updated?: string;
8
+ published_at: string;
9
+ updated_at?: string;
9
10
  };
@@ -1,3 +1,2 @@
1
1
  "use strict";
2
- // This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.
3
2
  Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,5 @@
1
+ import type { Tag } from "./Tag";
2
+ /**
3
+ * We wrap this in a struct so we can implement FromSqlRow<Json> for it
4
+ */
5
+ export type TagsView = Array<Tag>;
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,9 @@
1
+ import type { CommunityId } from "./CommunityId";
2
+ import type { CommunityNotificationsMode } from "./CommunityNotificationsMode";
3
+ /**
4
+ * Change notification settings for a community
5
+ */
6
+ export type UpdateCommunityNotifications = {
7
+ community_id: CommunityId;
8
+ mode: CommunityNotificationsMode;
9
+ };
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,9 @@
1
+ import type { TagId } from "./TagId";
2
+ /**
3
+ * Make changes to a community tag
4
+ */
5
+ export type UpdateCommunityTag = {
6
+ tag_id: TagId;
7
+ display_name?: string;
8
+ description?: string;
9
+ };
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,7 @@
1
+ import type { MultiCommunityId } from "./MultiCommunityId";
2
+ export type UpdateMultiCommunity = {
3
+ id: MultiCommunityId;
4
+ title?: string;
5
+ description?: string;
6
+ deleted?: boolean;
7
+ };
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,9 @@
1
+ import type { PostId } from "./PostId";
2
+ import type { PostNotificationsMode } from "./PostNotificationsMode";
3
+ /**
4
+ * Change notification settings for a post
5
+ */
6
+ export type UpdatePostNotifications = {
7
+ post_id: PostId;
8
+ mode: PostNotificationsMode;
9
+ };
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,8 @@
1
+ import type { InstanceId } from "./InstanceId";
2
+ /**
3
+ * Block an instance's communities.
4
+ */
5
+ export type UserBlockInstanceCommunitiesParams = {
6
+ instance_id: InstanceId;
7
+ block: boolean;
8
+ };
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -1,8 +1,8 @@
1
1
  import type { InstanceId } from "./InstanceId";
2
2
  /**
3
- * Block an instance as user
3
+ * Block an instance's persons.
4
4
  */
5
- export type UserBlockInstanceParams = {
5
+ export type UserBlockInstancePersonsParams = {
6
6
  instance_id: InstanceId;
7
7
  block: boolean;
8
8
  };
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,27 @@
1
+ import type { LocalUser } from "./LocalUser";
2
+ /**
3
+ * Backup of user data. This struct should never be changed so that the data can be used as a
4
+ * long-term backup in case the instance goes down unexpectedly. All fields are optional to allow
5
+ * importing partial backups.
6
+ *
7
+ * This data should not be parsed by apps/clients, but directly downloaded as a file.
8
+ *
9
+ * Be careful with any changes to this struct, to avoid breaking changes which could prevent
10
+ * importing older backups.
11
+ */
12
+ export type UserSettingsBackup = {
13
+ display_name?: string;
14
+ bio?: string;
15
+ avatar?: string;
16
+ banner?: string;
17
+ matrix_id?: string;
18
+ bot_account?: boolean;
19
+ settings?: LocalUser;
20
+ followed_communities: Array<string>;
21
+ saved_posts: Array<string>;
22
+ saved_comments: Array<string>;
23
+ blocked_communities: Array<string>;
24
+ blocked_users: Array<string>;
25
+ blocked_instances_communities: Array<string>;
26
+ blocked_instances_persons: Array<string>;
27
+ };
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,4 @@
1
+ /**
2
+ * Lets you show votes for others only, show all votes, or hide all votes.
3
+ */
4
+ export type VoteShow = "Show" | "ShowForOthers" | "Hide";
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ // This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.
3
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -4,6 +4,7 @@ import type { Person } from "./Person";
4
4
  */
5
5
  export type VoteView = {
6
6
  creator: Person;
7
+ creator_banned: boolean;
7
8
  creator_banned_from_community: boolean;
8
9
  score: number;
9
10
  };
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "lemmy-js-client",
3
3
  "description": "A javascript / typescript client for Lemmy",
4
- "version": "1.0.0-block-nsfw.1",
4
+ "version": "1.0.0-comment-lock.1",
5
5
  "author": "Dessalines",
6
6
  "license": "AGPL-3.0",
7
7
  "main": "./dist/index.js",
@@ -19,28 +19,32 @@
19
19
  "type": "git",
20
20
  "url": "git+https://github.com/LemmyNet/lemmy-js-client.git"
21
21
  },
22
+ "dependencies": {
23
+ "@tsoa/runtime": "^6.6.0"
24
+ },
22
25
  "devDependencies": {
23
26
  "@eslint/js": "^9.20.0",
24
- "@redocly/cli": "^1.27.2",
25
- "@types/joi": "^17.2.3",
27
+ "@redocly/cli": "^2.0.0",
26
28
  "@types/node": "^22.7.4",
27
29
  "@typescript-eslint/eslint-plugin": "^8.7.0",
28
30
  "@typescript-eslint/parser": "^8.7.0",
31
+ "ajv": "^8.17.1",
29
32
  "eslint": "^9.11.1",
30
33
  "eslint-plugin-prettier": "^5.2.1",
31
34
  "husky": "^9.1.4",
32
- "lint-staged": "^15.2.7",
35
+ "joi": "^18.0.0",
36
+ "lint-staged": "^16.0.0",
33
37
  "prettier": "^3.3.3",
34
38
  "prettier-plugin-import-sort": "^0.0.7",
35
39
  "prettier-plugin-organize-imports": "^4.0.0",
36
40
  "prettier-plugin-packagejson": "^2.5.1",
37
- "sortpack": "^2.4.0",
41
+ "sortpack": "^3.0.0",
38
42
  "tsoa": "^6.6.0",
39
- "typedoc": "^0.27.0",
43
+ "typedoc": "^0.28.0",
40
44
  "typescript": "^5.5.4",
41
45
  "typescript-eslint": "^8.7.0"
42
46
  },
43
- "packageManager": "pnpm@10.4.0",
47
+ "packageManager": "pnpm@10.15.1",
44
48
  "types": "./dist/index.d.ts",
45
49
  "lint-staged": {
46
50
  "*.{ts,tsx,js}": [
@@ -1,7 +0,0 @@
1
- import type { PersonView } from "./PersonView";
2
- /**
3
- * The list of banned persons.
4
- */
5
- export type BannedPersonsResponse = {
6
- banned: Array<PersonView>;
7
- };
@@ -1,17 +0,0 @@
1
- import type { CommentId } from "./CommentId";
2
- /**
3
- * Aggregate data for a comment.
4
- */
5
- export type CommentAggregates = {
6
- comment_id: CommentId;
7
- score: number;
8
- upvotes: number;
9
- downvotes: number;
10
- published: string;
11
- /**
12
- * The total number of children in this comment branch.
13
- */
14
- child_count: number;
15
- report_count: number;
16
- unresolved_report_count: number;
17
- };
@@ -1,13 +0,0 @@
1
- import type { CommentId } from "./CommentId";
2
- import type { CommentReplyId } from "./CommentReplyId";
3
- import type { PersonId } from "./PersonId";
4
- /**
5
- * A comment reply.
6
- */
7
- export type CommentReply = {
8
- id: CommentReplyId;
9
- recipient_id: PersonId;
10
- comment_id: CommentId;
11
- read: boolean;
12
- published: string;
13
- };
@@ -1,4 +0,0 @@
1
- /**
2
- * The comment reply id.
3
- */
4
- export type CommentReplyId = number;
@@ -1,31 +0,0 @@
1
- import type { Comment } from "./Comment";
2
- import type { CommentAggregates } from "./CommentAggregates";
3
- import type { CommentReply } from "./CommentReply";
4
- import type { Community } from "./Community";
5
- import type { Person } from "./Person";
6
- import type { Post } from "./Post";
7
- import type { SubscribedType } from "./SubscribedType";
8
- /**
9
- * A comment reply view.
10
- */
11
- export type CommentReplyView = {
12
- comment_reply: CommentReply;
13
- comment: Comment;
14
- creator: Person;
15
- post: Post;
16
- community: Community;
17
- recipient: Person;
18
- counts: CommentAggregates;
19
- creator_banned_from_community: boolean;
20
- banned_from_community: boolean;
21
- creator_is_moderator: boolean;
22
- creator_is_admin: boolean;
23
- subscribed: SubscribedType;
24
- /**
25
- * The time when the comment was saved.
26
- */
27
- saved?: string;
28
- creator_blocked: boolean;
29
- my_vote?: number;
30
- can_mod: boolean;
31
- };
@@ -1,30 +0,0 @@
1
- import type { CommunityId } from "./CommunityId";
2
- /**
3
- * Aggregate data for a community.
4
- */
5
- export type CommunityAggregates = {
6
- community_id: CommunityId;
7
- subscribers: number;
8
- posts: number;
9
- comments: number;
10
- published: string;
11
- /**
12
- * The number of users with any activity in the last day.
13
- */
14
- users_active_day: number;
15
- /**
16
- * The number of users with any activity in the last week.
17
- */
18
- users_active_week: number;
19
- /**
20
- * The number of users with any activity in the last month.
21
- */
22
- users_active_month: number;
23
- /**
24
- * The number of users with any activity in the last year.
25
- */
26
- users_active_half_year: number;
27
- subscribers_local: number;
28
- report_count: number;
29
- unresolved_report_count: number;
30
- };
@@ -1,4 +0,0 @@
1
- /**
2
- * like PaginationCursor but for the report_combined table
3
- */
4
- export type InboxCombinedPaginationCursor = string;
@@ -1,13 +0,0 @@
1
- import type { CommentReplyView } from "./CommentReplyView";
2
- import type { PersonCommentMentionView } from "./PersonCommentMentionView";
3
- import type { PersonPostMentionView } from "./PersonPostMentionView";
4
- import type { PrivateMessageView } from "./PrivateMessageView";
5
- export type InboxCombinedView = ({
6
- type_: "CommentReply";
7
- } & CommentReplyView) | ({
8
- type_: "CommentMention";
9
- } & PersonCommentMentionView) | ({
10
- type_: "PostMention";
11
- } & PersonPostMentionView) | ({
12
- type_: "PrivateMessage";
13
- } & PrivateMessageView);
@@ -1,4 +0,0 @@
1
- /**
2
- * A list of possible types for the inbox.
3
- */
4
- export type InboxDataType = "All" | "CommentReply" | "CommentMention" | "PostMention" | "PrivateMessage";
@@ -1,11 +0,0 @@
1
- import type { InboxCombinedPaginationCursor } from "./InboxCombinedPaginationCursor";
2
- import type { InboxDataType } from "./InboxDataType";
3
- /**
4
- * Get your inbox (replies, comment mentions, post mentions, and messages)
5
- */
6
- export type ListInbox = {
7
- type_?: InboxDataType;
8
- unread_only?: boolean;
9
- page_cursor?: InboxCombinedPaginationCursor;
10
- page_back?: boolean;
11
- };
@@ -1,7 +0,0 @@
1
- import type { InboxCombinedView } from "./InboxCombinedView";
2
- /**
3
- * Get your inbox (replies, comment mentions, post mentions, and messages)
4
- */
5
- export type ListInboxResponse = {
6
- inbox: Array<InboxCombinedView>;
7
- };
@@ -1,9 +0,0 @@
1
- /**
2
- * The vote display settings for your user.
3
- */
4
- export type LocalUserVoteDisplayMode = {
5
- score: boolean;
6
- upvotes: boolean;
7
- downvotes: boolean;
8
- upvote_percentage: boolean;
9
- };
@@ -1,8 +0,0 @@
1
- import type { CommentReplyId } from "./CommentReplyId";
2
- /**
3
- * Mark a comment reply as read.
4
- */
5
- export type MarkCommentReplyAsRead = {
6
- comment_reply_id: CommentReplyId;
7
- read: boolean;
8
- };
@@ -1,8 +0,0 @@
1
- import type { PersonCommentMentionId } from "./PersonCommentMentionId";
2
- /**
3
- * Mark a person mention as read.
4
- */
5
- export type MarkPersonCommentMentionAsRead = {
6
- person_comment_mention_id: PersonCommentMentionId;
7
- read: boolean;
8
- };
@@ -1,8 +0,0 @@
1
- import type { PersonPostMentionId } from "./PersonPostMentionId";
2
- /**
3
- * Mark a person mention as read.
4
- */
5
- export type MarkPersonPostMentionAsRead = {
6
- person_post_mention_id: PersonPostMentionId;
7
- read: boolean;
8
- };
@@ -1,8 +0,0 @@
1
- import type { PrivateMessageId } from "./PrivateMessageId";
2
- /**
3
- * Mark a private message as read.
4
- */
5
- export type MarkPrivateMessageAsRead = {
6
- private_message_id: PrivateMessageId;
7
- read: boolean;
8
- };
@@ -1,12 +0,0 @@
1
- import type { ModAddId } from "./ModAddId";
2
- import type { PersonId } from "./PersonId";
3
- /**
4
- * When someone is added as a site moderator.
5
- */
6
- export type ModAdd = {
7
- id: ModAddId;
8
- mod_person_id: PersonId;
9
- other_person_id: PersonId;
10
- removed: boolean;
11
- published: string;
12
- };
@@ -1 +0,0 @@
1
- export type ModAddCommunityId = number;
@@ -1 +0,0 @@
1
- export type ModAddId = number;