lemmy-js-client 1.0.0-alpha.1 → 1.0.0-bool-vote.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 (254) hide show
  1. package/README.md +6 -0
  2. package/dist/http.d.ts +104 -42
  3. package/dist/http.js +277 -80
  4. package/dist/index.d.ts +62 -34
  5. package/dist/index.js +3 -0
  6. package/dist/other_types.d.ts +22 -4
  7. package/dist/types/AdminAdd.d.ts +12 -0
  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 +2 -2
  11. package/dist/types/AdminAllowInstanceParams.d.ts +1 -1
  12. package/dist/types/{ModBan.d.ts → AdminBan.d.ts} +6 -6
  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 +3 -3
  16. package/dist/types/AdminBlockInstanceParams.d.ts +7 -2
  17. package/dist/types/AdminListUsers.d.ts +7 -0
  18. package/dist/types/AdminListUsersResponse.d.ts +10 -0
  19. package/dist/types/AdminPurgeComment.d.ts +2 -2
  20. package/dist/types/AdminPurgeCommunity.d.ts +2 -2
  21. package/dist/types/AdminPurgePerson.d.ts +2 -2
  22. package/dist/types/AdminPurgePost.d.ts +2 -2
  23. package/dist/types/{ModRemoveCommunity.d.ts → AdminRemoveCommunity.d.ts} +5 -5
  24. package/dist/types/AdminRemoveCommunityId.d.ts +1 -0
  25. package/dist/types/AdminRemoveCommunityView.d.ts +11 -0
  26. package/dist/types/AllLemmyErrors.d.ts +1 -0
  27. package/dist/types/AllLemmyErrors.js +119 -0
  28. package/dist/types/BanFromCommunity.d.ts +2 -2
  29. package/dist/types/BanPerson.d.ts +2 -2
  30. package/dist/types/Comment.d.ts +6 -2
  31. package/dist/types/CommentActions.d.ts +6 -10
  32. package/dist/types/CommentActions.js +1 -0
  33. package/dist/types/CommentReport.d.ts +2 -2
  34. package/dist/types/CommentReportView.d.ts +5 -1
  35. package/dist/types/CommentResponse.d.ts +0 -2
  36. package/dist/types/CommentSlimView.d.ts +2 -6
  37. package/dist/types/CommentView.d.ts +4 -5
  38. package/dist/types/Community.d.ts +2 -2
  39. package/dist/types/CommunityActions.d.ts +7 -13
  40. package/dist/types/CommunityIdQuery.d.ts +8 -0
  41. package/dist/types/CommunityNotificationsMode.d.ts +4 -0
  42. package/dist/types/CommunityReport.d.ts +2 -2
  43. package/dist/types/CommunityReportView.d.ts +6 -0
  44. package/dist/types/CommunityView.d.ts +0 -2
  45. package/dist/types/CreateCommentLike.d.ts +1 -4
  46. package/dist/types/CreateCommunityTag.d.ts +3 -1
  47. package/dist/types/CreateCustomEmoji.d.ts +2 -1
  48. package/dist/types/CreateCustomEmoji.js +0 -1
  49. package/dist/types/CreateMultiCommunity.d.ts +5 -0
  50. package/dist/types/CreateOrDeleteMultiCommunityEntry.d.ts +6 -0
  51. package/dist/types/CreatePost.d.ts +1 -1
  52. package/dist/types/CreatePostLike.d.ts +1 -4
  53. package/dist/types/CreateSite.d.ts +16 -14
  54. package/dist/types/CustomEmoji.d.ts +2 -2
  55. package/dist/types/EditCustomEmoji.d.ts +7 -5
  56. package/dist/types/EditPost.d.ts +1 -1
  57. package/dist/types/EditSite.d.ts +26 -20
  58. package/dist/types/ExportDataResponse.d.ts +13 -0
  59. package/dist/types/FederationBlockList.d.ts +3 -3
  60. package/dist/types/FollowMultiCommunity.d.ts +5 -0
  61. package/dist/types/GetComments.d.ts +0 -2
  62. package/dist/types/GetMultiCommunity.d.ts +4 -0
  63. package/dist/types/GetMultiCommunityResponse.d.ts +6 -0
  64. package/dist/types/GetPosts.d.ts +2 -2
  65. package/dist/types/HideCommunity.d.ts +1 -1
  66. package/dist/types/Instance.d.ts +4 -3
  67. package/dist/types/InstanceActions.d.ts +8 -8
  68. package/dist/types/InstanceActions.js +1 -0
  69. package/dist/types/InstanceWithFederationState.d.ts +2 -2
  70. package/dist/types/LemmyErrorType.d.ts +25 -140
  71. package/dist/types/LikeType.d.ts +4 -0
  72. package/dist/types/LinkMetadata.d.ts +4 -0
  73. package/dist/types/ListMultiCommunities.d.ts +5 -0
  74. package/dist/types/ListMultiCommunitiesResponse.d.ts +4 -0
  75. package/dist/types/{ListInbox.d.ts → ListNotifications.d.ts} +3 -3
  76. package/dist/types/{ListInboxResponse.d.ts → ListNotificationsResponse.d.ts} +3 -3
  77. package/dist/types/{ListBannedPersons.d.ts → ListPersonHidden.d.ts} +2 -2
  78. package/dist/types/{BannedPersonsResponse.d.ts → ListPersonHiddenResponse.d.ts} +4 -4
  79. package/dist/types/ListPersonLiked.d.ts +13 -0
  80. package/dist/types/ListPersonLikedResponse.d.ts +13 -0
  81. package/dist/types/ListPersonRead.d.ts +9 -0
  82. package/dist/types/ListPersonReadResponse.d.ts +13 -0
  83. package/dist/types/ListingType.d.ts +1 -1
  84. package/dist/types/LocalImage.d.ts +8 -3
  85. package/dist/types/LocalImageView.d.ts +2 -0
  86. package/dist/types/LocalSite.d.ts +5 -10
  87. package/dist/types/LocalSiteRateLimit.d.ts +16 -16
  88. package/dist/types/LocalSiteUrlBlocklist.d.ts +2 -2
  89. package/dist/types/LocalUser.d.ts +13 -14
  90. package/dist/types/LocalUserView.d.ts +2 -2
  91. package/dist/types/LockComment.d.ts +9 -0
  92. package/dist/types/LockPost.d.ts +1 -0
  93. package/dist/types/Login.d.ts +3 -0
  94. package/dist/types/LoginToken.d.ts +1 -1
  95. package/dist/types/MarkNotificationAsRead.d.ts +8 -0
  96. package/dist/types/MarkNotificationAsRead.js +2 -0
  97. package/dist/types/{ModAddCommunity.d.ts → ModAddToCommunity.d.ts} +4 -4
  98. package/dist/types/ModAddToCommunity.js +2 -0
  99. package/dist/types/ModAddToCommunityId.d.ts +1 -0
  100. package/dist/types/{ModAddCommunityView.d.ts → ModAddToCommunityView.d.ts} +3 -3
  101. package/dist/types/ModAddToCommunityView.js +2 -0
  102. package/dist/types/ModBanFromCommunity.d.ts +3 -3
  103. package/dist/types/ModChangeCommunityVisibility.d.ts +1 -2
  104. package/dist/types/ModEditPost.d.ts +10 -0
  105. package/dist/types/ModEditPost.js +2 -0
  106. package/dist/types/ModFeaturePost.d.ts +1 -1
  107. package/dist/types/ModLockComment.d.ts +14 -0
  108. package/dist/types/ModLockComment.js +2 -0
  109. package/dist/types/ModLockCommentId.d.ts +1 -0
  110. package/dist/types/ModLockCommentView.d.ts +16 -0
  111. package/dist/types/ModLockCommentView.js +2 -0
  112. package/dist/types/ModLockPost.d.ts +2 -1
  113. package/dist/types/ModRemoveComment.d.ts +2 -2
  114. package/dist/types/ModRemovePost.d.ts +2 -2
  115. package/dist/types/ModTransferCommunity.d.ts +1 -1
  116. package/dist/types/ModlogActionType.d.ts +1 -1
  117. package/dist/types/ModlogCombinedView.d.ts +16 -13
  118. package/dist/types/MultiCommunity.d.ts +17 -0
  119. package/dist/types/MultiCommunity.js +2 -0
  120. package/dist/types/MultiCommunityFollow.d.ts +8 -0
  121. package/dist/types/MultiCommunityFollow.js +2 -0
  122. package/dist/types/MultiCommunityId.d.ts +1 -0
  123. package/dist/types/MultiCommunityView.d.ts +6 -0
  124. package/dist/types/MultiCommunityView.js +2 -0
  125. package/dist/types/MyUserInfo.d.ts +2 -1
  126. package/dist/types/NotePerson.d.ts +10 -0
  127. package/dist/types/NotePerson.js +2 -0
  128. package/dist/types/Notification.d.ts +36 -0
  129. package/dist/types/Notification.js +2 -0
  130. package/dist/types/NotificationData.d.ts +40 -0
  131. package/dist/types/NotificationData.js +2 -0
  132. package/dist/types/NotificationDataType.d.ts +4 -0
  133. package/dist/types/NotificationDataType.js +3 -0
  134. package/dist/types/NotificationId.d.ts +1 -0
  135. package/dist/types/NotificationId.js +3 -0
  136. package/dist/types/NotificationType.d.ts +4 -0
  137. package/dist/types/NotificationType.js +3 -0
  138. package/dist/types/NotificationView.d.ts +6 -0
  139. package/dist/types/NotificationView.js +2 -0
  140. package/dist/types/OAuthAccount.d.ts +2 -2
  141. package/dist/types/OAuthProvider.d.ts +2 -2
  142. package/dist/types/OpenGraphData.d.ts +4 -0
  143. package/dist/types/Person.d.ts +2 -2
  144. package/dist/types/PersonActions.d.ts +21 -4
  145. package/dist/types/PersonActions.js +1 -0
  146. package/dist/types/PersonLikedCombinedView.d.ts +7 -0
  147. package/dist/types/PersonLikedCombinedView.js +2 -0
  148. package/dist/types/PersonView.d.ts +4 -4
  149. package/dist/types/Post.d.ts +9 -7
  150. package/dist/types/PostActions.d.ts +15 -17
  151. package/dist/types/PostNotificationsMode.d.ts +4 -0
  152. package/dist/types/PostNotificationsMode.js +3 -0
  153. package/dist/types/PostOrCommentOrPrivateMessage.d.ts +10 -0
  154. package/dist/types/PostOrCommentOrPrivateMessage.js +2 -0
  155. package/dist/types/PostReport.d.ts +2 -2
  156. package/dist/types/PostReportView.d.ts +5 -1
  157. package/dist/types/PostView.d.ts +4 -5
  158. package/dist/types/PrivateMessage.d.ts +2 -3
  159. package/dist/types/PrivateMessageReport.d.ts +2 -2
  160. package/dist/types/PrivateMessageReportView.d.ts +3 -0
  161. package/dist/types/PurgeComment.d.ts +1 -1
  162. package/dist/types/PurgeCommunity.d.ts +1 -1
  163. package/dist/types/PurgePerson.d.ts +1 -1
  164. package/dist/types/PurgePost.d.ts +1 -1
  165. package/dist/types/ReadableFederationState.d.ts +3 -3
  166. package/dist/types/RegistrationApplication.d.ts +1 -1
  167. package/dist/types/RemoveComment.d.ts +1 -1
  168. package/dist/types/RemoveCommunity.d.ts +1 -1
  169. package/dist/types/RemovePost.d.ts +1 -1
  170. package/dist/types/SaveUserSettings.d.ts +11 -6
  171. package/dist/types/Search.d.ts +5 -1
  172. package/dist/types/SearchCombinedView.d.ts +4 -1
  173. package/dist/types/SearchType.d.ts +1 -1
  174. package/dist/types/Site.d.ts +4 -3
  175. package/dist/types/SiteResponse.d.ts +0 -4
  176. package/dist/types/Tag.d.ts +8 -16
  177. package/dist/types/Tagline.d.ts +2 -2
  178. package/dist/types/TagsView.d.ts +1 -1
  179. package/dist/types/UntranslatedError.d.ts +12 -0
  180. package/dist/types/UntranslatedError.js +3 -0
  181. package/dist/types/UpdateCommunityNotifications.d.ts +9 -0
  182. package/dist/types/UpdateCommunityNotifications.js +2 -0
  183. package/dist/types/UpdateCommunityTag.d.ts +3 -2
  184. package/dist/types/UpdateMultiCommunity.d.ts +7 -0
  185. package/dist/types/UpdateMultiCommunity.js +2 -0
  186. package/dist/types/UpdatePostNotifications.d.ts +9 -0
  187. package/dist/types/UpdatePostNotifications.js +2 -0
  188. package/dist/types/UserBlockInstanceCommunitiesParams.d.ts +8 -0
  189. package/dist/types/UserBlockInstanceCommunitiesParams.js +2 -0
  190. package/dist/types/{UserBlockInstanceParams.d.ts → UserBlockInstancePersonsParams.d.ts} +2 -2
  191. package/dist/types/UserBlockInstancePersonsParams.js +2 -0
  192. package/dist/types/UserSettingsBackup.d.ts +27 -0
  193. package/dist/types/UserSettingsBackup.js +2 -0
  194. package/dist/types/VoteShow.d.ts +4 -0
  195. package/dist/types/VoteShow.js +3 -0
  196. package/dist/types/VoteView.d.ts +2 -2
  197. package/package.json +7 -6
  198. package/dist/types/CommentReply.d.ts +0 -13
  199. package/dist/types/CommentReplyId.d.ts +0 -4
  200. package/dist/types/CommentReplyView.d.ts +0 -32
  201. package/dist/types/FederationError.d.ts +0 -10
  202. package/dist/types/InboxCombinedView.d.ts +0 -13
  203. package/dist/types/InboxDataType.d.ts +0 -4
  204. package/dist/types/MarkCommentReplyAsRead.d.ts +0 -8
  205. package/dist/types/MarkPersonCommentMentionAsRead.d.ts +0 -8
  206. package/dist/types/MarkPersonPostMentionAsRead.d.ts +0 -8
  207. package/dist/types/MarkPrivateMessageAsRead.d.ts +0 -8
  208. package/dist/types/ModAdd.d.ts +0 -12
  209. package/dist/types/ModAddCommunityId.d.ts +0 -1
  210. package/dist/types/ModAddId.d.ts +0 -1
  211. package/dist/types/ModBanId.d.ts +0 -1
  212. package/dist/types/ModRemoveCommunityId.d.ts +0 -1
  213. package/dist/types/ModRemoveCommunityView.d.ts +0 -11
  214. package/dist/types/PersonCommentMention.d.ts +0 -13
  215. package/dist/types/PersonCommentMentionId.d.ts +0 -4
  216. package/dist/types/PersonCommentMentionView.d.ts +0 -30
  217. package/dist/types/PersonPostMention.d.ts +0 -13
  218. package/dist/types/PersonPostMentionId.d.ts +0 -4
  219. package/dist/types/PersonPostMentionView.d.ts +0 -32
  220. package/dist/types/ResolveObjectResponse.d.ts +0 -13
  221. /package/dist/types/{BannedPersonsResponse.js → AdminAdd.js} +0 -0
  222. /package/dist/types/{CommentReplyId.js → AdminAddId.js} +0 -0
  223. /package/dist/types/{CommentReply.js → AdminAddView.js} +0 -0
  224. /package/dist/types/{CommentReplyView.js → AdminBan.js} +0 -0
  225. /package/dist/types/{FederationError.js → AdminBanId.js} +0 -0
  226. /package/dist/types/{InboxCombinedView.js → AdminBanView.js} +0 -0
  227. /package/dist/types/{ListBannedPersons.js → AdminListUsers.js} +0 -0
  228. /package/dist/types/{ListInbox.js → AdminListUsersResponse.js} +0 -0
  229. /package/dist/types/{ListInboxResponse.js → AdminRemoveCommunity.js} +0 -0
  230. /package/dist/types/{InboxDataType.js → AdminRemoveCommunityId.js} +0 -0
  231. /package/dist/types/{MarkCommentReplyAsRead.js → AdminRemoveCommunityView.js} +0 -0
  232. /package/dist/types/{MarkPersonCommentMentionAsRead.js → CommunityIdQuery.js} +0 -0
  233. /package/dist/types/{ModAddCommunityId.js → CommunityNotificationsMode.js} +0 -0
  234. /package/dist/types/{ModAddId.js → CreateMultiCommunity.js} +0 -0
  235. /package/dist/types/{MarkPersonPostMentionAsRead.js → CreateOrDeleteMultiCommunityEntry.js} +0 -0
  236. /package/dist/types/{MarkPrivateMessageAsRead.js → ExportDataResponse.js} +0 -0
  237. /package/dist/types/{ModAdd.js → FollowMultiCommunity.js} +0 -0
  238. /package/dist/types/{ModAddCommunity.js → GetMultiCommunity.js} +0 -0
  239. /package/dist/types/{ModAddCommunityView.js → GetMultiCommunityResponse.js} +0 -0
  240. /package/dist/types/{ModBanId.js → LikeType.js} +0 -0
  241. /package/dist/types/{ModAddView.js → ListMultiCommunities.js} +0 -0
  242. /package/dist/types/{ModBan.js → ListMultiCommunitiesResponse.js} +0 -0
  243. /package/dist/types/{ModBanView.js → ListNotifications.js} +0 -0
  244. /package/dist/types/{ModRemoveCommunity.js → ListNotificationsResponse.js} +0 -0
  245. /package/dist/types/{ModRemoveCommunityView.js → ListPersonHidden.js} +0 -0
  246. /package/dist/types/{PersonCommentMention.js → ListPersonHiddenResponse.js} +0 -0
  247. /package/dist/types/{PersonCommentMentionView.js → ListPersonLiked.js} +0 -0
  248. /package/dist/types/{PersonPostMention.js → ListPersonLikedResponse.js} +0 -0
  249. /package/dist/types/{PersonPostMentionView.js → ListPersonRead.js} +0 -0
  250. /package/dist/types/{ResolveObjectResponse.js → ListPersonReadResponse.js} +0 -0
  251. /package/dist/types/{UserBlockInstanceParams.js → LockComment.js} +0 -0
  252. /package/dist/types/{ModRemoveCommunityId.js → ModAddToCommunityId.js} +0 -0
  253. /package/dist/types/{PersonCommentMentionId.js → ModLockCommentId.js} +0 -0
  254. /package/dist/types/{PersonPostMentionId.js → MultiCommunityId.js} +0 -0
