lemmy-js-client 1.0.0-block-nsfw.1 → 1.0.0-dont-return-actions.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 (226) hide show
  1. package/dist/http.d.ts +98 -26
  2. package/dist/http.js +1078 -893
  3. package/dist/index.d.ts +42 -19
  4. package/dist/other_types.d.ts +21 -0
  5. package/dist/types/AdminAllowInstance.d.ts +1 -1
  6. package/dist/types/AdminBlockInstance.d.ts +2 -2
  7. package/dist/types/AdminBlockInstanceParams.d.ts +1 -1
  8. package/dist/types/AdminListUsers.d.ts +7 -0
  9. package/dist/types/AdminListUsersResponse.d.ts +10 -0
  10. package/dist/types/AdminPurgeComment.d.ts +1 -1
  11. package/dist/types/AdminPurgeCommunity.d.ts +1 -1
  12. package/dist/types/AdminPurgePerson.d.ts +1 -1
  13. package/dist/types/AdminPurgePost.d.ts +1 -1
  14. package/dist/types/BanFromCommunity.d.ts +1 -1
  15. package/dist/types/BanPerson.d.ts +1 -1
  16. package/dist/types/Comment.d.ts +16 -2
  17. package/dist/types/CommentActions.d.ts +14 -0
  18. package/dist/types/CommentReply.d.ts +1 -1
  19. package/dist/types/CommentReplyView.d.ts +15 -14
  20. package/dist/types/CommentReport.d.ts +2 -2
  21. package/dist/types/CommentReportView.d.ts +8 -13
  22. package/dist/types/CommentSlimView.d.ts +9 -13
  23. package/dist/types/CommentView.d.ts +13 -13
  24. package/dist/types/Community.d.ts +25 -6
  25. package/dist/types/CommunityActions.d.ts +27 -0
  26. package/dist/types/CommunityIdQuery.d.ts +8 -0
  27. package/dist/types/CommunityReport.d.ts +2 -2
  28. package/dist/types/CommunityReportResponse.d.ts +7 -0
  29. package/dist/types/CommunityReportView.d.ts +0 -4
  30. package/dist/types/CommunityView.d.ts +6 -6
  31. package/dist/types/CommunityVisibility.d.ts +1 -1
  32. package/dist/types/CreateCommunityReport.d.ts +8 -0
  33. package/dist/types/CreateCommunityTag.d.ts +8 -0
  34. package/dist/types/CreateMultiCommunity.d.ts +5 -0
  35. package/dist/types/CreateOrDeleteMultiCommunityEntry.d.ts +6 -0
  36. package/dist/types/CreatePost.d.ts +1 -1
  37. package/dist/types/CreateSite.d.ts +4 -2
  38. package/dist/types/CustomEmoji.d.ts +2 -2
  39. package/dist/types/DeleteCommunityTag.d.ts +7 -0
  40. package/dist/types/EditPost.d.ts +2 -2
  41. package/dist/types/EditSite.d.ts +9 -9
  42. package/dist/types/FederationBlockList.d.ts +3 -3
  43. package/dist/types/FollowMultiCommunity.d.ts +5 -0
  44. package/dist/types/GetComments.d.ts +3 -3
  45. package/dist/types/GetCommentsResponse.d.ts +3 -0
  46. package/dist/types/GetCommentsSlimResponse.d.ts +3 -0
  47. package/dist/types/GetModlog.d.ts +3 -2
  48. package/dist/types/GetModlogResponse.d.ts +6 -0
  49. package/dist/types/GetMultiCommunity.d.ts +4 -0
  50. package/dist/types/GetMultiCommunity.js +2 -0
  51. package/dist/types/GetMultiCommunityResponse.d.ts +6 -0
  52. package/dist/types/GetMultiCommunityResponse.js +2 -0
  53. package/dist/types/GetPosts.d.ts +3 -9
  54. package/dist/types/GetPostsResponse.d.ts +1 -0
  55. package/dist/types/GetSiteResponse.d.ts +4 -2
  56. package/dist/types/Instance.d.ts +13 -3
  57. package/dist/types/InstanceActions.d.ts +14 -0
  58. package/dist/types/InstanceWithFederationState.d.ts +11 -2
  59. package/dist/types/LemmyErrorType.d.ts +105 -26
  60. package/dist/types/LikeType.d.ts +4 -0
  61. package/dist/types/ListCommentLikes.d.ts +3 -1
  62. package/dist/types/ListCommentLikesResponse.d.ts +6 -0
  63. package/dist/types/ListCommunities.d.ts +3 -1
  64. package/dist/types/ListCommunitiesResponse.d.ts +6 -0
  65. package/dist/types/ListCommunityPendingFollows.d.ts +3 -1
  66. package/dist/types/ListCommunityPendingFollows.js +0 -1
  67. package/dist/types/ListCommunityPendingFollowsResponse.d.ts +6 -0
  68. package/dist/types/ListCustomEmojis.d.ts +0 -3
  69. package/dist/types/ListInbox.d.ts +3 -2
  70. package/dist/types/ListInboxResponse.d.ts +6 -0
  71. package/dist/types/ListMedia.d.ts +3 -1
  72. package/dist/types/ListMedia.js +0 -1
  73. package/dist/types/ListMediaResponse.d.ts +6 -0
  74. package/dist/types/ListMultiCommunities.d.ts +5 -0
  75. package/dist/types/ListMultiCommunities.js +2 -0
  76. package/dist/types/ListMultiCommunitiesResponse.d.ts +4 -0
  77. package/dist/types/ListMultiCommunitiesResponse.js +2 -0
  78. package/dist/types/ListPersonContent.d.ts +3 -2
  79. package/dist/types/ListPersonContentResponse.d.ts +6 -0
  80. package/dist/types/ListPersonHidden.d.ts +9 -0
  81. package/dist/types/ListPersonHidden.js +2 -0
  82. package/dist/types/ListPersonHiddenResponse.d.ts +13 -0
  83. package/dist/types/ListPersonHiddenResponse.js +2 -0
  84. package/dist/types/ListPersonLiked.d.ts +13 -0
  85. package/dist/types/ListPersonLiked.js +2 -0
  86. package/dist/types/ListPersonLikedResponse.d.ts +13 -0
  87. package/dist/types/ListPersonLikedResponse.js +2 -0
  88. package/dist/types/ListPersonRead.d.ts +9 -0
  89. package/dist/types/ListPersonRead.js +2 -0
  90. package/dist/types/ListPersonReadResponse.d.ts +13 -0
  91. package/dist/types/ListPersonReadResponse.js +2 -0
  92. package/dist/types/ListPersonSaved.d.ts +3 -2
  93. package/dist/types/ListPersonSavedResponse.d.ts +8 -2
  94. package/dist/types/ListPostLikes.d.ts +3 -1
  95. package/dist/types/ListPostLikesResponse.d.ts +6 -0
  96. package/dist/types/ListRegistrationApplications.d.ts +3 -1
  97. package/dist/types/ListRegistrationApplications.js +0 -1
  98. package/dist/types/ListRegistrationApplicationsResponse.d.ts +6 -0
  99. package/dist/types/ListReports.d.ts +3 -2
  100. package/dist/types/ListReportsResponse.d.ts +6 -0
  101. package/dist/types/ListTaglines.d.ts +3 -1
  102. package/dist/types/ListTaglines.js +0 -1
  103. package/dist/types/ListTaglinesResponse.d.ts +6 -0
  104. package/dist/types/ListingType.d.ts +1 -1
  105. package/dist/types/LocalImage.d.ts +8 -3
  106. package/dist/types/LocalImageView.d.ts +2 -0
  107. package/dist/types/LocalSite.d.ts +30 -11
  108. package/dist/types/LocalSiteRateLimit.d.ts +2 -2
  109. package/dist/types/LocalSiteUrlBlocklist.d.ts +2 -2
  110. package/dist/types/LocalUser.d.ts +6 -1
  111. package/dist/types/LocalUserView.d.ts +2 -4
  112. package/dist/types/LockPost.d.ts +1 -0
  113. package/dist/types/Login.d.ts +3 -0
  114. package/dist/types/LoginToken.d.ts +1 -1
  115. package/dist/types/ModAdd.d.ts +1 -1
  116. package/dist/types/ModAddCommunity.d.ts +1 -1
  117. package/dist/types/ModBan.d.ts +4 -2
  118. package/dist/types/ModBanFromCommunity.d.ts +2 -2
  119. package/dist/types/ModChangeCommunityVisibility.d.ts +11 -0
  120. package/dist/types/ModChangeCommunityVisibility.js +2 -0
  121. package/dist/types/ModChangeCommunityVisibilityId.d.ts +1 -0
  122. package/dist/types/ModChangeCommunityVisibilityView.d.ts +11 -0
  123. package/dist/types/ModChangeCommunityVisibilityView.js +2 -0
  124. package/dist/types/ModFeaturePost.d.ts +1 -1
  125. package/dist/types/ModLockPost.d.ts +2 -1
  126. package/dist/types/ModRemoveComment.d.ts +1 -1
  127. package/dist/types/ModRemoveCommunity.d.ts +1 -1
  128. package/dist/types/ModRemovePost.d.ts +1 -1
  129. package/dist/types/ModTransferCommunity.d.ts +1 -1
  130. package/dist/types/ModlogActionType.d.ts +1 -1
  131. package/dist/types/ModlogCombinedView.d.ts +3 -3
  132. package/dist/types/MultiCommunity.d.ts +17 -0
  133. package/dist/types/MultiCommunity.js +2 -0
  134. package/dist/types/MultiCommunityFollow.d.ts +8 -0
  135. package/dist/types/MultiCommunityFollow.js +2 -0
  136. package/dist/types/MultiCommunityId.d.ts +1 -0
  137. package/dist/types/MultiCommunityView.d.ts +6 -0
  138. package/dist/types/MultiCommunityView.js +2 -0
  139. package/dist/types/MyUserInfo.d.ts +1 -0
  140. package/dist/types/NotePerson.d.ts +10 -0
  141. package/dist/types/NotePerson.js +2 -0
  142. package/dist/types/OAuthAccount.d.ts +2 -2
  143. package/dist/types/OAuthProvider.d.ts +2 -2
  144. package/dist/types/PaginationCursor.d.ts +1 -4
  145. package/dist/types/PendingFollow.d.ts +2 -2
  146. package/dist/types/Person.d.ts +4 -10
  147. package/dist/types/PersonActions.d.ts +14 -0
  148. package/dist/types/PersonCommentMention.d.ts +1 -1
  149. package/dist/types/PersonCommentMentionView.d.ts +13 -14
  150. package/dist/types/PersonLikedCombinedView.d.ts +7 -0
  151. package/dist/types/PersonLikedCombinedView.js +2 -0
  152. package/dist/types/PersonPostMention.d.ts +1 -1
  153. package/dist/types/PersonPostMentionView.d.ts +15 -19
  154. package/dist/types/PersonSavedCombinedView.d.ts +7 -0
  155. package/dist/types/PersonSavedCombinedView.js +2 -0
  156. package/dist/types/PersonView.d.ts +6 -2
  157. package/dist/types/PluginMetadata.d.ts +5 -0
  158. package/dist/types/Post.d.ts +18 -3
  159. package/dist/types/PostActions.d.ts +31 -0
  160. package/dist/types/PostReport.d.ts +2 -2
  161. package/dist/types/PostReportView.d.ts +8 -16
  162. package/dist/types/PostView.d.ts +13 -18
  163. package/dist/types/PrivateMessage.d.ts +2 -2
  164. package/dist/types/PrivateMessageReport.d.ts +2 -2
  165. package/dist/types/PrivateMessageReportView.d.ts +1 -1
  166. package/dist/types/ReadableFederationState.d.ts +2 -2
  167. package/dist/types/RegistrationApplication.d.ts +1 -1
  168. package/dist/types/ResolveCommunityReport.d.ts +8 -0
  169. package/dist/types/ResolveCommunityReport.js +2 -0
  170. package/dist/types/SaveUserSettings.d.ts +3 -1
  171. package/dist/types/Search.d.ts +8 -3
  172. package/dist/types/SearchCombinedView.d.ts +4 -1
  173. package/dist/types/SearchResponse.d.ts +6 -0
  174. package/dist/types/SearchType.d.ts +1 -1
  175. package/dist/types/Site.d.ts +4 -3
  176. package/dist/types/SiteResponse.d.ts +0 -4
  177. package/dist/types/SiteView.d.ts +2 -2
  178. package/dist/types/Tag.d.ts +10 -8
  179. package/dist/types/Tagline.d.ts +4 -3
  180. package/dist/types/Tagline.js +0 -1
  181. package/dist/types/{PostTags.d.ts → TagsView.d.ts} +1 -3
  182. package/dist/types/TagsView.js +2 -0
  183. package/dist/types/UpdateCommunityTag.d.ts +8 -0
  184. package/dist/types/UpdateCommunityTag.js +2 -0
  185. package/dist/types/UpdateMultiCommunity.d.ts +7 -0
  186. package/dist/types/UpdateMultiCommunity.js +2 -0
  187. package/dist/types/VoteShow.d.ts +4 -0
  188. package/dist/types/VoteShow.js +3 -0
  189. package/package.json +8 -5
  190. package/dist/types/BannedPersonsResponse.d.ts +0 -7
  191. package/dist/types/CommentAggregates.d.ts +0 -17
  192. package/dist/types/CommunityAggregates.d.ts +0 -30
  193. package/dist/types/InboxCombinedPaginationCursor.d.ts +0 -4
  194. package/dist/types/LocalUserVoteDisplayMode.d.ts +0 -9
  195. package/dist/types/ModHideCommunity.d.ts +0 -14
  196. package/dist/types/ModHideCommunityId.d.ts +0 -1
  197. package/dist/types/ModHideCommunityView.d.ts +0 -11
  198. package/dist/types/ModlogCombinedPaginationCursor.d.ts +0 -4
  199. package/dist/types/PersonAggregates.d.ts +0 -10
  200. package/dist/types/PersonContentCombinedPaginationCursor.d.ts +0 -4
  201. package/dist/types/PersonSavedCombinedPaginationCursor.d.ts +0 -4
  202. package/dist/types/PostAggregates.d.ts +0 -18
  203. package/dist/types/ReportCombinedPaginationCursor.d.ts +0 -4
  204. package/dist/types/ResolveObjectResponse.d.ts +0 -13
  205. package/dist/types/SearchCombinedPaginationCursor.d.ts +0 -4
  206. package/dist/types/SiteAggregates.d.ts +0 -27
  207. package/dist/types/SubscribedType.d.ts +0 -4
  208. /package/dist/types/{BannedPersonsResponse.js → AdminListUsers.js} +0 -0
  209. /package/dist/types/{CommentAggregates.js → AdminListUsersResponse.js} +0 -0
  210. /package/dist/types/{InboxCombinedPaginationCursor.js → CommentActions.js} +0 -0
  211. /package/dist/types/{CommunityAggregates.js → CommunityActions.js} +0 -0
  212. /package/dist/types/{ModHideCommunity.js → CommunityIdQuery.js} +0 -0
  213. /package/dist/types/{ModHideCommunityView.js → CommunityReportResponse.js} +0 -0
  214. /package/dist/types/{PersonAggregates.js → CreateCommunityReport.js} +0 -0
  215. /package/dist/types/{PostAggregates.js → CreateCommunityTag.js} +0 -0
  216. /package/dist/types/{LocalUserVoteDisplayMode.js → CreateMultiCommunity.js} +0 -0
  217. /package/dist/types/{PostTags.js → CreateOrDeleteMultiCommunityEntry.js} +0 -0
  218. /package/dist/types/{ResolveObjectResponse.js → DeleteCommunityTag.js} +0 -0
  219. /package/dist/types/{SiteAggregates.js → FollowMultiCommunity.js} +0 -0
  220. /package/dist/types/{ModHideCommunityId.js → InstanceActions.js} +0 -0
  221. /package/dist/types/{ModlogCombinedPaginationCursor.js → LikeType.js} +0 -0
  222. /package/dist/types/{PersonContentCombinedPaginationCursor.js → ModChangeCommunityVisibilityId.js} +0 -0
  223. /package/dist/types/{PersonSavedCombinedPaginationCursor.js → MultiCommunityId.js} +0 -0
  224. /package/dist/types/{ReportCombinedPaginationCursor.js → PersonActions.js} +0 -0
  225. /package/dist/types/{SearchCombinedPaginationCursor.js → PluginMetadata.js} +0 -0
  226. /package/dist/types/{SubscribedType.js → PostActions.js} +0 -0
