lemmy-js-client 1.0.0-multi-community.20 → 1.0.0-multi-community-follow-state.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 (167) hide show
  1. package/README.md +6 -0
  2. package/dist/http.d.ts +42 -26
  3. package/dist/http.js +105 -56
  4. package/dist/index.d.ts +37 -30
  5. package/dist/index.js +3 -0
  6. package/dist/other_types.d.ts +2 -2
  7. package/dist/types/{ModAdd.d.ts → AdminAdd.d.ts} +4 -4
  8. package/dist/types/AdminAddId.d.ts +1 -0
  9. package/dist/types/{ModAddView.d.ts → AdminAddView.d.ts} +3 -3
  10. package/dist/types/AdminAllowInstance.d.ts +1 -1
  11. package/dist/types/AdminAllowInstanceParams.d.ts +1 -1
  12. package/dist/types/{ModBan.d.ts → AdminBan.d.ts} +4 -4
  13. package/dist/types/AdminBanId.d.ts +1 -0
  14. package/dist/types/{ModBanView.d.ts → AdminBanView.d.ts} +3 -3
  15. package/dist/types/AdminBlockInstance.d.ts +1 -1
  16. package/dist/types/AdminBlockInstanceParams.d.ts +1 -1
  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/AllLemmyErrors.d.ts +1 -0
  25. package/dist/types/AllLemmyErrors.js +119 -0
  26. package/dist/types/BanFromCommunity.d.ts +1 -1
  27. package/dist/types/BanPerson.d.ts +1 -1
  28. package/dist/types/Comment.d.ts +4 -0
  29. package/dist/types/CommentReportView.d.ts +3 -1
  30. package/dist/types/CommentResponse.d.ts +0 -2
  31. package/dist/types/CommentSlimView.d.ts +2 -6
  32. package/dist/types/CommentView.d.ts +4 -5
  33. package/dist/types/CommunityActions.d.ts +2 -0
  34. package/dist/types/CommunityNotificationsMode.d.ts +4 -0
  35. package/dist/types/CommunityReportView.d.ts +4 -0
  36. package/dist/types/CommunityView.d.ts +0 -2
  37. package/dist/types/CreateCommunityTag.d.ts +3 -1
  38. package/dist/types/CreateCustomEmoji.d.ts +2 -1
  39. package/dist/types/CreateCustomEmoji.js +0 -1
  40. package/dist/types/CreateSite.d.ts +14 -13
  41. package/dist/types/EditCustomEmoji.d.ts +7 -5
  42. package/dist/types/EditSite.d.ts +21 -16
  43. package/dist/types/ExportDataResponse.d.ts +13 -0
  44. package/dist/types/FederationError.d.ts +4 -2
  45. package/dist/types/HideCommunity.d.ts +1 -1
  46. package/dist/types/InstanceActions.d.ts +6 -2
  47. package/dist/types/LemmyErrorType.d.ts +12 -136
  48. package/dist/types/LinkMetadata.d.ts +4 -0
  49. package/dist/types/{ListInbox.d.ts → ListNotifications.d.ts} +3 -3
  50. package/dist/types/{ListInboxResponse.d.ts → ListNotificationsResponse.d.ts} +3 -3
  51. package/dist/types/LocalImage.d.ts +1 -1
  52. package/dist/types/LocalSite.d.ts +1 -6
  53. package/dist/types/LocalSiteRateLimit.d.ts +14 -14
  54. package/dist/types/LocalUser.d.ts +11 -13
  55. package/dist/types/LocalUserView.d.ts +2 -2
  56. package/dist/types/LockComment.d.ts +9 -0
  57. package/dist/types/LockPost.d.ts +1 -1
  58. package/dist/types/MarkNotificationAsRead.d.ts +8 -0
  59. package/dist/types/{ModAddCommunity.d.ts → ModAddToCommunity.d.ts} +3 -3
  60. package/dist/types/ModAddToCommunityId.d.ts +1 -0
  61. package/dist/types/{ModAddCommunityView.d.ts → ModAddToCommunityView.d.ts} +3 -3
  62. package/dist/types/ModBanFromCommunity.d.ts +1 -1
  63. package/dist/types/ModEditPost.d.ts +10 -0
  64. package/dist/types/ModLockComment.d.ts +14 -0
  65. package/dist/types/ModLockCommentId.d.ts +1 -0
  66. package/dist/types/ModLockCommentView.d.ts +16 -0
  67. package/dist/types/ModLockPost.d.ts +1 -1
  68. package/dist/types/ModRemoveComment.d.ts +1 -1
  69. package/dist/types/ModRemovePost.d.ts +1 -1
  70. package/dist/types/ModlogActionType.d.ts +1 -1
  71. package/dist/types/ModlogCombinedView.d.ts +16 -13
  72. package/dist/types/MultiCommunityView.d.ts +2 -0
  73. package/dist/types/MyUserInfo.d.ts +2 -1
  74. package/dist/types/NotePerson.d.ts +10 -0
  75. package/dist/types/Notification.d.ts +16 -0
  76. package/dist/types/NotificationData.d.ts +10 -0
  77. package/dist/types/NotificationDataType.d.ts +4 -0
  78. package/dist/types/NotificationId.d.ts +1 -0
  79. package/dist/types/NotificationType.d.ts +4 -0
  80. package/dist/types/NotificationType.js +3 -0
  81. package/dist/types/NotificationView.d.ts +6 -0
  82. package/dist/types/OpenGraphData.d.ts +4 -0
  83. package/dist/types/PersonActions.d.ts +12 -0
  84. package/dist/types/PersonView.d.ts +2 -4
  85. package/dist/types/Post.d.ts +2 -0
  86. package/dist/types/PostActions.d.ts +2 -0
  87. package/dist/types/PostActions.js +0 -1
  88. package/dist/types/PostNotificationsMode.d.ts +4 -0
  89. package/dist/types/PostNotificationsMode.js +3 -0
  90. package/dist/types/PostOrCommentOrPrivateMessage.d.ts +10 -0
  91. package/dist/types/PostReportView.d.ts +3 -1
  92. package/dist/types/PostView.d.ts +4 -5
  93. package/dist/types/PrivateMessage.d.ts +0 -1
  94. package/dist/types/PrivateMessageReportView.d.ts +2 -0
  95. package/dist/types/PurgeComment.d.ts +1 -1
  96. package/dist/types/PurgeCommunity.d.ts +1 -1
  97. package/dist/types/PurgePerson.d.ts +1 -1
  98. package/dist/types/PurgePost.d.ts +1 -1
  99. package/dist/types/ReadableFederationState.d.ts +1 -1
  100. package/dist/types/RemoveComment.d.ts +1 -1
  101. package/dist/types/RemoveCommunity.d.ts +1 -1
  102. package/dist/types/RemovePost.d.ts +1 -1
  103. package/dist/types/SaveUserSettings.d.ts +9 -5
  104. package/dist/types/Tag.d.ts +6 -14
  105. package/dist/types/TagsView.d.ts +1 -1
  106. package/dist/types/UpdateCommunityNotifications.d.ts +9 -0
  107. package/dist/types/UpdateCommunityTag.d.ts +3 -2
  108. package/dist/types/UpdatePostNotifications.d.ts +9 -0
  109. package/dist/types/UpdatePostNotifications.js +2 -0
  110. package/dist/types/UserBlockInstanceCommunitiesParams.d.ts +8 -0
  111. package/dist/types/UserBlockInstanceCommunitiesParams.js +2 -0
  112. package/dist/types/{UserBlockInstanceParams.d.ts → UserBlockInstancePersonsParams.d.ts} +2 -2
  113. package/dist/types/UserBlockInstancePersonsParams.js +2 -0
  114. package/dist/types/UserSettingsBackup.d.ts +27 -0
  115. package/dist/types/UserSettingsBackup.js +2 -0
  116. package/dist/types/VoteView.d.ts +1 -0
  117. package/package.json +6 -5
  118. package/dist/types/CommentReply.d.ts +0 -13
  119. package/dist/types/CommentReplyId.d.ts +0 -4
  120. package/dist/types/CommentReplyView.d.ts +0 -32
  121. package/dist/types/InboxCombinedView.d.ts +0 -13
  122. package/dist/types/InboxDataType.d.ts +0 -4
  123. package/dist/types/MarkCommentReplyAsRead.d.ts +0 -8
  124. package/dist/types/MarkPersonCommentMentionAsRead.d.ts +0 -8
  125. package/dist/types/MarkPersonPostMentionAsRead.d.ts +0 -8
  126. package/dist/types/MarkPrivateMessageAsRead.d.ts +0 -8
  127. package/dist/types/ModAddCommunityId.d.ts +0 -1
  128. package/dist/types/ModAddId.d.ts +0 -1
  129. package/dist/types/ModBanId.d.ts +0 -1
  130. package/dist/types/ModRemoveCommunityId.d.ts +0 -1
  131. package/dist/types/ModRemoveCommunityView.d.ts +0 -11
  132. package/dist/types/PersonCommentMention.d.ts +0 -13
  133. package/dist/types/PersonCommentMentionId.d.ts +0 -4
  134. package/dist/types/PersonCommentMentionView.d.ts +0 -30
  135. package/dist/types/PersonPostMention.d.ts +0 -13
  136. package/dist/types/PersonPostMentionId.d.ts +0 -4
  137. package/dist/types/PersonPostMentionView.d.ts +0 -32
  138. /package/dist/types/{CommentReply.js → AdminAdd.js} +0 -0
  139. /package/dist/types/{CommentReplyId.js → AdminAddId.js} +0 -0
  140. /package/dist/types/{CommentReplyView.js → AdminAddView.js} +0 -0
  141. /package/dist/types/{InboxCombinedView.js → AdminBan.js} +0 -0
  142. /package/dist/types/{InboxDataType.js → AdminBanId.js} +0 -0
  143. /package/dist/types/{ListInbox.js → AdminBanView.js} +0 -0
  144. /package/dist/types/{ListInboxResponse.js → AdminRemoveCommunity.js} +0 -0
  145. /package/dist/types/{ModAddCommunityId.js → AdminRemoveCommunityId.js} +0 -0
  146. /package/dist/types/{MarkCommentReplyAsRead.js → AdminRemoveCommunityView.js} +0 -0
  147. /package/dist/types/{ModAddId.js → CommunityNotificationsMode.js} +0 -0
  148. /package/dist/types/{MarkPersonCommentMentionAsRead.js → ExportDataResponse.js} +0 -0
  149. /package/dist/types/{MarkPersonPostMentionAsRead.js → ListNotifications.js} +0 -0
  150. /package/dist/types/{MarkPrivateMessageAsRead.js → ListNotificationsResponse.js} +0 -0
  151. /package/dist/types/{ModAdd.js → LockComment.js} +0 -0
  152. /package/dist/types/{ModAddCommunity.js → MarkNotificationAsRead.js} +0 -0
  153. /package/dist/types/{ModAddCommunityView.js → ModAddToCommunity.js} +0 -0
  154. /package/dist/types/{ModBanId.js → ModAddToCommunityId.js} +0 -0
  155. /package/dist/types/{ModAddView.js → ModAddToCommunityView.js} +0 -0
  156. /package/dist/types/{ModBan.js → ModEditPost.js} +0 -0
  157. /package/dist/types/{ModBanView.js → ModLockComment.js} +0 -0
  158. /package/dist/types/{ModRemoveCommunityId.js → ModLockCommentId.js} +0 -0
  159. /package/dist/types/{ModRemoveCommunity.js → ModLockCommentView.js} +0 -0
  160. /package/dist/types/{ModRemoveCommunityView.js → NotePerson.js} +0 -0
  161. /package/dist/types/{PersonCommentMention.js → Notification.js} +0 -0
  162. /package/dist/types/{PersonCommentMentionView.js → NotificationData.js} +0 -0
  163. /package/dist/types/{PersonCommentMentionId.js → NotificationDataType.js} +0 -0
  164. /package/dist/types/{PersonPostMentionId.js → NotificationId.js} +0 -0
  165. /package/dist/types/{PersonPostMention.js → NotificationView.js} +0 -0
  166. /package/dist/types/{PersonPostMentionView.js → PostOrCommentOrPrivateMessage.js} +0 -0
  167. /package/dist/types/{UserBlockInstanceParams.js → UpdateCommunityNotifications.js} +0 -0