@@ -7,6 +7,6 @@ export type OAuthAccount = {
7
7
  local_user_id: LocalUserId;
8
8
  oauth_provider_id: OAuthProviderId;
9
9
  oauth_user_id: string;
10
- published: string;
11
- updated?: string;
10
+ published_at: string;
11
+ updated_at?: string;
12
12
  };
@@ -54,8 +54,8 @@ export type OAuthProvider = {
54
54
  * switch to enable or disable an oauth provider
55
55
  */
56
56
  enabled: boolean;
57
- published: string;
58
- updated?: string;
57
+ published_at: string;
58
+ updated_at?: string;
59
59
  /**
60
60
  * switch to enable or disable PKCE
61
61
  */
@@ -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
  };
@@ -15,8 +15,8 @@ export type Person = {
15
15
  * A URL for an avatar.
16
16
  */
17
17
  avatar?: DbUrl;
18
- published: string;
19
- updated?: string;
18
+ published_at: string;
19
+ updated_at?: string;
20
20
  /**
21
21
  * The federated ap_id.
22
22
  */
@@ -1,9 +1,26 @@
1
- import type { PersonId } from "./PersonId";
2
1
  export type PersonActions = {
3
- target_id: PersonId;
4
- person_id: PersonId;
5
2
  /**
6
3
  * When the person was blocked.
7
4
  */
8
- blocked?: string;
5
+ blocked_at?: string;
6
+ /**
7
+ * When the person was noted.
8
+ */
9
+ noted_at?: string;
10
+ /**
11
+ * A note about the person.
12
+ */
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;
9
26
  };
@@ -1,2 +1,3 @@
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.
2
3
  Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,7 @@
1
+ import type { CommentView } from "./CommentView";
2
+ import type { PostView } from "./PostView";
3
+ export type PersonLikedCombinedView = ({
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,12 +1,12 @@
1
- import type { InstanceActions } from "./InstanceActions";
2
1
  import type { Person } from "./Person";
2
+ import type { PersonActions } from "./PersonActions";
3
3
  /**
4
4
  * A person view.
5
5
  */
6
6
  export type PersonView = {
7
7
  person: Person;
8
8
  is_admin: boolean;
9
- home_instance_actions?: InstanceActions;
10
- local_instance_actions?: InstanceActions;
11
- creator_banned: boolean;
9
+ person_actions?: PersonActions;
10
+ banned: boolean;
11
+ ban_expires_at?: string;
12
12
  };
@@ -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,15 +78,15 @@ 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
+ /**
83
+ * The time of the newest comment in the post, if the post has any comments.
84
+ */
85
+ newest_comment_time_at?: string;
82
86
  comments: number;
83
87
  score: number;
84
88
  upvotes: number;
85
89
  downvotes: number;
86
- /**
87
- * The time of the newest comment in the post.
88
- */
89
- newest_comment_time: string;
90
90
  report_count: number;
91
91
  unresolved_report_count: number;
92
92
  /**
@@ -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,35 +1,33 @@
1
- import type { PersonId } from "./PersonId";
2
- import type { PostId } from "./PostId";
1
+ import type { PostNotificationsMode } from "./PostNotificationsMode";
3
2
  export type PostActions = {
4
- post_id: PostId;
5
- person_id: PersonId;
6
3
  /**
7
4
  * When the post was read.
8
5
  */
9
- read?: string;
6
+ read_at?: string;
10
7
  /**
11
8
  * When was the last time you read the comments.
12
9
  */
13
- read_comments?: string;
10
+ read_comments_at?: string;
14
11
  /**
15
- * The number of comments you read last. Subtract this from total comments to get an unread
16
- * count.
12
+ * When the post was saved.
17
13
  */
18
- read_comments_amount?: number;
14
+ saved_at?: string;
19
15
  /**
20
- * When the post was saved.
16
+ * When the post was upvoted or downvoted.
21
17
  */
22
- saved?: string;
18
+ voted_at?: string;
23
19
  /**
24
- * When the post was liked.
20
+ * When the post was hidden.
25
21
  */
26
- liked?: string;
22
+ hidden_at?: string;
27
23
  /**
28
- * The like / score of the post.
24
+ * The number of comments you read last. Subtract this from total comments to get an unread
25
+ * count.
29
26
  */
30
- like_score?: number;
27
+ read_comments_amount?: number;
31
28
  /**
32
- * When the post was hidden.
29
+ * True if upvoted, false if downvoted. Upvote is greater than downvote.
33
30
  */
34
- hidden?: string;
31
+ vote_is_upvote?: boolean;
32
+ notifications?: PostNotificationsMode;
35
33
  };
@@ -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);
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -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
  };