@@ -9,5 +9,5 @@ export type PersonPostMention = {
9
9
  recipient_id: PersonId;
10
10
  post_id: PostId;
11
11
  read: boolean;
12
- published: string;
12
+ published_at: string;
13
13
  };
@@ -1,36 +1,32 @@
1
1
  import type { Community } from "./Community";
2
+ import type { CommunityActions } from "./CommunityActions";
2
3
  import type { ImageDetails } from "./ImageDetails";
4
+ import type { InstanceActions } from "./InstanceActions";
3
5
  import type { Person } from "./Person";
6
+ import type { PersonActions } from "./PersonActions";
4
7
  import type { PersonPostMention } from "./PersonPostMention";
5
8
  import type { Post } from "./Post";
6
- import type { PostAggregates } from "./PostAggregates";
7
- import type { PostTags } from "./PostTags";
8
- import type { SubscribedType } from "./SubscribedType";
9
+ import type { PostActions } from "./PostActions";
10
+ import type { TagsView } from "./TagsView";
9
11
  /**
10
12
  * A person post mention view.
11
13
  */
12
14
  export type PersonPostMentionView = {
13
15
  person_post_mention: PersonPostMention;
16
+ recipient: Person;
14
17
  post: Post;
15
18
  creator: Person;
16
19
  community: Community;
17
20
  image_details?: ImageDetails;
18
- recipient: Person;
19
- counts: PostAggregates;
20
- creator_banned_from_community: boolean;
21
- banned_from_community: boolean;
22
- creator_is_moderator: boolean;
21
+ community_actions?: CommunityActions;
22
+ person_actions?: PersonActions;
23
+ post_actions?: PostActions;
24
+ instance_actions?: InstanceActions;
25
+ creator_home_instance_actions?: InstanceActions;
26
+ creator_local_instance_actions?: InstanceActions;
27
+ creator_community_actions?: CommunityActions;
28
+ post_tags: TagsView;
23
29
  creator_is_admin: boolean;
24
- subscribed: SubscribedType;
25
- /**
26
- * The time when the post was saved.
27
- */
28
- saved?: string;
29
- read: boolean;
30
- hidden: boolean;
31
- creator_blocked: boolean;
32
- my_vote?: number;
33
- unread_comments: number;
34
- post_tags: PostTags;
35
30
  can_mod: boolean;
31
+ creator_banned: boolean;
36
32
  };