@@ -0,0 +1,8 @@
1
+ import type { NotificationId } from "./NotificationId";
2
+ /**
3
+ * Mark a comment reply as read.
4
+ */
5
+ export type MarkNotificationAsRead = {
6
+ notification_id: NotificationId;
7
+ read: boolean;
8
+ };
@@ -1,11 +1,11 @@
1
1
  import type { CommunityId } from "./CommunityId";
2
- import type { ModAddCommunityId } from "./ModAddCommunityId";
2
+ import type { ModAddToCommunityId } from "./ModAddToCommunityId";
3
3
  import type { PersonId } from "./PersonId";
4
4
  /**
5
5
  * When someone is added as a community moderator.
6
6
  */
7
- export type ModAddCommunity = {
8
- id: ModAddCommunityId;
7
+ export type ModAddToCommunity = {
8
+ id: ModAddToCommunityId;
9
9
  mod_person_id: PersonId;
10
10
  other_person_id: PersonId;
11
11
  community_id: CommunityId;
@@ -0,0 +1 @@
1
+ export type ModAddToCommunityId = number;
@@ -1,11 +1,11 @@
1
1
  import type { Community } from "./Community";
2
- import type { ModAddCommunity } from "./ModAddCommunity";
2
+ import type { ModAddToCommunity } from "./ModAddToCommunity";
3
3
  import type { Person } from "./Person";
4
4
  /**
5
5
  * When someone is added as a community moderator.
6
6
  */
7
- export type ModAddCommunityView = {
8
- mod_add_community: ModAddCommunity;
7
+ export type ModAddToCommunityView = {
8
+ mod_add_to_community: ModAddToCommunity;
9
9
  moderator?: Person;
10
10
  community: Community;
11
11
  other_person: Person;
@@ -9,7 +9,7 @@ export type ModBanFromCommunity = {
9
9
  mod_person_id: PersonId;
10
10
  other_person_id: PersonId;
11
11
  community_id: CommunityId;
12
- reason?: string;
12
+ reason: string;
13
13
  banned: boolean;
14
14
  expires_at?: string;
15
15
  published_at: string;
@@ -0,0 +1,10 @@
1
+ import type { PostId } from "./PostId";
2
+ import type { TagId } from "./TagId";
3
+ /**
4
+ * Mods can change some metadata for posts
5
+ */
6
+ export type ModEditPost = {
7
+ post_id: PostId;
8
+ nsfw?: boolean;
9
+ tags?: Array<TagId>;
10
+ };
@@ -0,0 +1,14 @@
1
+ import type { CommentId } from "./CommentId";
2
+ import type { ModLockCommentId } from "./ModLockCommentId";
3
+ import type { PersonId } from "./PersonId";
4
+ /**
5
+ * When a moderator locks a comment (prevents new replies to a comment or its children).
6
+ */
7
+ export type ModLockComment = {
8
+ id: ModLockCommentId;
9
+ mod_person_id: PersonId;
10
+ comment_id: CommentId;
11
+ locked: boolean;
12
+ reason: string;
13
+ published_at: string;
14
+ };
@@ -0,0 +1 @@
1
+ export type ModLockCommentId = number;
@@ -0,0 +1,16 @@
1
+ import type { Comment } from "./Comment";
2
+ import type { Community } from "./Community";
3
+ import type { ModLockComment } from "./ModLockComment";
4
+ import type { Person } from "./Person";
5
+ import type { Post } from "./Post";
6
+ /**
7
+ * When a moderator locks a comment (prevents replies to it or its children).
8
+ */
9
+ export type ModLockCommentView = {
10
+ mod_lock_comment: ModLockComment;
11
+ moderator?: Person;
12
+ other_person: Person;
13
+ comment: Comment;
14
+ post: Post;
15
+ community: Community;
16
+ };
@@ -10,5 +10,5 @@ export type ModLockPost = {
10
10
  post_id: PostId;
11
11
  locked: boolean;
12
12
  published_at: string;
13
- reason?: string;
13
+ reason: string;
14
14
  };
@@ -8,7 +8,7 @@ export type ModRemoveComment = {
8
8
  id: ModRemoveCommentId;
9
9
  mod_person_id: PersonId;
10
10
  comment_id: CommentId;
11
- reason?: string;
11
+ reason: string;
12
12
  removed: boolean;
13
13
  published_at: string;
14
14
  };
@@ -8,7 +8,7 @@ export type ModRemovePost = {
8
8
  id: ModRemovePostId;
9
9
  mod_person_id: PersonId;
10
10
  post_id: PostId;
11
- reason?: string;
11
+ reason: string;
12
12
  removed: boolean;
13
13
  published_at: string;
14
14
  };
@@ -1,4 +1,4 @@
1
1
  /**
2
2
  * A list of possible types for the various modlog actions.
3
3
  */
4
- export type ModlogActionType = "All" | "ModRemovePost" | "ModLockPost" | "ModFeaturePost" | "ModRemoveComment" | "ModRemoveCommunity" | "ModBanFromCommunity" | "ModAddCommunity" | "ModTransferCommunity" | "ModAdd" | "ModBan" | "ModChangeCommunityVisibility" | "AdminPurgePerson" | "AdminPurgeCommunity" | "AdminPurgePost" | "AdminPurgeComment" | "AdminBlockInstance" | "AdminAllowInstance";
4
+ export type ModlogActionType = "All" | "ModRemovePost" | "ModLockPost" | "ModFeaturePost" | "ModRemoveComment" | "ModLockComment" | "AdminRemoveCommunity" | "ModBanFromCommunity" | "ModAddToCommunity" | "ModTransferCommunity" | "AdminAdd" | "AdminBan" | "ModChangeCommunityVisibility" | "AdminPurgePerson" | "AdminPurgeCommunity" | "AdminPurgePost" | "AdminPurgeComment" | "AdminBlockInstance" | "AdminAllowInstance";
@@ -1,18 +1,19 @@
1
+ import type { AdminAddView } from "./AdminAddView";
1
2
  import type { AdminAllowInstanceView } from "./AdminAllowInstanceView";
3
+ import type { AdminBanView } from "./AdminBanView";
2
4
  import type { AdminBlockInstanceView } from "./AdminBlockInstanceView";
3
5
  import type { AdminPurgeCommentView } from "./AdminPurgeCommentView";
4
6
  import type { AdminPurgeCommunityView } from "./AdminPurgeCommunityView";
5
7
  import type { AdminPurgePersonView } from "./AdminPurgePersonView";
6
8
  import type { AdminPurgePostView } from "./AdminPurgePostView";
7
- import type { ModAddCommunityView } from "./ModAddCommunityView";
8
- import type { ModAddView } from "./ModAddView";
9
+ import type { AdminRemoveCommunityView } from "./AdminRemoveCommunityView";
10
+ import type { ModAddToCommunityView } from "./ModAddToCommunityView";
9
11
  import type { ModBanFromCommunityView } from "./ModBanFromCommunityView";
10
- import type { ModBanView } from "./ModBanView";
11
12
  import type { ModChangeCommunityVisibilityView } from "./ModChangeCommunityVisibilityView";
12
13
  import type { ModFeaturePostView } from "./ModFeaturePostView";
14
+ import type { ModLockCommentView } from "./ModLockCommentView";
13
15
  import type { ModLockPostView } from "./ModLockPostView";
14
16
  import type { ModRemoveCommentView } from "./ModRemoveCommentView";
15
- import type { ModRemoveCommunityView } from "./ModRemoveCommunityView";
16
17
  import type { ModRemovePostView } from "./ModRemovePostView";
17
18
  import type { ModTransferCommunityView } from "./ModTransferCommunityView";
18
19
  export type ModlogCombinedView = ({
@@ -28,12 +29,12 @@ export type ModlogCombinedView = ({
28
29
  } & AdminPurgePersonView) | ({
29
30
  type_: "AdminPurgePost";
30
31
  } & AdminPurgePostView) | ({
31
- type_: "ModAdd";
32
- } & ModAddView) | ({
33
- type_: "ModAddCommunity";
34
- } & ModAddCommunityView) | ({
35
- type_: "ModBan";
36
- } & ModBanView) | ({
32
+ type_: "AdminAdd";
33
+ } & AdminAddView) | ({
34
+ type_: "ModAddToCommunity";
35
+ } & ModAddToCommunityView) | ({
36
+ type_: "AdminBan";
37
+ } & AdminBanView) | ({
37
38
  type_: "ModBanFromCommunity";
38
39
  } & ModBanFromCommunityView) | ({
39
40
  type_: "ModFeaturePost";
@@ -44,9 +45,11 @@ export type ModlogCombinedView = ({
44
45
  } & ModLockPostView) | ({
45
46
  type_: "ModRemoveComment";
46
47
  } & ModRemoveCommentView) | ({
47
- type_: "ModRemoveCommunity";
48
- } & ModRemoveCommunityView) | ({
48
+ type_: "AdminRemoveCommunity";
49
+ } & AdminRemoveCommunityView) | ({
49
50
  type_: "ModRemovePost";
50
51
  } & ModRemovePostView) | ({
51
52
  type_: "ModTransferCommunity";
52
- } & ModTransferCommunityView);
53
+ } & ModTransferCommunityView) | ({
54
+ type_: "ModLockComment";
55
+ } & ModLockCommentView);
@@ -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>;
@@ -0,0 +1,10 @@
1
+ import type { PersonId } from "./PersonId";
2
+ /**
3
+ * Make a note for a person.
4
+ *
5
+ * An empty string deletes the note.
6
+ */
7
+ export type NotePerson = {
8
+ person_id: PersonId;
9
+ note: string;
10
+ };
@@ -0,0 +1,16 @@
1
+ import type { CommentId } from "./CommentId";
2
+ import type { NotificationId } from "./NotificationId";
3
+ import type { NotificationType } from "./NotificationType";
4
+ import type { PersonId } from "./PersonId";
5
+ import type { PostId } from "./PostId";
6
+ import type { PrivateMessageId } from "./PrivateMessageId";
7
+ export type Notification = {
8
+ id: NotificationId;
9
+ recipient_id: PersonId;
10
+ comment_id?: CommentId;
11
+ read: boolean;
12
+ published_at: string;
13
+ kind: NotificationType;
14
+ post_id?: PostId;
15
+ private_message_id?: PrivateMessageId;
16
+ };
@@ -0,0 +1,10 @@
1
+ import type { CommentView } from "./CommentView";
2
+ import type { PostView } from "./PostView";
3
+ import type { PrivateMessageView } from "./PrivateMessageView";
4
+ export type NotificationData = ({
5
+ type_: "Comment";
6
+ } & CommentView) | ({
7
+ type_: "Post";
8
+ } & PostView) | ({
9
+ type_: "PrivateMessage";
10
+ } & PrivateMessageView);
@@ -0,0 +1,4 @@
1
+ /**
2
+ * A list of possible types for the inbox.
3
+ */
4
+ export type NotificationDataType = "All" | "Reply" | "Mention" | "PrivateMessage" | "Subscribed";
@@ -0,0 +1 @@
1
+ export type NotificationId = number;
@@ -0,0 +1,4 @@
1
+ /**
2
+ * Types of notifications which can be received in inbox
3
+ */
4
+ export type NotificationType = "Mention" | "Reply" | "Subscribed" | "PrivateMessage";
@@ -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 });
@@ -0,0 +1,6 @@
1
+ import type { Notification } from "./Notification";
2
+ import type { NotificationData } from "./NotificationData";
3
+ export type NotificationView = {
4
+ notification: Notification;
5
+ data: NotificationData;
6
+ };
@@ -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
  };
@@ -11,4 +11,16 @@ export type PersonActions = {
11
11
  * A note about the person.
12
12
  */
13
13
  note?: string;
14
+ /**
15
+ * When the person was voted on.
16
+ */
17
+ voted_at?: string;
18
+ /**
19
+ * A total of upvotes given to this person
20
+ */
21
+ upvotes?: number;
22
+ /**
23
+ * A total of downvotes given to this person
24
+ */
25
+ downvotes?: number;
14
26
  };
@@ -1,4 +1,3 @@
1
- import type { InstanceActions } from "./InstanceActions";
2
1
  import type { Person } from "./Person";
3
2
  import type { PersonActions } from "./PersonActions";
4
3
  /**
@@ -8,7 +7,6 @@ export type PersonView = {
8
7
  person: Person;
9
8
  is_admin: boolean;
10
9
  person_actions?: PersonActions;
11
- home_instance_actions?: InstanceActions;
12
- local_instance_actions?: InstanceActions;
13
- creator_banned: boolean;
10
+ banned: boolean;
11
+ ban_expires_at?: string;
14
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,3 +1,4 @@
1
+ import type { PostNotificationsMode } from "./PostNotificationsMode";
1
2
  export type PostActions = {
2
3
  /**
3
4
  * When the post was read.
@@ -28,4 +29,5 @@ export type PostActions = {
28
29
  * When the post was hidden.
29
30
  */
30
31
  hidden_at?: string;
32
+ notifications?: PostNotificationsMode;
31
33
  };
@@ -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,4 @@
1
+ /**
2
+ * Available settings for post notifications
3
+ */
4
+ export type PostNotificationsMode = "AllComments" | "RepliesAndMentions" | "Mute";
@@ -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 });
@@ -0,0 +1,10 @@
1
+ import type { Comment } from "./Comment";
2
+ import type { Post } from "./Post";
3
+ import type { PrivateMessage } from "./PrivateMessage";
4
+ export type PostOrCommentOrPrivateMessage = ({
5
+ type_: "Post";
6
+ } & Post) | ({
7
+ type_: "Comment";
8
+ } & Comment) | ({
9
+ type_: "PrivateMessage";
10
+ } & PrivateMessage);
@@ -14,10 +14,12 @@ export type PostReportView = {
14
14
  community: Community;
15
15
  creator: Person;
16
16
  post_creator: Person;
17
- creator_community_actions?: CommunityActions;
18
17
  community_actions?: CommunityActions;
19
18
  post_actions?: PostActions;
20
19
  person_actions?: PersonActions;
21
20
  resolver?: Person;
22
21
  creator_is_admin: boolean;
22
+ creator_is_moderator: boolean;
23
+ creator_banned: boolean;
24
+ creator_banned_from_community: boolean;
23
25
  };
@@ -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,12 +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
- creator_home_instance_actions?: InstanceActions;
23
- creator_local_instance_actions?: InstanceActions;
24
- creator_community_actions?: CommunityActions;
25
20
  creator_is_admin: boolean;
26
21
  tags: TagsView;
27
22
  can_mod: boolean;
28
23
  creator_banned: boolean;
24
+ creator_ban_expires_at?: string;
25
+ creator_is_moderator: boolean;
26
+ creator_banned_from_community: boolean;
27
+ creator_community_ban_expires_at?: string;
29
28
  };
