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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (146) hide show
  1. package/README.md +6 -0
  2. package/dist/http.d.ts +54 -24
  3. package/dist/http.js +110 -31
  4. package/dist/index.d.ts +26 -29
  5. package/dist/other_types.d.ts +0 -3
  6. package/dist/types/{ModAdd.d.ts → AdminAdd.d.ts} +4 -4
  7. package/dist/types/AdminAddId.d.ts +1 -0
  8. package/dist/types/{ModAddView.d.ts → AdminAddView.d.ts} +3 -3
  9. package/dist/types/AdminAllowInstance.d.ts +1 -1
  10. package/dist/types/AdminAllowInstanceParams.d.ts +1 -1
  11. package/dist/types/{ModBan.d.ts → AdminBan.d.ts} +4 -4
  12. package/dist/types/AdminBanId.d.ts +1 -0
  13. package/dist/types/{ModBanView.d.ts → AdminBanView.d.ts} +3 -3
  14. package/dist/types/AdminBlockInstance.d.ts +1 -1
  15. package/dist/types/AdminBlockInstanceParams.d.ts +7 -2
  16. package/dist/types/AdminPurgeComment.d.ts +1 -1
  17. package/dist/types/AdminPurgeCommunity.d.ts +1 -1
  18. package/dist/types/AdminPurgePerson.d.ts +1 -1
  19. package/dist/types/AdminPurgePost.d.ts +1 -1
  20. package/dist/types/{ModRemoveCommunity.d.ts → AdminRemoveCommunity.d.ts} +4 -4
  21. package/dist/types/AdminRemoveCommunityId.d.ts +1 -0
  22. package/dist/types/AdminRemoveCommunityView.d.ts +11 -0
  23. package/dist/types/AllLemmyErrors.d.ts +1 -0
  24. package/dist/types/AllLemmyErrors.js +117 -0
  25. package/dist/types/BanFromCommunity.d.ts +1 -1
  26. package/dist/types/BanPerson.d.ts +1 -1
  27. package/dist/types/Comment.d.ts +4 -0
  28. package/dist/types/CommentReportView.d.ts +2 -0
  29. package/dist/types/CommentSlimView.d.ts +0 -2
  30. package/dist/types/CommentView.d.ts +2 -2
  31. package/dist/types/CommunityFollowerState.d.ts +1 -1
  32. package/dist/types/CommunityReportView.d.ts +2 -0
  33. package/dist/types/CommunityView.d.ts +0 -2
  34. package/dist/types/CreateCommunityTag.d.ts +2 -0
  35. package/dist/types/CreateCustomEmoji.d.ts +2 -1
  36. package/dist/types/CreateCustomEmoji.js +0 -1
  37. package/dist/types/CreateSite.d.ts +0 -1
  38. package/dist/types/EditCustomEmoji.d.ts +7 -5
  39. package/dist/types/EditSite.d.ts +4 -4
  40. package/dist/types/GetMultiCommunity.d.ts +2 -1
  41. package/dist/types/HideCommunity.d.ts +1 -1
  42. package/dist/types/InstanceActions.d.ts +6 -2
  43. package/dist/types/LemmyErrorType.d.ts +23 -133
  44. package/dist/types/LinkMetadata.d.ts +4 -0
  45. package/dist/types/ListCommunityPendingFollows.d.ts +1 -1
  46. package/dist/types/ListCommunityPendingFollowsResponse.d.ts +2 -2
  47. package/dist/types/LocalSite.d.ts +1 -6
  48. package/dist/types/LocalUser.d.ts +10 -13
  49. package/dist/types/LocalUserView.d.ts +1 -0
  50. package/dist/types/LockComment.d.ts +9 -0
  51. package/dist/types/LockPost.d.ts +1 -1
  52. package/dist/types/{ModAddCommunity.d.ts → ModAddToCommunity.d.ts} +3 -3
  53. package/dist/types/ModAddToCommunityId.d.ts +1 -0
  54. package/dist/types/{ModAddCommunityView.d.ts → ModAddToCommunityView.d.ts} +3 -3
  55. package/dist/types/ModBanFromCommunity.d.ts +1 -1
  56. package/dist/types/ModEditPost.d.ts +10 -0
  57. package/dist/types/ModLockComment.d.ts +14 -0
  58. package/dist/types/ModLockCommentId.d.ts +1 -0
  59. package/dist/types/ModLockCommentView.d.ts +16 -0
  60. package/dist/types/ModLockPost.d.ts +1 -1
  61. package/dist/types/ModRemoveComment.d.ts +1 -1
  62. package/dist/types/ModRemovePost.d.ts +1 -1
  63. package/dist/types/ModlogActionType.d.ts +1 -1
  64. package/dist/types/ModlogCombinedView.d.ts +16 -13
  65. package/dist/types/MultiCommunityResponse.d.ts +4 -0
  66. package/dist/types/MultiCommunityView.d.ts +2 -0
  67. package/dist/types/MyUserInfo.d.ts +2 -1
  68. package/dist/types/Notification.d.ts +22 -2
  69. package/dist/types/NotificationData.d.ts +31 -1
  70. package/dist/types/NotificationType.d.ts +4 -0
  71. package/dist/types/OpenGraphData.d.ts +4 -0
  72. package/dist/types/PendingFollowerView.d.ts +9 -0
  73. package/dist/types/PersonResponse.d.ts +7 -0
  74. package/dist/types/PersonView.d.ts +2 -1
  75. package/dist/types/Post.d.ts +2 -0
  76. package/dist/types/PostOrCommentOrPrivateMessage.d.ts +7 -7
  77. package/dist/types/PostReportView.d.ts +2 -0
  78. package/dist/types/PostView.d.ts +2 -2
  79. package/dist/types/PrivateMessageReportView.d.ts +1 -0
  80. package/dist/types/PurgeComment.d.ts +1 -1
  81. package/dist/types/PurgeCommunity.d.ts +1 -1
  82. package/dist/types/PurgePerson.d.ts +1 -1
  83. package/dist/types/PurgePost.d.ts +1 -1
  84. package/dist/types/ReadableFederationState.d.ts +1 -1
  85. package/dist/types/RemoveComment.d.ts +1 -1
  86. package/dist/types/RemoveCommunity.d.ts +1 -1
  87. package/dist/types/RemovePost.d.ts +1 -1
  88. package/dist/types/SaveUserSettings.d.ts +5 -5
  89. package/dist/types/Tag.d.ts +5 -13
  90. package/dist/types/TagsView.d.ts +1 -1
  91. package/dist/types/UntranslatedError.d.ts +12 -0
  92. package/dist/types/UpdateCommunityTag.d.ts +9 -0
  93. package/dist/types/UserBlockInstanceCommunitiesParams.d.ts +8 -0
  94. package/dist/types/{UserBlockInstanceParams.d.ts → UserBlockInstancePersonsParams.d.ts} +2 -2
  95. package/dist/types/UserSettingsBackup.d.ts +2 -1
  96. package/package.json +6 -5
  97. package/dist/types/BanPersonResponse.d.ts +0 -8
  98. package/dist/types/BlockCommunityResponse.d.ts +0 -8
  99. package/dist/types/BlockPersonResponse.d.ts +0 -8
  100. package/dist/types/CommentReply.d.ts +0 -13
  101. package/dist/types/CommentReplyId.d.ts +0 -4
  102. package/dist/types/FederationError.d.ts +0 -10
  103. package/dist/types/GetCommunityPendingFollowsCount.d.ts +0 -4
  104. package/dist/types/InboxDataType.d.ts +0 -4
  105. package/dist/types/MarkPrivateMessageAsRead.d.ts +0 -8
  106. package/dist/types/ModAddCommunityId.d.ts +0 -1
  107. package/dist/types/ModAddId.d.ts +0 -1
  108. package/dist/types/ModBanId.d.ts +0 -1
  109. package/dist/types/ModRemoveCommunityId.d.ts +0 -1
  110. package/dist/types/ModRemoveCommunityView.d.ts +0 -11
  111. package/dist/types/NotificationTypes.d.ts +0 -4
  112. package/dist/types/NotificationTypes.js +0 -3
  113. package/dist/types/NotificationsMode.d.ts +0 -4
  114. package/dist/types/NotificationsMode.js +0 -3
  115. package/dist/types/PersonCommentMention.d.ts +0 -13
  116. package/dist/types/PersonCommentMentionId.d.ts +0 -4
  117. package/dist/types/PersonCommentMentionId.js +0 -3
  118. package/dist/types/PersonNotification.d.ts +0 -9
  119. package/dist/types/PersonPostMention.d.ts +0 -13
  120. package/dist/types/PersonPostMentionId.d.ts +0 -4
  121. package/dist/types/PersonPostMentionId.js +0 -3
  122. /package/dist/types/{BanPersonResponse.js → AdminAdd.js} +0 -0
  123. /package/dist/types/{CommentReplyId.js → AdminAddId.js} +0 -0
  124. /package/dist/types/{BlockCommunityResponse.js → AdminAddView.js} +0 -0
  125. /package/dist/types/{BlockPersonResponse.js → AdminBan.js} +0 -0
  126. /package/dist/types/{FederationError.js → AdminBanId.js} +0 -0
  127. /package/dist/types/{CommentReply.js → AdminBanView.js} +0 -0
  128. /package/dist/types/{GetCommunityPendingFollowsCount.js → AdminRemoveCommunity.js} +0 -0
  129. /package/dist/types/{InboxDataType.js → AdminRemoveCommunityId.js} +0 -0
  130. /package/dist/types/{MarkPrivateMessageAsRead.js → AdminRemoveCommunityView.js} +0 -0
  131. /package/dist/types/{ModAdd.js → LockComment.js} +0 -0
  132. /package/dist/types/{ModAddCommunity.js → ModAddToCommunity.js} +0 -0
  133. /package/dist/types/{ModAddCommunityId.js → ModAddToCommunityId.js} +0 -0
  134. /package/dist/types/{ModAddCommunityView.js → ModAddToCommunityView.js} +0 -0
  135. /package/dist/types/{ModAddView.js → ModEditPost.js} +0 -0
  136. /package/dist/types/{ModBan.js → ModLockComment.js} +0 -0
  137. /package/dist/types/{ModAddId.js → ModLockCommentId.js} +0 -0
  138. /package/dist/types/{ModBanView.js → ModLockCommentView.js} +0 -0
  139. /package/dist/types/{ModRemoveCommunity.js → MultiCommunityResponse.js} +0 -0
  140. /package/dist/types/{ModBanId.js → NotificationType.js} +0 -0
  141. /package/dist/types/{ModRemoveCommunityView.js → PendingFollowerView.js} +0 -0
  142. /package/dist/types/{PersonCommentMention.js → PersonResponse.js} +0 -0
  143. /package/dist/types/{ModRemoveCommunityId.js → UntranslatedError.js} +0 -0
  144. /package/dist/types/{PersonNotification.js → UpdateCommunityTag.js} +0 -0
  145. /package/dist/types/{PersonPostMention.js → UserBlockInstanceCommunitiesParams.js} +0 -0
  146. /package/dist/types/{UserBlockInstanceParams.js → UserBlockInstancePersonsParams.js} +0 -0