@@ -0,0 +1,7 @@
1
+ import type { CommentView } from "./CommentView";
2
+ import type { PostView } from "./PostView";
3
+ export type PersonSavedCombinedView = ({
4
+ type_: "Post";
5
+ } & PostView) | ({
6
+ type_: "Comment";
7
+ } & CommentView);
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -1,10 +1,14 @@
1
+ import type { InstanceActions } from "./InstanceActions";
1
2
  import type { Person } from "./Person";
2
- import type { PersonAggregates } from "./PersonAggregates";
3
+ import type { PersonActions } from "./PersonActions";
3
4
  /**
4
5
  * A person view.
5
6
  */
6
7
  export type PersonView = {
7
8
  person: Person;
8
- counts: PersonAggregates;
9
9
  is_admin: boolean;
10
+ person_actions?: PersonActions;
11
+ home_instance_actions?: InstanceActions;
12
+ local_instance_actions?: InstanceActions;
13
+ creator_banned: boolean;
10
14
  };
@@ -0,0 +1,5 @@
1
+ export type PluginMetadata = {
2
+ name: string;
3
+ url: string;
4
+ description: string;
5
+ };
@@ -27,8 +27,8 @@ export type Post = {
27
27
  * Whether the post is locked.
28
28
  */
29
29
  locked: boolean;
30
- published: string;
31
- updated?: string;
30
+ published_at: string;
31
+ updated_at?: string;
32
32
  /**
33
33
  * Whether the post is deleted.
34
34
  */
@@ -78,5 +78,20 @@ export type Post = {
78
78
  /**
79
79
  * Time at which the post will be published. None means publish immediately.
80
80
  */
81
- scheduled_publish_time?: string;
81
+ scheduled_publish_time_at?: string;
82
+ comments: number;
83
+ score: number;
84
+ upvotes: number;
85
+ downvotes: number;
86
+ /**
87
+ * The time of the newest comment in the post.
88
+ */
89
+ newest_comment_time_at: string;
90
+ report_count: number;
91
+ unresolved_report_count: number;
92
+ /**
93
+ * If a local user posts in a remote community, the comment is hidden until it is confirmed
94
+ * accepted by the community (by receiving it back via federation).
95
+ */
96
+ federation_pending: boolean;
82
97
  };
@@ -0,0 +1,31 @@
1
+ export type PostActions = {
2
+ /**
3
+ * When the post was read.
4
+ */
5
+ read_at?: string;
6
+ /**
7
+ * When was the last time you read the comments.
8
+ */
9
+ read_comments_at?: string;
10
+ /**
11
+ * The number of comments you read last. Subtract this from total comments to get an unread
12
+ * count.
13
+ */
14
+ read_comments_amount?: number;
15
+ /**
16
+ * When the post was saved.
17
+ */
18
+ saved_at?: string;
19
+ /**
20
+ * When the post was liked.
21
+ */
22
+ liked_at?: string;
23
+ /**
24
+ * The like / score of the post.
25
+ */
26
+ like_score?: number;
27
+ /**
28
+ * When the post was hidden.
29
+ */
30
+ hidden_at?: string;
31
+ };
@@ -24,7 +24,7 @@ export type PostReport = {
24
24
  reason: string;
25
25
  resolved: boolean;
26
26
  resolver_id?: PersonId;
27
- published: string;
28
- updated?: string;
27
+ published_at: string;
28
+ updated_at?: string;
29
29
  violates_instance_rules: boolean;
30
30
  };
@@ -1,9 +1,10 @@
1
1
  import type { Community } from "./Community";
2
+ import type { CommunityActions } from "./CommunityActions";
2
3
  import type { Person } from "./Person";
4
+ import type { PersonActions } from "./PersonActions";
3
5
  import type { Post } from "./Post";
4
- import type { PostAggregates } from "./PostAggregates";
6
+ import type { PostActions } from "./PostActions";
5
7
  import type { PostReport } from "./PostReport";
6
- import type { SubscribedType } from "./SubscribedType";
7
8
  /**
8
9
  * A post report view.
9
10
  */
@@ -13,19 +14,10 @@ export type PostReportView = {
13
14
  community: Community;
14
15
  creator: Person;
15
16
  post_creator: Person;
16
- creator_banned_from_community: boolean;
17
- creator_is_moderator: boolean;
18
- creator_is_admin: boolean;
19
- subscribed: SubscribedType;
20
- /**
21
- * The time when the post was saved.
22
- */
23
- saved?: string;
24
- read: boolean;
25
- hidden: boolean;
26
- creator_blocked: boolean;
27
- my_vote?: number;
28
- unread_comments: number;
29
- counts: PostAggregates;
17
+ creator_community_actions?: CommunityActions;
18
+ community_actions?: CommunityActions;
19
+ post_actions?: PostActions;
20
+ person_actions?: PersonActions;
30
21
  resolver?: Person;
22
+ creator_is_admin: boolean;
31
23
  };
@@ -1,10 +1,12 @@
1
1
  import type { Community } from "./Community";
2
+ import type { CommunityActions } from "./CommunityActions";
2
3
  import type { ImageDetails } from "./ImageDetails";
4
+ import type { InstanceActions } from "./InstanceActions";
3
5
  import type { Person } from "./Person";
6
+ import type { PersonActions } from "./PersonActions";
4
7
  import type { Post } from "./Post";
5
- import type { PostAggregates } from "./PostAggregates";
6
- import type { PostTags } from "./PostTags";
7
- import type { SubscribedType } from "./SubscribedType";
8
+ import type { PostActions } from "./PostActions";
9
+ import type { TagsView } from "./TagsView";
8
10
  /**
9
11
  * A post view.
10
12
  */
@@ -13,21 +15,14 @@ export type PostView = {
13
15
  creator: Person;
14
16
  community: Community;
15
17
  image_details?: ImageDetails;
16
- creator_banned_from_community: boolean;
17
- banned_from_community: boolean;
18
- creator_is_moderator: boolean;
18
+ community_actions?: CommunityActions;
19
+ person_actions?: PersonActions;
20
+ post_actions?: PostActions;
21
+ instance_actions?: InstanceActions;
19
22
  creator_is_admin: boolean;
20
- counts: PostAggregates;
21
- subscribed: SubscribedType;
22
- /**
23
- * The time when the post was saved.
24
- */
25
- saved?: string;
26
- read: boolean;
27
- hidden: boolean;
28
- creator_blocked: boolean;
29
- my_vote?: number;
30
- unread_comments: number;
31
- tags: PostTags;
23
+ tags: TagsView;
32
24
  can_mod: boolean;
25
+ creator_banned: boolean;
26
+ creator_is_moderator: boolean;
27
+ creator_banned_from_community: boolean;
33
28
  };
@@ -11,8 +11,8 @@ export type PrivateMessage = {
11
11
  content: string;
12
12
  deleted: boolean;
13
13
  read: boolean;
14
- published: string;
15
- updated?: string;
14
+ published_at: string;
15
+ updated_at?: string;
16
16
  ap_id: DbUrl;
17
17
  local: boolean;
18
18
  removed: boolean;
@@ -15,6 +15,6 @@ export type PrivateMessageReport = {
15
15
  reason: string;
16
16
  resolved: boolean;
17
17
  resolver_id?: PersonId;
18
- published: string;
19
- updated?: string;
18
+ published_at: string;
19
+ updated_at?: string;
20
20
  };
@@ -7,7 +7,7 @@ import type { PrivateMessageReport } from "./PrivateMessageReport";
7
7
  export type PrivateMessageReportView = {
8
8
  private_message_report: PrivateMessageReport;
9
9
  private_message: PrivateMessage;
10
- private_message_creator: Person;
11
10
  creator: Person;
11
+ private_message_creator: Person;
12
12
  resolver?: Person;
13
13
  };
@@ -10,7 +10,7 @@ export type ReadableFederationState = {
10
10
  * the last successfully sent activity id
11
11
  */
12
12
  last_successful_id?: ActivityId;
13
- last_successful_published_time?: string;
13
+ last_successful_published_time_at?: string;
14
14
  /**
15
15
  * how many failed attempts have been made to send the next activity
16
16
  */
@@ -18,5 +18,5 @@ export type ReadableFederationState = {
18
18
  /**
19
19
  * timestamp of the last retry attempt (when the last failing activity was resent)
20
20
  */
21
- last_retry?: string;
21
+ last_retry_at?: string;
22
22
  };
@@ -10,5 +10,5 @@ export type RegistrationApplication = {
10
10
  answer: string;
11
11
  admin_id?: PersonId;
12
12
  deny_reason?: string;
13
- published: string;
13
+ published_at: string;
14
14
  };
@@ -0,0 +1,8 @@
1
+ import type { CommunityReportId } from "./CommunityReportId";
2
+ /**
3
+ * Resolve a community report.
4
+ */
5
+ export type ResolveCommunityReport = {
6
+ report_id: CommunityReportId;
7
+ resolved: boolean;
8
+ };
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -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
  */
@@ -84,6 +85,7 @@ export type SaveUserSettings = {
84
85
  * A list of languages you are able to see discussion in.
85
86
  */
86
87
  discussion_languages?: Array<LanguageId>;
88
+ blocking_keywords?: Array<string>;
87
89
  /**
88
90
  * Open links in a new tab
89
91
  */
@@ -114,7 +116,7 @@ export type SaveUserSettings = {
114
116
  */
115
117
  show_scores?: boolean;
116
118
  show_upvotes?: boolean;
117
- show_downvotes?: boolean;
119
+ show_downvotes?: VoteShow;
118
120
  show_upvote_percentage?: boolean;
119
121
  /**
120
122
  * Whether to automatically mark fetched posts as read.
@@ -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
  };
@@ -7,21 +7,23 @@ import type { TagId } from "./TagId";
7
7
  * The assignment happens by the post creator and can be updated by the community moderators.
8
8
  *
9
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.
10
+ * displayed and filtered on. Currently, we only have community post tags, which is a tag that is
11
+ * created by the mods of a community, then assigned to posts by post authors as well as mods of a
12
+ * community, to categorize a post.
13
+ *
14
+ * In the future we may add more tag types, depending on the requirements, this will lead to either
15
+ * expansion of this table (community_id optional, addition of tag_type enum) or split of this
16
+ * table / creation of new tables.
15
17
  */
16
18
  export type Tag = {
17
19
  id: TagId;
18
20
  ap_id: DbUrl;
19
- name: string;
21
+ display_name: string;
20
22
  /**
21
23
  * the community that owns this tag
22
24
  */
23
25
  community_id: CommunityId;
24
- published: string;
25
- updated?: string;
26
+ published_at: string;
27
+ updated_at?: string;
26
28
  deleted: boolean;
27
29
  };
@@ -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 });
@@ -2,6 +2,4 @@ import type { Tag } from "./Tag";
2
2
  /**
3
3
  * we wrap this in a struct so we can implement FromSqlRow<Json> for it
4
4
  */
5
- export type PostTags = {
6
- tags: Array<Tag>;
7
- };
5
+ export type TagsView = Array<Tag>;
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,8 @@
1
+ import type { TagId } from "./TagId";
2
+ /**
3
+ * Update a community tag.
4
+ */
5
+ export type UpdateCommunityTag = {
6
+ tag_id: TagId;
7
+ display_name: string;
8
+ };
@@ -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,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 });
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-dont-return-actions.0",
5
5
  "author": "Dessalines",
6
6
  "license": "AGPL-3.0",
7
7
  "main": "./dist/index.js",
@@ -19,28 +19,31 @@
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
27
  "@redocly/cli": "^1.27.2",
25
- "@types/joi": "^17.2.3",
26
28
  "@types/node": "^22.7.4",
27
29
  "@typescript-eslint/eslint-plugin": "^8.7.0",
28
30
  "@typescript-eslint/parser": "^8.7.0",
29
31
  "eslint": "^9.11.1",
30
32
  "eslint-plugin-prettier": "^5.2.1",
31
33
  "husky": "^9.1.4",
32
- "lint-staged": "^15.2.7",
34
+ "joi": "^17.13.3",
35
+ "lint-staged": "^16.0.0",
33
36
  "prettier": "^3.3.3",
34
37
  "prettier-plugin-import-sort": "^0.0.7",
35
38
  "prettier-plugin-organize-imports": "^4.0.0",
36
39
  "prettier-plugin-packagejson": "^2.5.1",
37
40
  "sortpack": "^2.4.0",
38
41
  "tsoa": "^6.6.0",
39
- "typedoc": "^0.27.0",
42
+ "typedoc": "^0.28.0",
40
43
  "typescript": "^5.5.4",
41
44
  "typescript-eslint": "^8.7.0"
42
45
  },
43
- "packageManager": "pnpm@10.4.0",
46
+ "packageManager": "pnpm@10.12.1",
44
47
  "types": "./dist/index.d.ts",
45
48
  "lint-staged": {
46
49
  "*.{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
- };