@@ -10,7 +10,6 @@ export type PrivateMessage = {
10
10
  recipient_id: PersonId;
11
11
  content: string;
12
12
  deleted: boolean;
13
- read: boolean;
14
13
  published_at: string;
15
14
  updated_at?: string;
16
15
  ap_id: DbUrl;
@@ -10,4 +10,6 @@ export type PrivateMessageReportView = {
10
10
  creator: Person;
11
11
  private_message_creator: Person;
12
12
  resolver?: Person;
13
+ creator_is_admin: boolean;
14
+ creator_banned: boolean;
13
15
  };
@@ -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;
@@ -126,4 +126,8 @@ export type SaveUserSettings = {
126
126
  * Whether to hide posts containing images/videos.
127
127
  */
128
128
  hide_media?: boolean;
129
+ /**
130
+ * Whether to show vote totals given to others.
131
+ */
132
+ show_person_votes?: boolean;
129
133
  };
@@ -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 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 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
- display_name: string;
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,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
+ };
@@ -1,8 +1,9 @@
1
1
  import type { TagId } from "./TagId";
2
2
  /**
3
- * Update a community tag.
3
+ * Make changes to a community tag
4
4
  */
5
5
  export type UpdateCommunityTag = {
6
6
  tag_id: TagId;
7
- display_name: string;
7
+ display_name?: string;
8
+ description?: string;
8
9
  };
@@ -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 });