@@ -14,10 +14,14 @@ 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_ban_expires_at?: string;
25
+ creator_banned_from_community: boolean;
26
+ creator_community_ban_expires_at?: string;
23
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,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,9 +10,8 @@ export type PrivateMessage = {
10
10
  recipient_id: PersonId;
11
11
  content: string;
12
12
  deleted: boolean;
13
- read: boolean;
14
- published: string;
15
- updated?: string;
13
+ published_at: string;
14
+ updated_at?: string;
16
15
  ap_id: DbUrl;
17
16
  local: boolean;
18
17
  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
  };
@@ -10,4 +10,7 @@ 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;
15
+ creator_ban_expires_at?: string;
13
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,13 +4,13 @@ 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
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
  };
@@ -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
  };
@@ -4,6 +4,7 @@ import type { ListingType } from "./ListingType";
4
4
  import type { PostListingMode } from "./PostListingMode";
5
5
  import type { PostSortType } from "./PostSortType";
6
6
  import type { SensitiveString } from "./SensitiveString";
7
+ import type { VoteShow } from "./VoteShow";
7
8
  /**
8
9
  * Saves settings for your user.
9
10
  */
@@ -36,6 +37,10 @@ export type SaveUserSettings = {
36
37
  * A default time range limit to apply to post sorts, in seconds. 0 means none.
37
38
  */
38
39
  default_post_time_range_seconds?: number;
40
+ /**
41
+ * A default fetch limit for number of items returned.
42
+ */
43
+ default_items_per_page?: number;
39
44
  /**
40
45
  * The default comment sort, usually "hot"
41
46
  */
@@ -93,10 +98,6 @@ export type SaveUserSettings = {
93
98
  * Enable infinite scroll
94
99
  */
95
100
  infinite_scroll_enabled?: boolean;
96
- /**
97
- * Whether to allow keyboard navigation (for browsing and interacting with posts and comments).
98
- */
99
- enable_keyboard_navigation?: boolean;
100
101
  /**
101
102
  * Whether user avatars or inline images in the UI that are gifs should be allowed to play or
102
103
  * should be paused
@@ -113,9 +114,9 @@ export type SaveUserSettings = {
113
114
  /**
114
115
  * Some vote display mode settings
115
116
  */
116
- show_scores?: boolean;
117
+ show_score?: boolean;
117
118
  show_upvotes?: boolean;
118
- show_downvotes?: boolean;
119
+ show_downvotes?: VoteShow;
119
120
  show_upvote_percentage?: boolean;
120
121
  /**
121
122
  * Whether to automatically mark fetched posts as read.
@@ -125,4 +126,8 @@ export type SaveUserSettings = {
125
126
  * Whether to hide posts containing images/videos.
126
127
  */
127
128
  hide_media?: boolean;
129
+ /**
130
+ * Whether to show vote totals given to others.
131
+ */
132
+ show_person_votes?: boolean;
128
133
  };
@@ -8,7 +8,7 @@ import type { SearchType } from "./SearchType";
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,10 @@ export type Search = {
24
24
  post_url_only?: boolean;
25
25
  liked_only?: boolean;
26
26
  disliked_only?: boolean;
27
+ /**
28
+ * If true, then show the nsfw posts (even if your user setting is to hide them)
29
+ */
30
+ show_nsfw?: boolean;
27
31
  page_cursor?: PaginationCursor;
28
32
  page_back?: boolean;
29
33
  limit?: number;
@@ -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,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
  };
@@ -2,28 +2,20 @@ import type { CommunityId } from "./CommunityId";
2
2
  import type { DbUrl } from "./DbUrl";
3
3
  import type { TagId } from "./TagId";
4
4
  /**
5
- * A tag that can be assigned to a post within a community.
6
- * The tag object is created by the community moderators.
7
- * The assignment happens by the post creator and can be updated by the community moderators.
8
- *
9
- * A tag is a federatable object that gives additional context to another object, which can be
10
- * displayed and filtered on. Currently, we only have community post tags, which is a tag that is
11
- * created by 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
- published: string;
27
- updated?: string;
18
+ published_at: string;
19
+ updated_at?: string;
28
20
  deleted: boolean;
29
21
  };
@@ -5,6 +5,6 @@ import type { TaglineId } from "./TaglineId";
5
5
  export type Tagline = {
6
6
  id: TaglineId;
7
7
  content: string;
8
- published: string;
9
- updated?: string;
8
+ published_at: string;
9
+ updated_at?: string;
10
10
  };
@@ -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
+ } | "Unreachable" | "CouldntSendWebmention" | "CommunityHasNoFollowers";
@@ -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,9 @@
1
+ import type { CommunityId } from "./CommunityId";
2
+ import type { CommunityNotificationsMode } from "./CommunityNotificationsMode";
3
+ /**
4
+ * Change notification settings for a community
5
+ */
6
+ export type UpdateCommunityNotifications = {
7
+ community_id: CommunityId;
8
+ mode: CommunityNotificationsMode;
9
+ };
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -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,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 });