lemmy-js-client 0.20.0-show-mod-reports.1 → 1.0.0-action-structs.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 (92) hide show
  1. package/README.md +12 -3
  2. package/dist/http.d.ts +7 -2
  3. package/dist/http.js +13 -1
  4. package/dist/index.d.ts +8 -13
  5. package/dist/types/Comment.d.ts +9 -0
  6. package/dist/types/CommentActions.d.ts +9 -0
  7. package/dist/types/CommentReplyView.d.ts +11 -11
  8. package/dist/types/CommentReport.d.ts +1 -0
  9. package/dist/types/CommentReportView.d.ts +8 -10
  10. package/dist/types/CommentSlimView.d.ts +7 -10
  11. package/dist/types/CommentView.d.ts +10 -10
  12. package/dist/types/Community.d.ts +22 -0
  13. package/dist/types/CommunityActions.d.ts +14 -0
  14. package/dist/types/CommunityReportView.d.ts +0 -4
  15. package/dist/types/CommunitySortType.d.ts +1 -1
  16. package/dist/types/CommunityView.d.ts +5 -6
  17. package/dist/types/CreateCommentReport.d.ts +1 -0
  18. package/dist/types/CreatePostReport.d.ts +1 -0
  19. package/dist/types/CreateSite.d.ts +2 -0
  20. package/dist/types/EditSite.d.ts +8 -0
  21. package/dist/types/FederationError.d.ts +1 -1
  22. package/dist/types/GetComments.d.ts +5 -0
  23. package/dist/types/GetModlog.d.ts +26 -2
  24. package/dist/types/GetModlogResponse.d.ts +5 -0
  25. package/dist/types/GetPostResponse.d.ts +0 -2
  26. package/dist/types/GetPosts.d.ts +8 -2
  27. package/dist/types/GetPostsResponse.d.ts +2 -2
  28. package/dist/types/GetSiteResponse.d.ts +2 -2
  29. package/dist/types/ImageDetails.d.ts +1 -0
  30. package/dist/types/InstanceActions.d.ts +7 -0
  31. package/dist/types/LemmyErrorType.d.ts +6 -2
  32. package/dist/types/ListCommunities.d.ts +5 -0
  33. package/dist/types/ListInbox.d.ts +2 -2
  34. package/dist/types/ListInboxResponse.d.ts +5 -0
  35. package/dist/types/ListPersonContent.d.ts +2 -2
  36. package/dist/types/ListPersonContentResponse.d.ts +5 -0
  37. package/dist/types/ListPersonSaved.d.ts +2 -2
  38. package/dist/types/ListPersonSavedResponse.d.ts +7 -2
  39. package/dist/types/ListReports.d.ts +8 -4
  40. package/dist/types/ListReportsResponse.d.ts +5 -0
  41. package/dist/types/LocalSite.d.ts +28 -0
  42. package/dist/types/LocalUser.d.ts +8 -0
  43. package/dist/types/LocalUserView.d.ts +0 -4
  44. package/dist/types/PaginationCursor.d.ts +1 -4
  45. package/dist/types/Person.d.ts +2 -0
  46. package/dist/types/PersonActions.d.ts +8 -0
  47. package/dist/types/PersonCommentMentionView.d.ts +11 -11
  48. package/dist/types/PersonPostMentionView.d.ts +11 -16
  49. package/dist/types/PersonSavedCombinedView.d.ts +7 -0
  50. package/dist/types/PersonView.d.ts +0 -2
  51. package/dist/types/Post.d.ts +10 -0
  52. package/dist/types/PostActions.d.ts +13 -0
  53. package/dist/types/PostPaginationCursor.d.ts +7 -0
  54. package/dist/types/PostReport.d.ts +1 -0
  55. package/dist/types/PostReportView.d.ts +8 -13
  56. package/dist/types/PostSortType.d.ts +1 -1
  57. package/dist/types/PostView.d.ts +10 -15
  58. package/dist/types/PrivateMessage.d.ts +1 -0
  59. package/dist/types/PrivateMessageReportView.d.ts +1 -1
  60. package/dist/types/ResendVerificationEmail.d.ts +7 -0
  61. package/dist/types/ResendVerificationEmail.js +2 -0
  62. package/dist/types/SaveUserSettings.d.ts +4 -0
  63. package/dist/types/Search.d.ts +7 -2
  64. package/dist/types/SearchResponse.d.ts +5 -0
  65. package/dist/types/SiteView.d.ts +0 -2
  66. package/package.json +2 -2
  67. package/dist/types/CommentAggregates.d.ts +0 -17
  68. package/dist/types/CommunityAggregates.d.ts +0 -30
  69. package/dist/types/InboxCombinedPaginationCursor.d.ts +0 -4
  70. package/dist/types/LocalUserVoteDisplayMode.d.ts +0 -9
  71. package/dist/types/LocalUserVoteDisplayMode.js +0 -3
  72. package/dist/types/ModlogCombinedPaginationCursor.d.ts +0 -4
  73. package/dist/types/ModlogCombinedPaginationCursor.js +0 -3
  74. package/dist/types/PersonAggregates.d.ts +0 -9
  75. package/dist/types/PersonContentCombinedPaginationCursor.d.ts +0 -4
  76. package/dist/types/PersonContentCombinedPaginationCursor.js +0 -3
  77. package/dist/types/PersonSavedCombinedPaginationCursor.d.ts +0 -4
  78. package/dist/types/PersonSavedCombinedPaginationCursor.js +0 -3
  79. package/dist/types/PostAggregates.d.ts +0 -18
  80. package/dist/types/PostTags.d.ts +0 -7
  81. package/dist/types/ReportCombinedPaginationCursor.d.ts +0 -4
  82. package/dist/types/ReportCombinedPaginationCursor.js +0 -3
  83. package/dist/types/SearchCombinedPaginationCursor.d.ts +0 -4
  84. package/dist/types/SearchCombinedPaginationCursor.js +0 -3
  85. package/dist/types/SiteAggregates.d.ts +0 -27
  86. /package/dist/types/{CommentAggregates.js → CommentActions.js} +0 -0
  87. /package/dist/types/{CommunityAggregates.js → CommunityActions.js} +0 -0
  88. /package/dist/types/{PersonAggregates.js → InstanceActions.js} +0 -0
  89. /package/dist/types/{PostAggregates.js → PersonActions.js} +0 -0
  90. /package/dist/types/{PostTags.js → PersonSavedCombinedView.js} +0 -0
  91. /package/dist/types/{SiteAggregates.js → PostActions.js} +0 -0
  92. /package/dist/types/{InboxCombinedPaginationCursor.js → PostPaginationCursor.js} +0 -0