@@ -0,0 +1,4 @@
1
+ import type { MultiCommunityView } from "./MultiCommunityView";
2
+ export type MultiCommunityResponse = {
3
+ multi_community_view: MultiCommunityView;
4
+ };
@@ -1,6 +1,8 @@
1
+ import type { CommunityFollowerState } from "./CommunityFollowerState";
1
2
  import type { MultiCommunity } from "./MultiCommunity";
2
3
  import type { Person } from "./Person";
3
4
  export type MultiCommunityView = {
4
5
  multi: MultiCommunity;
6
+ follow_state?: CommunityFollowerState;
5
7
  owner: Person;
6
8
  };
@@ -13,7 +13,8 @@ export type MyUserInfo = {
13
13
  follows: Array<CommunityFollowerView>;
14
14
  moderates: Array<CommunityModeratorView>;
15
15
  community_blocks: Array<Community>;
16
- instance_blocks: Array<Instance>;
16
+ instance_communities_blocks: Array<Instance>;
17
+ instance_persons_blocks: Array<Instance>;
17
18
  person_blocks: Array<Person>;
18
19
  keyword_blocks: Array<string>;
19
20
  discussion_languages: Array<LanguageId>;
@@ -1,6 +1,16 @@
1
+ import type { AdminAddId } from "./AdminAddId";
2
+ import type { AdminBanId } from "./AdminBanId";
3
+ import type { AdminRemoveCommunityId } from "./AdminRemoveCommunityId";
1
4
  import type { CommentId } from "./CommentId";
5
+ import type { ModAddToCommunityId } from "./ModAddToCommunityId";
6
+ import type { ModBanFromCommunityId } from "./ModBanFromCommunityId";
7
+ import type { ModLockCommentId } from "./ModLockCommentId";
8
+ import type { ModLockPostId } from "./ModLockPostId";
9
+ import type { ModRemoveCommentId } from "./ModRemoveCommentId";
10
+ import type { ModRemovePostId } from "./ModRemovePostId";
11
+ import type { ModTransferCommunityId } from "./ModTransferCommunityId";
2
12
  import type { NotificationId } from "./NotificationId";
3
- import type { NotificationTypes } from "./NotificationTypes";
13
+ import type { NotificationType } from "./NotificationType";
4
14
  import type { PersonId } from "./PersonId";
5
15
  import type { PostId } from "./PostId";
6
16
  import type { PrivateMessageId } from "./PrivateMessageId";
@@ -10,7 +20,17 @@ export type Notification = {
10
20
  comment_id?: CommentId;
11
21
  read: boolean;
12
22
  published_at: string;
13
- kind: NotificationTypes;
23
+ kind: NotificationType;
14
24
  post_id?: PostId;
15
25
  private_message_id?: PrivateMessageId;
26
+ admin_add_id?: AdminAddId;
27
+ mod_add_to_community_id?: ModAddToCommunityId;
28
+ admin_ban_id?: AdminBanId;
29
+ mod_ban_from_community_id?: ModBanFromCommunityId;
30
+ mod_lock_post_id?: ModLockPostId;
31
+ mod_remove_comment_id?: ModRemoveCommentId;
32
+ admin_remove_community_id?: AdminRemoveCommunityId;
33
+ mod_remove_post_id?: ModRemovePostId;
34
+ mod_lock_comment_id?: ModLockCommentId;
35
+ mod_transfer_community_id?: ModTransferCommunityId;
16
36
  };
@@ -1,4 +1,14 @@
1
+ import type { AdminAdd } from "./AdminAdd";
2
+ import type { AdminBan } from "./AdminBan";
3
+ import type { AdminRemoveCommunity } from "./AdminRemoveCommunity";
1
4
  import type { CommentView } from "./CommentView";
5
+ import type { ModAddToCommunity } from "./ModAddToCommunity";
6
+ import type { ModBanFromCommunity } from "./ModBanFromCommunity";
7
+ import type { ModLockComment } from "./ModLockComment";
8
+ import type { ModLockPost } from "./ModLockPost";
9
+ import type { ModRemoveComment } from "./ModRemoveComment";
10
+ import type { ModRemovePost } from "./ModRemovePost";
11
+ import type { ModTransferCommunity } from "./ModTransferCommunity";
2
12
  import type { PostView } from "./PostView";
3
13
  import type { PrivateMessageView } from "./PrivateMessageView";
4
14
  export type NotificationData = ({
@@ -7,4 +17,24 @@ export type NotificationData = ({
7
17
  type_: "Post";
8
18
  } & PostView) | ({
9
19
  type_: "PrivateMessage";
10
- } & PrivateMessageView);
20
+ } & PrivateMessageView) | ({
21
+ type_: "AdminAdd";
22
+ } & AdminAdd) | ({
23
+ type_: "ModAddToCommunity";
24
+ } & ModAddToCommunity) | ({
25
+ type_: "AdminBan";
26
+ } & AdminBan) | ({
27
+ type_: "ModBanFromCommunity";
28
+ } & ModBanFromCommunity) | ({
29
+ type_: "ModLockPost";
30
+ } & ModLockPost) | ({
31
+ type_: "ModLockComment";
32
+ } & ModLockComment) | ({
33
+ type_: "ModRemovePost";
34
+ } & ModRemovePost) | ({
35
+ type_: "ModRemoveComment";
36
+ } & ModRemoveComment) | ({
37
+ type_: "AdminRemoveCommunity";
38
+ } & AdminRemoveCommunity) | ({
39
+ type_: "ModTransferCommunity";
40
+ } & ModTransferCommunity);
@@ -0,0 +1,4 @@
1
+ /**
2
+ * Types of notifications which can be received in inbox
3
+ */
4
+ export type NotificationType = "Mention" | "Reply" | "Subscribed" | "PrivateMessage" | "ModAction";
@@ -6,5 +6,9 @@ export type OpenGraphData = {
6
6
  title?: string;
7
7
  description?: string;
8
8
  image?: DbUrl;
9
+ image_width?: number;
10
+ image_height?: number;
9
11
  embed_video_url?: DbUrl;
12
+ video_width?: number;
13
+ video_height?: number;
10
14
  };
@@ -0,0 +1,9 @@
1
+ import type { Community } from "./Community";
2
+ import type { CommunityFollowerState } from "./CommunityFollowerState";
3
+ import type { Person } from "./Person";
4
+ export type PendingFollowerView = {
5
+ person: Person;
6
+ community: Community;
7
+ is_new_instance: boolean;
8
+ follow_state?: CommunityFollowerState;
9
+ };
@@ -0,0 +1,7 @@
1
+ import type { PersonView } from "./PersonView";
2
+ /**
3
+ * A person response for actions done to a person.
4
+ */
5
+ export type PersonResponse = {
6
+ person_view: PersonView;
7
+ };
@@ -7,5 +7,6 @@ export type PersonView = {
7
7
  person: Person;
8
8
  is_admin: boolean;
9
9
  person_actions?: PersonActions;
10
- creator_banned: boolean;
10
+ banned: boolean;
11
+ ban_expires_at?: string;
11
12
  };
@@ -94,4 +94,6 @@ export type Post = {
94
94
  * accepted by the community (by receiving it back via federation).
95
95
  */
96
96
  federation_pending: boolean;
97
+ embed_video_width?: number;
98
+ embed_video_height?: number;
97
99
  };
@@ -1,10 +1,10 @@
1
1
  import type { Comment } from "./Comment";
2
2
  import type { Post } from "./Post";
3
3
  import type { PrivateMessage } from "./PrivateMessage";
4
- export type PostOrCommentOrPrivateMessage = {
5
- Post: Post;
6
- } | {
7
- Comment: Comment;
8
- } | {
9
- PrivateMessage: PrivateMessage;
10
- };
4
+ export type PostOrCommentOrPrivateMessage = ({
5
+ type_: "Post";
6
+ } & Post) | ({
7
+ type_: "Comment";
8
+ } & Comment) | ({
9
+ type_: "PrivateMessage";
10
+ } & PrivateMessage);
@@ -21,5 +21,7 @@ export type PostReportView = {
21
21
  creator_is_admin: boolean;
22
22
  creator_is_moderator: boolean;
23
23
  creator_banned: boolean;
24
+ creator_ban_expires_at?: string;
24
25
  creator_banned_from_community: boolean;
26
+ creator_community_ban_expires_at?: string;
25
27
  };
@@ -1,7 +1,6 @@
1
1
  import type { Community } from "./Community";
2
2
  import type { CommunityActions } from "./CommunityActions";
3
3
  import type { ImageDetails } from "./ImageDetails";
4
- import type { InstanceActions } from "./InstanceActions";
5
4
  import type { Person } from "./Person";
6
5
  import type { PersonActions } from "./PersonActions";
7
6
  import type { Post } from "./Post";
@@ -18,11 +17,12 @@ export type PostView = {
18
17
  community_actions?: CommunityActions;
19
18
  person_actions?: PersonActions;
20
19
  post_actions?: PostActions;
21
- instance_actions?: InstanceActions;
22
20
  creator_is_admin: boolean;
23
21
  tags: TagsView;
24
22
  can_mod: boolean;
25
23
  creator_banned: boolean;
24
+ creator_ban_expires_at?: string;
26
25
  creator_is_moderator: boolean;
27
26
  creator_banned_from_community: boolean;
27
+ creator_community_ban_expires_at?: string;
28
28
  };
@@ -12,4 +12,5 @@ export type PrivateMessageReportView = {
12
12
  resolver?: Person;
13
13
  creator_is_admin: boolean;
14
14
  creator_banned: boolean;
15
+ creator_ban_expires_at?: string;
15
16
  };
@@ -4,5 +4,5 @@ import type { CommentId } from "./CommentId";
4
4
  */
5
5
  export type PurgeComment = {
6
6
  comment_id: CommentId;
7
- reason?: string;
7
+ reason: string;
8
8
  };
@@ -4,5 +4,5 @@ import type { CommunityId } from "./CommunityId";
4
4
  */
5
5
  export type PurgeCommunity = {
6
6
  community_id: CommunityId;
7
- reason?: string;
7
+ reason: string;
8
8
  };
@@ -4,5 +4,5 @@ import type { PersonId } from "./PersonId";
4
4
  */
5
5
  export type PurgePerson = {
6
6
  person_id: PersonId;
7
- reason?: string;
7
+ reason: string;
8
8
  };
@@ -4,5 +4,5 @@ import type { PostId } from "./PostId";
4
4
  */
5
5
  export type PurgePost = {
6
6
  post_id: PostId;
7
- reason?: string;
7
+ reason: string;
8
8
  };
@@ -4,7 +4,7 @@ export type ReadableFederationState = {
4
4
  /**
5
5
  * timestamp of the next retry attempt (null if fail count is 0)
6
6
  */
7
- next_retry?: string;
7
+ next_retry_at?: string;
8
8
  instance_id: InstanceId;
9
9
  /**
10
10
  * the last successfully sent activity id
@@ -5,5 +5,5 @@ import type { CommentId } from "./CommentId";
5
5
  export type RemoveComment = {
6
6
  comment_id: CommentId;
7
7
  removed: boolean;
8
- reason?: string;
8
+ reason: string;
9
9
  };
@@ -5,5 +5,5 @@ import type { CommunityId } from "./CommunityId";
5
5
  export type RemoveCommunity = {
6
6
  community_id: CommunityId;
7
7
  removed: boolean;
8
- reason?: string;
8
+ reason: string;
9
9
  };
@@ -5,5 +5,5 @@ import type { PostId } from "./PostId";
5
5
  export type RemovePost = {
6
6
  post_id: PostId;
7
7
  removed: boolean;
8
- reason?: string;
8
+ reason: string;
9
9
  };
@@ -37,6 +37,10 @@ export type SaveUserSettings = {
37
37
  * A default time range limit to apply to post sorts, in seconds. 0 means none.
38
38
  */
39
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;
40
44
  /**
41
45
  * The default comment sort, usually "hot"
42
46
  */
@@ -94,10 +98,6 @@ export type SaveUserSettings = {
94
98
  * Enable infinite scroll
95
99
  */
96
100
  infinite_scroll_enabled?: boolean;
97
- /**
98
- * Whether to allow keyboard navigation (for browsing and interacting with posts and comments).
99
- */
100
- enable_keyboard_navigation?: boolean;
101
101
  /**
102
102
  * Whether user avatars or inline images in the UI that are gifs should be allowed to play or
103
103
  * should be paused
@@ -114,7 +114,7 @@ export type SaveUserSettings = {
114
114
  /**
115
115
  * Some vote display mode settings
116
116
  */
117
- show_scores?: boolean;
117
+ show_score?: boolean;
118
118
  show_upvotes?: boolean;
119
119
  show_downvotes?: VoteShow;
120
120
  show_upvote_percentage?: boolean;
@@ -2,25 +2,17 @@ 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 federated 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 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.
5
+ * A tag that is created by community moderators, and assigned to posts by the creator
6
+ * or by mods.
17
7
  */
18
8
  export type Tag = {
19
9
  id: TagId;
20
10
  ap_id: DbUrl;
21
11
  name: string;
12
+ display_name?: string;
13
+ description?: string;
22
14
  /**
23
- * the community that owns this tag
15
+ * The community that this tag belongs to
24
16
  */
25
17
  community_id: CommunityId;
26
18
  published_at: string;
@@ -1,5 +1,5 @@
1
1
  import type { Tag } from "./Tag";
2
2
  /**
3
- * we wrap this in a struct so we can implement FromSqlRow<Json> for it
3
+ * We wrap this in a struct so we can implement FromSqlRow<Json> for it
4
4
  */
5
5
  export type TagsView = Array<Tag>;
@@ -0,0 +1,12 @@
1
+ /**
2
+ * These errors are only used for federation or internally and dont need to be translated.
3
+ */
4
+ export type UntranslatedError = "InvalidCommunity" | "CannotCreatePostOrCommentInDeletedOrRemovedCommunity" | "CannotReceivePage" | "OnlyLocalAdminCanRemoveCommunity" | "OnlyLocalAdminCanRestoreCommunity" | "PostIsLocked" | {
5
+ PersonIsBannedFromSite: string;
6
+ } | "InvalidVoteValue" | "PageDoesNotSpecifyCreator" | "FederationDisabled" | {
7
+ DomainBlocked: string;
8
+ } | {
9
+ DomainNotInAllowList: string;
10
+ } | "FederationDisabledByStrictAllowList" | "ContradictingFilters" | "UrlWithoutDomain" | "InboxTimeout" | "CantDeleteSite" | "ObjectIsNotPublic" | "ObjectIsNotPrivate" | {
11
+ InvalidFollow: string;
12
+ } | "PurgeInvalidImageUrl" | "Unreachable" | "CouldntSendWebmention" | "CommunityHasNoFollowers";
@@ -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,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
+ };
@@ -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
  };
@@ -22,5 +22,6 @@ export type UserSettingsBackup = {
22
22
  saved_comments: Array<string>;
23
23
  blocked_communities: Array<string>;
24
24
  blocked_users: Array<string>;
25
- blocked_instances: Array<string>;
25
+ blocked_instances_communities: Array<string>;
26
+ blocked_instances_persons: Array<string>;
26
27
  };
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-post-tags.1",
4
+ "version": "1.0.0-private-community-fixes.0",
5
5
  "author": "Dessalines",
6
6
  "license": "AGPL-3.0",
7
7
  "main": "./dist/index.js",
@@ -24,26 +24,27 @@
24
24
  },
25
25
  "devDependencies": {
26
26
  "@eslint/js": "^9.20.0",
27
- "@redocly/cli": "^1.27.2",
27
+ "@redocly/cli": "^2.0.0",
28
28
  "@types/node": "^22.7.4",
29
29
  "@typescript-eslint/eslint-plugin": "^8.7.0",
30
30
  "@typescript-eslint/parser": "^8.7.0",
31
+ "ajv": "^8.17.1",
31
32
  "eslint": "^9.11.1",
32
33
  "eslint-plugin-prettier": "^5.2.1",
33
34
  "husky": "^9.1.4",
34
- "joi": "^17.13.3",
35
+ "joi": "^18.0.0",
35
36
  "lint-staged": "^16.0.0",
36
37
  "prettier": "^3.3.3",
37
38
  "prettier-plugin-import-sort": "^0.0.7",
38
39
  "prettier-plugin-organize-imports": "^4.0.0",
39
40
  "prettier-plugin-packagejson": "^2.5.1",
40
- "sortpack": "^2.4.0",
41
+ "sortpack": "^3.0.0",
41
42
  "tsoa": "^6.6.0",
42
43
  "typedoc": "^0.28.0",
43
44
  "typescript": "^5.5.4",
44
45
  "typescript-eslint": "^8.7.0"
45
46
  },
46
- "packageManager": "pnpm@10.13.1",
47
+ "packageManager": "pnpm@10.18.2",
47
48
  "types": "./dist/index.d.ts",
48
49
  "lint-staged": {
49
50
  "*.{ts,tsx,js}": [
@@ -1,8 +0,0 @@
1
- import type { PersonView } from "./PersonView";
2
- /**
3
- * A response for a banned person.
4
- */
5
- export type BanPersonResponse = {
6
- person_view: PersonView;
7
- banned: boolean;
8
- };
@@ -1,8 +0,0 @@
1
- import type { CommunityView } from "./CommunityView";
2
- /**
3
- * The block community response.
4
- */
5
- export type BlockCommunityResponse = {
6
- community_view: CommunityView;
7
- blocked: boolean;
8
- };
@@ -1,8 +0,0 @@
1
- import type { PersonView } from "./PersonView";
2
- /**
3
- * The response for a person block.
4
- */
5
- export type BlockPersonResponse = {
6
- person_view: PersonView;
7
- blocked: boolean;
8
- };
@@ -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_at: string;
13
- };
@@ -1,4 +0,0 @@
1
- /**
2
- * The comment reply id.
3
- */
4
- export type CommentReplyId = number;
@@ -1,10 +0,0 @@
1
- /**
2
- * Federation related errors, these dont need to be translated.
3
- */
4
- export type FederationError = "InvalidCommunity" | "CannotCreatePostOrCommentInDeletedOrRemovedCommunity" | "CannotReceivePage" | "OnlyLocalAdminCanRemoveCommunity" | "OnlyLocalAdminCanRestoreCommunity" | "PostIsLocked" | {
5
- PersonIsBannedFromSite: string;
6
- } | "InvalidVoteValue" | "PageDoesNotSpecifyCreator" | "CouldntGetComments" | "CouldntGetPosts" | "FederationDisabled" | {
7
- DomainBlocked: string;
8
- } | {
9
- DomainNotInAllowList: string;
10
- } | "FederationDisabledByStrictAllowList" | "ContradictingFilters" | "UrlWithoutDomain" | "InboxTimeout" | "CantDeleteSite" | "ObjectIsNotPublic" | "ObjectIsNotPrivate" | "PlatformLackingPrivateCommunitySupport" | "Unreachable";
@@ -1,4 +0,0 @@
1
- import type { CommunityId } from "./CommunityId";
2
- export type GetCommunityPendingFollowsCount = {
3
- community_id: CommunityId;
4
- };
@@ -1,4 +0,0 @@
1
- /**
2
- * A list of possible types for the inbox.
3
- */
4
- export type InboxDataType = "All" | "Reply" | "Mention" | "PrivateMessage";
@@ -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 +0,0 @@
1
- export type ModAddCommunityId = number;
@@ -1 +0,0 @@
1
- export type ModAddId = number;
@@ -1 +0,0 @@
1
- export type ModBanId = number;
@@ -1 +0,0 @@
1
- export type ModRemoveCommunityId = number;
@@ -1,11 +0,0 @@
1
- import type { Community } from "./Community";
2
- import type { ModRemoveCommunity } from "./ModRemoveCommunity";
3
- import type { Person } from "./Person";
4
- /**
5
- * When a moderator removes a community.
6
- */
7
- export type ModRemoveCommunityView = {
8
- mod_remove_community: ModRemoveCommunity;
9
- moderator?: Person;
10
- community: Community;
11
- };
@@ -1,4 +0,0 @@
1
- /**
2
- * Types of notifications which can be received in inbox
3
- */
4
- export type NotificationTypes = "Mention" | "Reply" | "Subscribed" | "PrivateMessage";
@@ -1,3 +0,0 @@
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 });
@@ -1,4 +0,0 @@
1
- /**
2
- * Lets you show votes for others only, show all votes, or hide all votes.
3
- */
4
- export type NotificationsMode = "RepliesAndMentions" | "AllComments" | "Mute";
@@ -1,3 +0,0 @@
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 });
@@ -1,13 +0,0 @@
1
- import type { CommentId } from "./CommentId";
2
- import type { PersonCommentMentionId } from "./PersonCommentMentionId";
3
- import type { PersonId } from "./PersonId";
4
- /**
5
- * A person mention.
6
- */
7
- export type PersonCommentMention = {
8
- id: PersonCommentMentionId;
9
- recipient_id: PersonId;
10
- comment_id: CommentId;
11
- read: boolean;
12
- published_at: string;
13
- };
@@ -1,4 +0,0 @@
1
- /**
2
- * The person comment mention id.
3
- */
4
- export type PersonCommentMentionId = number;
@@ -1,3 +0,0 @@
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 });
@@ -1,9 +0,0 @@
1
- import type { NotificationId } from "./NotificationId";
2
- import type { NotificationTypes } from "./NotificationTypes";
3
- import type { PersonId } from "./PersonId";
4
- export type PersonNotification = {
5
- notification_id: NotificationId;
6
- recipient_id: PersonId;
7
- kind: NotificationTypes;
8
- read: boolean;
9
- };
@@ -1,13 +0,0 @@
1
- import type { PersonId } from "./PersonId";
2
- import type { PersonPostMentionId } from "./PersonPostMentionId";
3
- import type { PostId } from "./PostId";
4
- /**
5
- * A person mention.
6
- */
7
- export type PersonPostMention = {
8
- id: PersonPostMentionId;
9
- recipient_id: PersonId;
10
- post_id: PostId;
11
- read: boolean;
12
- published_at: string;
13
- };