@@ -22,8 +22,8 @@ export type GetSiteResponse = {
22
22
  /**
23
23
  * A list of external auth methods your site supports.
24
24
  */
25
- oauth_providers?: Array<PublicOAuthProvider>;
26
- admin_oauth_providers?: Array<OAuthProvider>;
25
+ oauth_providers: Array<PublicOAuthProvider>;
26
+ admin_oauth_providers: Array<OAuthProvider>;
27
27
  blocked_urls: Array<LocalSiteUrlBlocklist>;
28
28
  image_upload_disabled: boolean;
29
29
  };
@@ -4,4 +4,5 @@ export type ImageDetails = {
4
4
  width: number;
5
5
  height: number;
6
6
  content_type: string;
7
+ blurhash?: string;
7
8
  };
@@ -0,0 +1,7 @@
1
+ import type { InstanceId } from "./InstanceId";
2
+ import type { PersonId } from "./PersonId";
3
+ export type InstanceActions = {
4
+ person_id: PersonId;
5
+ instance_id: InstanceId;
6
+ blocked?: string;
7
+ };
@@ -95,6 +95,8 @@ export type LemmyErrorType = {
95
95
  error: "couldnt_update_post";
96
96
  } | {
97
97
  error: "no_post_edit_allowed";
98
+ } | {
99
+ error: "nsfw_not_allowed";
98
100
  } | {
99
101
  error: "edit_private_message_not_allowed";
100
102
  } | {
@@ -125,8 +127,6 @@ export type LemmyErrorType = {
125
127
  error: "no_email_setup";
126
128
  } | {
127
129
  error: "local_site_not_setup";
128
- } | {
129
- error: "email_smtp_server_needs_a_port";
130
130
  } | {
131
131
  error: "invalid_email_address";
132
132
  message: string;
@@ -188,6 +188,8 @@ export type LemmyErrorType = {
188
188
  error: "couldnt_save_post";
189
189
  } | {
190
190
  error: "couldnt_mark_post_as_read";
191
+ } | {
192
+ error: "couldnt_update_read_comments";
191
193
  } | {
192
194
  error: "couldnt_hide_post";
193
195
  } | {
@@ -285,4 +287,6 @@ export type LemmyErrorType = {
285
287
  message: {
286
288
  error?: FederationError;
287
289
  };
290
+ } | {
291
+ error: "couldnt_parse_pagination_token";
288
292
  };
@@ -6,6 +6,11 @@ import type { ListingType } from "./ListingType";
6
6
  export type ListCommunities = {
7
7
  type_?: ListingType;
8
8
  sort?: CommunitySortType;
9
+ /**
10
+ * Filter to within a given time range, in seconds.
11
+ * IE 60 would give results for the past minute.
12
+ */
13
+ time_range_seconds?: number;
9
14
  show_nsfw?: boolean;
10
15
  page?: number;
11
16
  limit?: number;
@@ -1,11 +1,11 @@
1
- import type { InboxCombinedPaginationCursor } from "./InboxCombinedPaginationCursor";
2
1
  import type { InboxDataType } from "./InboxDataType";
2
+ import type { PaginationCursor } from "./PaginationCursor";
3
3
  /**
4
4
  * Get your inbox (replies, comment mentions, post mentions, and messages)
5
5
  */
6
6
  export type ListInbox = {
7
7
  type_?: InboxDataType;
8
8
  unread_only?: boolean;
9
- page_cursor?: InboxCombinedPaginationCursor;
9
+ page_cursor?: PaginationCursor;
10
10
  page_back?: boolean;
11
11
  };
@@ -1,7 +1,12 @@
1
1
  import type { InboxCombinedView } from "./InboxCombinedView";
2
+ import type { PaginationCursor } from "./PaginationCursor";
2
3
  /**
3
4
  * Get your inbox (replies, comment mentions, post mentions, and messages)
4
5
  */
5
6
  export type ListInboxResponse = {
6
7
  inbox: Array<InboxCombinedView>;
8
+ /**
9
+ * the pagination cursor to use to fetch the next page
10
+ */
11
+ next_page?: PaginationCursor;
7
12
  };
@@ -1,4 +1,4 @@
1
- import type { PersonContentCombinedPaginationCursor } from "./PersonContentCombinedPaginationCursor";
1
+ import type { PaginationCursor } from "./PaginationCursor";
2
2
  import type { PersonContentType } from "./PersonContentType";
3
3
  import type { PersonId } from "./PersonId";
4
4
  /**
@@ -13,6 +13,6 @@ export type ListPersonContent = {
13
13
  * Example: dessalines , or dessalines@xyz.tld
14
14
  */
15
15
  username?: string;
16
- page_cursor?: PersonContentCombinedPaginationCursor;
16
+ page_cursor?: PaginationCursor;
17
17
  page_back?: boolean;
18
18
  };
@@ -1,7 +1,12 @@
1
+ import type { PaginationCursor } from "./PaginationCursor";
1
2
  import type { PersonContentCombinedView } from "./PersonContentCombinedView";
2
3
  /**
3
4
  * A person's content response.
4
5
  */
5
6
  export type ListPersonContentResponse = {
6
7
  content: Array<PersonContentCombinedView>;
8
+ /**
9
+ * the pagination cursor to use to fetch the next page
10
+ */
11
+ next_page?: PaginationCursor;
7
12
  };
@@ -1,10 +1,10 @@
1
+ import type { PaginationCursor } from "./PaginationCursor";
1
2
  import type { PersonContentType } from "./PersonContentType";
2
- import type { PersonSavedCombinedPaginationCursor } from "./PersonSavedCombinedPaginationCursor";
3
3
  /**
4
4
  * Gets your saved posts and comments
5
5
  */
6
6
  export type ListPersonSaved = {
7
7
  type_?: PersonContentType;
8
- page_cursor?: PersonSavedCombinedPaginationCursor;
8
+ page_cursor?: PaginationCursor;
9
9
  page_back?: boolean;
10
10
  };
@@ -1,7 +1,12 @@
1
- import type { PersonContentCombinedView } from "./PersonContentCombinedView";
1
+ import type { PaginationCursor } from "./PaginationCursor";
2
+ import type { PersonSavedCombinedView } from "./PersonSavedCombinedView";
2
3
  /**
3
4
  * A person's saved content response.
4
5
  */
5
6
  export type ListPersonSavedResponse = {
6
- saved: Array<PersonContentCombinedView>;
7
+ saved: Array<PersonSavedCombinedView>;
8
+ /**
9
+ * the pagination cursor to use to fetch the next page
10
+ */
11
+ next_page?: PaginationCursor;
7
12
  };
@@ -1,6 +1,6 @@
1
1
  import type { CommunityId } from "./CommunityId";
2
+ import type { PaginationCursor } from "./PaginationCursor";
2
3
  import type { PostId } from "./PostId";
3
- import type { ReportCombinedPaginationCursor } from "./ReportCombinedPaginationCursor";
4
4
  import type { ReportType } from "./ReportType";
5
5
  /**
6
6
  * List reports.
@@ -22,10 +22,14 @@ export type ListReports = {
22
22
  * if no community is given, it returns reports for all communities moderated by the auth user
23
23
  */
24
24
  community_id?: CommunityId;
25
- page_cursor?: ReportCombinedPaginationCursor;
25
+ page_cursor?: PaginationCursor;
26
26
  page_back?: boolean;
27
27
  /**
28
- * Only for admins: also show reports destined to community mods
28
+ * Only for admins: also show reports with `violates_instance_rules=false`
29
29
  */
30
- show_mod_reports?: boolean;
30
+ show_community_rule_violations?: boolean;
31
+ /**
32
+ * If true, view all your created reports. Works for non-admins/mods also.
33
+ */
34
+ my_reports_only?: boolean;
31
35
  };
@@ -1,7 +1,12 @@
1
+ import type { PaginationCursor } from "./PaginationCursor";
1
2
  import type { ReportCombinedView } from "./ReportCombinedView";
2
3
  /**
3
4
  * The post reports response.
4
5
  */
5
6
  export type ListReportsResponse = {
6
7
  reports: Array<ReportCombinedView>;
8
+ /**
9
+ * the pagination cursor to use to fetch the next page
10
+ */
11
+ next_page?: PaginationCursor;
7
12
  };
@@ -118,4 +118,32 @@ export type LocalSite = {
118
118
  * donations.
119
119
  */
120
120
  disable_donation_dialog: boolean;
121
+ /**
122
+ * A default time range limit to apply to post sorts, in seconds.
123
+ */
124
+ default_post_time_range_seconds?: number;
125
+ users: number;
126
+ posts: number;
127
+ comments: number;
128
+ communities: number;
129
+ /**
130
+ * The number of users with any activity in the last day.
131
+ */
132
+ users_active_day: number;
133
+ /**
134
+ * The number of users with any activity in the last week.
135
+ */
136
+ users_active_week: number;
137
+ /**
138
+ * The number of users with any activity in the last month.
139
+ */
140
+ users_active_month: number;
141
+ /**
142
+ * The number of users with any activity in the last half year.
143
+ */
144
+ users_active_half_year: number;
145
+ /**
146
+ * Block NSFW content being created
147
+ */
148
+ disallow_nsfw_content: boolean;
121
149
  };
@@ -93,4 +93,12 @@ export type LocalUser = {
93
93
  * Whether to hide posts containing images/videos
94
94
  */
95
95
  hide_media: boolean;
96
+ /**
97
+ * A default time range limit to apply to post sorts, in seconds.
98
+ */
99
+ default_post_time_range_seconds?: number;
100
+ show_score: boolean;
101
+ show_upvotes: boolean;
102
+ show_downvotes: boolean;
103
+ show_upvote_percentage: boolean;
96
104
  };
@@ -1,13 +1,9 @@
1
1
  import type { LocalUser } from "./LocalUser";
2
- import type { LocalUserVoteDisplayMode } from "./LocalUserVoteDisplayMode";
3
2
  import type { Person } from "./Person";
4
- import type { PersonAggregates } from "./PersonAggregates";
5
3
  /**
6
4
  * A local user view.
7
5
  */
8
6
  export type LocalUserView = {
9
7
  local_user: LocalUser;
10
- local_user_vote_display_mode: LocalUserVoteDisplayMode;
11
8
  person: Person;
12
- counts: PersonAggregates;
13
9
  };
@@ -1,7 +1,4 @@
1
1
  /**
2
- * currently this is just a wrapper around post id, but should be seen as opaque from the client's
3
- * perspective. stringified since we might want to use arbitrary info later, with a P prepended to
4
- * prevent ossification (api users love to make assumptions (e.g. parse stuff that looks like
5
- * numbers as numbers) about apis that aren't part of the spec
2
+ * A pagination cursor
6
3
  */
7
4
  export type PaginationCursor = string;
@@ -54,4 +54,6 @@ export type Person = {
54
54
  */
55
55
  ban_expires?: string;
56
56
  instance_id: InstanceId;
57
+ post_count: number;
58
+ comment_count: number;
57
59
  };
@@ -0,0 +1,8 @@
1
+ import type { PersonId } from "./PersonId";
2
+ export type PersonActions = {
3
+ target_id: PersonId;
4
+ person_id: PersonId;
5
+ followed?: string;
6
+ follow_pending?: boolean;
7
+ blocked?: string;
8
+ };
@@ -1,27 +1,27 @@
1
1
  import type { Comment } from "./Comment";
2
- import type { CommentAggregates } from "./CommentAggregates";
2
+ import type { CommentActions } from "./CommentActions";
3
3
  import type { Community } from "./Community";
4
+ import type { CommunityActions } from "./CommunityActions";
5
+ import type { InstanceActions } from "./InstanceActions";
4
6
  import type { Person } from "./Person";
7
+ import type { PersonActions } from "./PersonActions";
5
8
  import type { PersonCommentMention } from "./PersonCommentMention";
6
9
  import type { Post } from "./Post";
7
- import type { SubscribedType } from "./SubscribedType";
8
10
  /**
9
11
  * A person comment mention view.
10
12
  */
11
13
  export type PersonCommentMentionView = {
12
14
  person_comment_mention: PersonCommentMention;
15
+ recipient: Person;
13
16
  comment: Comment;
14
17
  creator: Person;
15
18
  post: Post;
16
19
  community: Community;
17
- recipient: Person;
18
- counts: CommentAggregates;
19
- creator_banned_from_community: boolean;
20
- banned_from_community: boolean;
21
- creator_is_moderator: boolean;
20
+ community_actions?: CommunityActions;
21
+ comment_actions?: CommentActions;
22
+ person_actions?: PersonActions;
23
+ instance_actions?: InstanceActions;
24
+ creator_community_actions?: CommunityActions;
22
25
  creator_is_admin: boolean;
23
- subscribed: SubscribedType;
24
- saved: boolean;
25
- creator_blocked: boolean;
26
- my_vote?: number;
26
+ can_mod: boolean;
27
27
  };
@@ -1,32 +1,27 @@
1
1
  import type { Community } from "./Community";
2
+ import type { CommunityActions } from "./CommunityActions";
2
3
  import type { ImageDetails } from "./ImageDetails";
4
+ import type { InstanceActions } from "./InstanceActions";
3
5
  import type { Person } from "./Person";
6
+ import type { PersonActions } from "./PersonActions";
4
7
  import type { PersonPostMention } from "./PersonPostMention";
5
8
  import type { Post } from "./Post";
6
- import type { PostAggregates } from "./PostAggregates";
7
- import type { PostTags } from "./PostTags";
8
- import type { SubscribedType } from "./SubscribedType";
9
+ import type { PostActions } from "./PostActions";
9
10
  /**
10
11
  * A person post mention view.
11
12
  */
12
13
  export type PersonPostMentionView = {
13
14
  person_post_mention: PersonPostMention;
15
+ recipient: Person;
14
16
  post: Post;
15
17
  creator: Person;
16
18
  community: Community;
17
19
  image_details?: ImageDetails;
18
- recipient: Person;
19
- counts: PostAggregates;
20
- creator_banned_from_community: boolean;
21
- banned_from_community: boolean;
22
- creator_is_moderator: boolean;
20
+ community_actions?: CommunityActions;
21
+ person_actions?: PersonActions;
22
+ post_actions?: PostActions;
23
+ instance_actions?: InstanceActions;
24
+ creator_community_actions?: CommunityActions;
23
25
  creator_is_admin: boolean;
24
- subscribed: SubscribedType;
25
- saved: boolean;
26
- read: boolean;
27
- hidden: boolean;
28
- creator_blocked: boolean;
29
- my_vote?: number;
30
- unread_comments: number;
31
- post_tags: PostTags;
26
+ can_mod: boolean;
32
27
  };
@@ -0,0 +1,7 @@
1
+ import type { CommentView } from "./CommentView";
2
+ import type { PostView } from "./PostView";
3
+ export type PersonSavedCombinedView = ({
4
+ type_: "Post";
5
+ } & PostView) | ({
6
+ type_: "Comment";
7
+ } & CommentView);
@@ -1,10 +1,8 @@
1
1
  import type { Person } from "./Person";
2
- import type { PersonAggregates } from "./PersonAggregates";
3
2
  /**
4
3
  * A person view.
5
4
  */
6
5
  export type PersonView = {
7
6
  person: Person;
8
- counts: PersonAggregates;
9
7
  is_admin: boolean;
10
8
  };
@@ -79,4 +79,14 @@ export type Post = {
79
79
  * Time at which the post will be published. None means publish immediately.
80
80
  */
81
81
  scheduled_publish_time?: string;
82
+ comments: number;
83
+ score: number;
84
+ upvotes: number;
85
+ downvotes: number;
86
+ /**
87
+ * The time of the newest comment in the post.
88
+ */
89
+ newest_comment_time: string;
90
+ report_count: number;
91
+ unresolved_report_count: number;
82
92
  };
@@ -0,0 +1,13 @@
1
+ import type { PersonId } from "./PersonId";
2
+ import type { PostId } from "./PostId";
3
+ export type PostActions = {
4
+ post_id: PostId;
5
+ person_id: PersonId;
6
+ read?: string;
7
+ read_comments?: string;
8
+ read_comments_amount?: number;
9
+ saved?: string;
10
+ liked?: string;
11
+ like_score?: number;
12
+ hidden?: string;
13
+ };
@@ -0,0 +1,7 @@
1
+ /**
2
+ * currently this is just a wrapper around post id, but should be seen as opaque from the client's
3
+ * perspective. stringified since we might want to use arbitrary info later, with a P prepended to
4
+ * prevent ossification (api users love to make assumptions (e.g. parse stuff that looks like
5
+ * numbers as numbers) about apis that aren't part of the spec
6
+ */
7
+ export type PostPaginationCursor = string;
@@ -26,4 +26,5 @@ export type PostReport = {
26
26
  resolver_id?: PersonId;
27
27
  published: string;
28
28
  updated?: string;
29
+ violates_instance_rules: boolean;
29
30
  };
@@ -1,9 +1,10 @@
1
1
  import type { Community } from "./Community";
2
+ import type { CommunityActions } from "./CommunityActions";
2
3
  import type { Person } from "./Person";
4
+ import type { PersonActions } from "./PersonActions";
3
5
  import type { Post } from "./Post";
4
- import type { PostAggregates } from "./PostAggregates";
6
+ import type { PostActions } from "./PostActions";
5
7
  import type { PostReport } from "./PostReport";
6
- import type { SubscribedType } from "./SubscribedType";
7
8
  /**
8
9
  * A post report view.
9
10
  */
@@ -13,16 +14,10 @@ export type PostReportView = {
13
14
  community: Community;
14
15
  creator: Person;
15
16
  post_creator: Person;
16
- creator_banned_from_community: boolean;
17
- creator_is_moderator: boolean;
18
- creator_is_admin: boolean;
19
- subscribed: SubscribedType;
20
- saved: boolean;
21
- read: boolean;
22
- hidden: boolean;
23
- creator_blocked: boolean;
24
- my_vote?: number;
25
- unread_comments: number;
26
- counts: PostAggregates;
17
+ creator_community_actions?: CommunityActions;
18
+ community_actions?: CommunityActions;
19
+ post_actions?: PostActions;
20
+ person_actions?: PersonActions;
27
21
  resolver?: Person;
22
+ creator_is_admin: boolean;
28
23
  };
@@ -1,4 +1,4 @@
1
1
  /**
2
2
  * The post sort types. See here for descriptions: https://join-lemmy.org/docs/en/users/03-votes-and-ranking.html
3
3
  */
4
- export type PostSortType = "Active" | "Hot" | "New" | "Old" | "TopDay" | "TopWeek" | "TopMonth" | "TopYear" | "TopAll" | "MostComments" | "NewComments" | "TopHour" | "TopSixHour" | "TopTwelveHour" | "TopThreeMonths" | "TopSixMonths" | "TopNineMonths" | "Controversial" | "Scaled";
4
+ export type PostSortType = "Active" | "Hot" | "New" | "Old" | "Top" | "MostComments" | "NewComments" | "Controversial" | "Scaled";
@@ -1,10 +1,11 @@
1
1
  import type { Community } from "./Community";
2
+ import type { CommunityActions } from "./CommunityActions";
2
3
  import type { ImageDetails } from "./ImageDetails";
4
+ import type { InstanceActions } from "./InstanceActions";
3
5
  import type { Person } from "./Person";
6
+ import type { PersonActions } from "./PersonActions";
4
7
  import type { Post } from "./Post";
5
- import type { PostAggregates } from "./PostAggregates";
6
- import type { PostTags } from "./PostTags";
7
- import type { SubscribedType } from "./SubscribedType";
8
+ import type { PostActions } from "./PostActions";
8
9
  /**
9
10
  * A post view.
10
11
  */
@@ -13,17 +14,11 @@ export type PostView = {
13
14
  creator: Person;
14
15
  community: Community;
15
16
  image_details?: ImageDetails;
16
- creator_banned_from_community: boolean;
17
- banned_from_community: boolean;
18
- creator_is_moderator: boolean;
17
+ community_actions?: CommunityActions;
18
+ person_actions?: PersonActions;
19
+ post_actions?: PostActions;
20
+ instance_actions?: InstanceActions;
21
+ creator_community_actions?: CommunityActions;
19
22
  creator_is_admin: boolean;
20
- counts: PostAggregates;
21
- subscribed: SubscribedType;
22
- saved: boolean;
23
- read: boolean;
24
- hidden: boolean;
25
- creator_blocked: boolean;
26
- my_vote?: number;
27
- unread_comments: number;
28
- tags: PostTags;
23
+ can_mod: boolean;
29
24
  };
@@ -15,4 +15,5 @@ export type PrivateMessage = {
15
15
  updated?: string;
16
16
  ap_id: DbUrl;
17
17
  local: boolean;
18
+ removed: boolean;
18
19
  };
@@ -7,7 +7,7 @@ import type { PrivateMessageReport } from "./PrivateMessageReport";
7
7
  export type PrivateMessageReportView = {
8
8
  private_message_report: PrivateMessageReport;
9
9
  private_message: PrivateMessage;
10
- private_message_creator: Person;
11
10
  creator: Person;
11
+ private_message_creator: Person;
12
12
  resolver?: Person;
13
13
  };
@@ -0,0 +1,7 @@
1
+ import type { SensitiveString } from "./SensitiveString";
2
+ /**
3
+ * Make a request to resend your verification email.
4
+ */
5
+ export type ResendVerificationEmail = {
6
+ email: SensitiveString;
7
+ };
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -32,6 +32,10 @@ export type SaveUserSettings = {
32
32
  * The default post sort, usually "active"
33
33
  */
34
34
  default_post_sort_type?: PostSortType;
35
+ /**
36
+ * A default time range limit to apply to post sorts, in seconds. 0 means none.
37
+ */
38
+ default_post_time_range_seconds?: number;
35
39
  /**
36
40
  * The default comment sort, usually "hot"
37
41
  */
@@ -1,7 +1,7 @@
1
1
  import type { CommunityId } from "./CommunityId";
2
2
  import type { ListingType } from "./ListingType";
3
+ import type { PaginationCursor } from "./PaginationCursor";
3
4
  import type { PersonId } from "./PersonId";
4
- import type { SearchCombinedPaginationCursor } from "./SearchCombinedPaginationCursor";
5
5
  import type { SearchSortType } from "./SearchSortType";
6
6
  import type { SearchType } from "./SearchType";
7
7
  /**
@@ -14,11 +14,16 @@ export type Search = {
14
14
  creator_id?: PersonId;
15
15
  type_?: SearchType;
16
16
  sort?: SearchSortType;
17
+ /**
18
+ * Filter to within a given time range, in seconds.
19
+ * IE 60 would give results for the past minute.
20
+ */
21
+ time_range_seconds?: number;
17
22
  listing_type?: ListingType;
18
23
  title_only?: boolean;
19
24
  post_url_only?: boolean;
20
25
  liked_only?: boolean;
21
26
  disliked_only?: boolean;
22
- page_cursor?: SearchCombinedPaginationCursor;
27
+ page_cursor?: PaginationCursor;
23
28
  page_back?: boolean;
24
29
  };
@@ -1,7 +1,12 @@
1
+ import type { PaginationCursor } from "./PaginationCursor";
1
2
  import type { SearchCombinedView } from "./SearchCombinedView";
2
3
  /**
3
4
  * The search response, containing lists of the return type possibilities
4
5
  */
5
6
  export type SearchResponse = {
6
7
  results: Array<SearchCombinedView>;
8
+ /**
9
+ * the pagination cursor to use to fetch the next page
10
+ */
11
+ next_page?: PaginationCursor;
7
12
  };
@@ -1,7 +1,6 @@
1
1
  import type { LocalSite } from "./LocalSite";
2
2
  import type { LocalSiteRateLimit } from "./LocalSiteRateLimit";
3
3
  import type { Site } from "./Site";
4
- import type { SiteAggregates } from "./SiteAggregates";
5
4
  /**
6
5
  * A site view.
7
6
  */
@@ -9,5 +8,4 @@ export type SiteView = {
9
8
  site: Site;
10
9
  local_site: LocalSite;
11
10
  local_site_rate_limit: LocalSiteRateLimit;
12
- counts: SiteAggregates;
13
11
  };
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": "0.20.0-show-mod-reports.1",
4
+ "version": "1.0.0-action-structs.0",
5
5
  "author": "Dessalines",
6
6
  "license": "AGPL-3.0",
7
7
  "main": "./dist/index.js",
@@ -40,7 +40,7 @@
40
40
  "typescript": "^5.5.4",
41
41
  "typescript-eslint": "^8.7.0"
42
42
  },
43
- "packageManager": "pnpm@10.2.1",
43
+ "packageManager": "pnpm@10.5.2",
44
44
  "types": "./dist/index.d.ts",
45
45
  "lint-staged": {
46
46
  "*.{ts,tsx,js}": [