Adding list reports.

This commit is contained in:
Dessalines 2024-12-02 17:28:27 -05:00
parent 9df1b97dc5
commit d3d7f81741
39 changed files with 199 additions and 148 deletions

View file

@ -75,14 +75,8 @@ import { GetSiteMetadataResponse } from "./types/GetSiteMetadataResponse";
import { GetSiteResponse } from "./types/GetSiteResponse";
import { GetUnreadCountResponse } from "./types/GetUnreadCountResponse";
import { GetUnreadRegistrationApplicationCountResponse } from "./types/GetUnreadRegistrationApplicationCountResponse";
import { ListCommentReports } from "./types/ListCommentReports";
import { ListCommentReportsResponse } from "./types/ListCommentReportsResponse";
import { ListCommunities } from "./types/ListCommunities";
import { ListCommunitiesResponse } from "./types/ListCommunitiesResponse";
import { ListPostReports } from "./types/ListPostReports";
import { ListPostReportsResponse } from "./types/ListPostReportsResponse";
import { ListPrivateMessageReports } from "./types/ListPrivateMessageReports";
import { ListPrivateMessageReportsResponse } from "./types/ListPrivateMessageReportsResponse";
import { ListRegistrationApplications } from "./types/ListRegistrationApplications";
import { ListRegistrationApplicationsResponse } from "./types/ListRegistrationApplicationsResponse";
import { LockPost } from "./types/LockPost";
@ -129,8 +123,6 @@ import {
VERSION,
} from "./other_types";
import { HideCommunity } from "./types/HideCommunity";
import { BlockInstance } from "./types/BlockInstance";
import { BlockInstanceResponse } from "./types/BlockInstanceResponse";
import { GenerateTotpSecretResponse } from "./types/GenerateTotpSecretResponse";
import { UpdateTotp } from "./types/UpdateTotp";
import { UpdateTotpResponse } from "./types/UpdateTotpResponse";
@ -160,6 +152,8 @@ import { GetCommunityPendingFollowsCountResponse } from "./types/GetCommunityPen
import { ListCommunityPendingFollowsResponse } from "./types/ListCommunityPendingFollowsResponse";
import { ListCommunityPendingFollows } from "./types/ListCommunityPendingFollows";
import { CommunityId } from "./types/CommunityId";
import { ListReports } from "./types/ListReports";
import { ListReportsResponse } from "./types/ListReportsResponse";
enum HttpType {
Get = "GET",
@ -843,20 +837,6 @@ export class LemmyHttp {
);
}
/**
* List post reports.
*
* `HTTP.GET /post/report/list`
*/
listPostReports(form: ListPostReports, options?: RequestOptions) {
return this.#wrapper<ListPostReports, ListPostReportsResponse>(
HttpType.Get,
"/post/report/list",
form,
options,
);
}
/**
* Fetch metadata for any given site.
*
@ -1056,20 +1036,6 @@ export class LemmyHttp {
);
}
/**
* List comment reports.
*
* `HTTP.GET /comment/report/list`
*/
listCommentReports(form: ListCommentReports, options?: RequestOptions) {
return this.#wrapper<ListCommentReports, ListCommentReportsResponse>(
HttpType.Get,
"/comment/report/list",
form,
options,
);
}
/**
* Get / fetch private messages.
*
@ -1173,21 +1139,6 @@ export class LemmyHttp {
>(HttpType.Put, "/private_message/report/resolve", form, options);
}
/**
* List private message reports.
*
* `HTTP.GET /private_message/report/list`
*/
listPrivateMessageReports(
form: ListPrivateMessageReports,
options?: RequestOptions,
) {
return this.#wrapper<
ListPrivateMessageReports,
ListPrivateMessageReportsResponse
>(HttpType.Get, "/private_message/report/list", form, options);
}
/**
* Register a new user.
*
@ -1786,14 +1737,14 @@ export class LemmyHttp {
}
/**
* Block an instance.
* List post reports.
*
* `HTTP.Post /site/block`
* `HTTP.GET //report/list`
*/
blockInstance(form: BlockInstance, options?: RequestOptions) {
return this.#wrapper<BlockInstance, BlockInstanceResponse>(
HttpType.Post,
"/site/block",
listReports(form: ListReports, options?: RequestOptions) {
return this.#wrapper<ListReports, ListReportsResponse>(
HttpType.Get,
"/report/list",
form,
options,
);

View file

@ -10,6 +10,12 @@ export { AddAdmin } from "./types/AddAdmin";
export { AddAdminResponse } from "./types/AddAdminResponse";
export { AddModToCommunity } from "./types/AddModToCommunity";
export { AddModToCommunityResponse } from "./types/AddModToCommunityResponse";
export { AdminAllowInstance } from "./types/AdminAllowInstance";
export { AdminAllowInstanceParams } from "./types/AdminAllowInstanceParams";
export { AdminAllowInstanceView } from "./types/AdminAllowInstanceView";
export { AdminBlockInstance } from "./types/AdminBlockInstance";
export { AdminBlockInstanceParams } from "./types/AdminBlockInstanceParams";
export { AdminBlockInstanceView } from "./types/AdminBlockInstanceView";
export { AdminPurgeComment } from "./types/AdminPurgeComment";
export { AdminPurgeCommentView } from "./types/AdminPurgeCommentView";
export { AdminPurgeCommunity } from "./types/AdminPurgeCommunity";
@ -28,8 +34,6 @@ export { BanPersonResponse } from "./types/BanPersonResponse";
export { BannedPersonsResponse } from "./types/BannedPersonsResponse";
export { BlockCommunity } from "./types/BlockCommunity";
export { BlockCommunityResponse } from "./types/BlockCommunityResponse";
export { BlockInstance } from "./types/BlockInstance";
export { BlockInstanceResponse } from "./types/BlockInstanceResponse";
export { BlockPerson } from "./types/BlockPerson";
export { BlockPersonResponse } from "./types/BlockPersonResponse";
export { CaptchaResponse } from "./types/CaptchaResponse";
@ -95,6 +99,7 @@ export { EditPrivateMessage } from "./types/EditPrivateMessage";
export { EditSite } from "./types/EditSite";
export { FeaturePost } from "./types/FeaturePost";
export { FederatedInstances } from "./types/FederatedInstances";
export { FederationBlockList } from "./types/FederationBlockList";
export { FederationError } from "./types/FederationError";
export { FederationMode } from "./types/FederationMode";
export { FollowCommunity } from "./types/FollowCommunity";
@ -142,8 +147,6 @@ export { LemmyErrorType } from "./types/LemmyErrorType";
export { LinkMetadata } from "./types/LinkMetadata";
export { ListCommentLikes } from "./types/ListCommentLikes";
export { ListCommentLikesResponse } from "./types/ListCommentLikesResponse";
export { ListCommentReports } from "./types/ListCommentReports";
export { ListCommentReportsResponse } from "./types/ListCommentReportsResponse";
export { ListCommunities } from "./types/ListCommunities";
export { ListCommunitiesResponse } from "./types/ListCommunitiesResponse";
export { ListCommunityPendingFollows } from "./types/ListCommunityPendingFollows";
@ -155,12 +158,10 @@ export { ListMedia } from "./types/ListMedia";
export { ListMediaResponse } from "./types/ListMediaResponse";
export { ListPostLikes } from "./types/ListPostLikes";
export { ListPostLikesResponse } from "./types/ListPostLikesResponse";
export { ListPostReports } from "./types/ListPostReports";
export { ListPostReportsResponse } from "./types/ListPostReportsResponse";
export { ListPrivateMessageReports } from "./types/ListPrivateMessageReports";
export { ListPrivateMessageReportsResponse } from "./types/ListPrivateMessageReportsResponse";
export { ListRegistrationApplications } from "./types/ListRegistrationApplications";
export { ListRegistrationApplicationsResponse } from "./types/ListRegistrationApplicationsResponse";
export { ListReports } from "./types/ListReports";
export { ListReportsResponse } from "./types/ListReportsResponse";
export { ListTaglines } from "./types/ListTaglines";
export { ListTaglinesResponse } from "./types/ListTaglinesResponse";
export { ListingType } from "./types/ListingType";
@ -179,6 +180,7 @@ export { Login } from "./types/Login";
export { LoginResponse } from "./types/LoginResponse";
export { LoginToken } from "./types/LoginToken";
export { MarkCommentReplyAsRead } from "./types/MarkCommentReplyAsRead";
export { MarkManyPostsAsRead } from "./types/MarkManyPostsAsRead";
export { MarkPersonMentionAsRead } from "./types/MarkPersonMentionAsRead";
export { MarkPostAsRead } from "./types/MarkPostAsRead";
export { MarkPrivateMessageAsRead } from "./types/MarkPrivateMessageAsRead";
@ -259,6 +261,10 @@ export { RegistrationMode } from "./types/RegistrationMode";
export { RemoveComment } from "./types/RemoveComment";
export { RemoveCommunity } from "./types/RemoveCommunity";
export { RemovePost } from "./types/RemovePost";
export { ReportCombined } from "./types/ReportCombined";
export { ReportCombinedId } from "./types/ReportCombinedId";
export { ReportCombinedPaginationCursor } from "./types/ReportCombinedPaginationCursor";
export { ReportCombinedView } from "./types/ReportCombinedView";
export { ResolveCommentReport } from "./types/ResolveCommentReport";
export { ResolveObject } from "./types/ResolveObject";
export { ResolveObjectResponse } from "./types/ResolveObjectResponse";
@ -285,5 +291,6 @@ export { TransferCommunity } from "./types/TransferCommunity";
export { UpdateTagline } from "./types/UpdateTagline";
export { UpdateTotp } from "./types/UpdateTotp";
export { UpdateTotpResponse } from "./types/UpdateTotpResponse";
export { UserBlockInstanceParams } from "./types/UserBlockInstanceParams";
export { VerifyEmail } from "./types/VerifyEmail";
export { VoteView } from "./types/VoteView";

View file

@ -0,0 +1,12 @@
// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.
import type { InstanceId } from "./InstanceId";
import type { PersonId } from "./PersonId";
export type AdminAllowInstance = {
id: number;
instance_id: InstanceId;
admin_person_id: PersonId;
allowed: boolean;
reason?: string;
when_: string;
};

View file

@ -0,0 +1,7 @@
// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.
export type AdminAllowInstanceParams = {
instance: string;
allow: boolean;
reason?: string;
};

View file

@ -0,0 +1,13 @@
// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.
import type { AdminAllowInstance } from "./AdminAllowInstance";
import type { Instance } from "./Instance";
import type { Person } from "./Person";
/**
* When an admin purges a post.
*/
export type AdminAllowInstanceView = {
admin_block_instance: AdminAllowInstance;
instance: Instance;
admin?: Person;
};

View file

@ -0,0 +1,13 @@
// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.
import type { InstanceId } from "./InstanceId";
import type { PersonId } from "./PersonId";
export type AdminBlockInstance = {
id: number;
instance_id: InstanceId;
admin_person_id: PersonId;
blocked: boolean;
reason?: string;
expires?: string;
when_: string;
};

View file

@ -0,0 +1,8 @@
// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.
export type AdminBlockInstanceParams = {
instance: string;
block: boolean;
reason?: string;
expires?: string;
};

View file

@ -0,0 +1,13 @@
// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.
import type { AdminBlockInstance } from "./AdminBlockInstance";
import type { Instance } from "./Instance";
import type { Person } from "./Person";
/**
* When an admin purges a post.
*/
export type AdminBlockInstanceView = {
admin_block_instance: AdminBlockInstance;
instance: Instance;
admin?: Person;
};

View file

@ -17,4 +17,5 @@ export type AuthenticateWithOauth = {
* An answer is mandatory if require application is enabled on the server
*/
answer?: string;
pkce_code_verifier?: string;
};

View file

@ -14,4 +14,6 @@ export type CommentAggregates = {
* The total number of children in this comment branch.
*/
child_count: number;
report_count: number;
unresolved_report_count: number;
};

View file

@ -15,5 +15,6 @@ export type CreateOAuthProvider = {
scopes: string;
auto_verify_email?: boolean;
account_linking_enabled?: boolean;
use_pkce?: boolean;
enabled?: boolean;
};

View file

@ -48,8 +48,6 @@ export type CreateSite = {
federation_debug?: boolean;
captcha_enabled?: boolean;
captcha_difficulty?: string;
allowed_instances?: Array<string>;
blocked_instances?: Array<string>;
registration_mode?: RegistrationMode;
oauth_registration?: boolean;
content_warning?: string;

View file

@ -15,5 +15,6 @@ export type EditOAuthProvider = {
scopes?: string;
auto_verify_email?: boolean;
account_linking_enabled?: boolean;
use_pkce?: boolean;
enabled?: boolean;
};

View file

@ -138,14 +138,6 @@ export type EditSite = {
* The captcha difficulty. Can be easy, medium, or hard
*/
captcha_difficulty?: string;
/**
* A list of allowed instances. If none are set, federation is open.
*/
allowed_instances?: Array<string>;
/**
* A list of blocked instances.
*/
blocked_instances?: Array<string>;
/**
* A list of blocked URLs
*/

View file

@ -0,0 +1,9 @@
// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.
import type { InstanceId } from "./InstanceId";
export type FederationBlockList = {
instance_id: InstanceId;
published: string;
updated?: string;
expires?: string;
};

View file

@ -25,4 +25,5 @@ export type FederationError =
| "InboxTimeout"
| "CantDeleteSite"
| "ObjectIsNotPublic"
| "ObjectIsNotPrivate";
| "ObjectIsNotPrivate"
| "Unreachable";

View file

@ -1,4 +1,6 @@
// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.
import type { AdminAllowInstanceView } from "./AdminAllowInstanceView";
import type { AdminBlockInstanceView } from "./AdminBlockInstanceView";
import type { AdminPurgeCommentView } from "./AdminPurgeCommentView";
import type { AdminPurgeCommunityView } from "./AdminPurgeCommunityView";
import type { AdminPurgePersonView } from "./AdminPurgePersonView";
@ -34,4 +36,6 @@ export type GetModlogResponse = {
admin_purged_posts: Array<AdminPurgePostView>;
admin_purged_comments: Array<AdminPurgeCommentView>;
hidden_communities: Array<ModHideCommunityView>;
admin_block_instance: Array<AdminBlockInstanceView>;
admin_allow_instance: Array<AdminAllowInstanceView>;
};

View file

@ -29,9 +29,14 @@ export type GetPosts = {
* If true, then show the nsfw posts (even if your user setting is to hide them)
*/
show_nsfw?: boolean;
/**
* Whether to automatically mark fetched posts as read.
*/
mark_as_read?: boolean;
/**
* If true, then only show posts with no comments
*/
no_comments_only?: boolean;
page_cursor?: PaginationCursor;
page_back?: boolean;
};

View file

@ -1,12 +1,6 @@
// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.
import type { CommunityId } from "./CommunityId";
/**
* A response for the number of reports.
*/
export type GetReportCountResponse = {
community_id?: CommunityId;
comment_reports: number;
post_reports: number;
private_message_reports?: number;
};
export type GetReportCountResponse = { count: number };

View file

@ -4,4 +4,4 @@ import type { PostId } from "./PostId";
/**
* Hide a post from list views
*/
export type HidePost = { post_ids: Array<PostId>; hide: boolean };
export type HidePost = { post_id: PostId; hide: boolean };

View file

@ -63,9 +63,10 @@ export type LemmyErrorType =
| { error: "no_email_setup" }
| { error: "local_site_not_setup" }
| { error: "email_smtp_server_needs_a_port" }
| { error: "missing_an_email" }
| { error: "invalid_email_address"; message: string }
| { error: "rate_limit_error" }
| { error: "invalid_name" }
| { error: "invalid_code_verifier" }
| { error: "invalid_display_name" }
| { error: "invalid_matrix_id" }
| { error: "invalid_post_title" }
@ -116,6 +117,7 @@ export type LemmyErrorType =
| { error: "invalid_regex" }
| { error: "captcha_incorrect" }
| { error: "couldnt_create_audio_captcha" }
| { error: "couldnt_create_image_captcha" }
| { error: "invalid_url_scheme" }
| { error: "couldnt_send_webmention" }
| { error: "contradicting_filters" }
@ -135,4 +137,5 @@ export type LemmyErrorType =
| { error: "community_has_no_followers" }
| { error: "post_schedule_time_must_be_in_future" }
| { error: "too_many_scheduled_posts" }
| { error: "cannot_combine_federation_blocklist_and_allowlist" }
| { error: "federation_error"; message: { error?: FederationError } };

View file

@ -1,20 +0,0 @@
// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.
import type { CommentId } from "./CommentId";
import type { CommunityId } from "./CommunityId";
/**
* List comment reports.
*/
export type ListCommentReports = {
comment_id?: CommentId;
page?: number;
limit?: number;
/**
* Only shows the unresolved reports
*/
unresolved_only?: boolean;
/**
* if no community is given, it returns reports for all communities moderated by the auth user
*/
community_id?: CommunityId;
};

View file

@ -1,9 +0,0 @@
// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.
import type { CommentReportView } from "./CommentReportView";
/**
* The comment report list response.
*/
export type ListCommentReportsResponse = {
comment_reports: Array<CommentReportView>;
};

View file

@ -1,13 +0,0 @@
// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.
/**
* List private message reports.
*/
export type ListPrivateMessageReports = {
page?: number;
limit?: number;
/**
* Only shows the unresolved reports
*/
unresolved_only?: boolean;
};

View file

@ -1,9 +0,0 @@
// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.
import type { PrivateMessageReportView } from "./PrivateMessageReportView";
/**
* The response for list private message reports.
*/
export type ListPrivateMessageReportsResponse = {
private_message_reports: Array<PrivateMessageReportView>;
};

View file

@ -1,13 +1,11 @@
// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.
import type { CommunityId } from "./CommunityId";
import type { PostId } from "./PostId";
import type { ReportCombinedPaginationCursor } from "./ReportCombinedPaginationCursor";
/**
* List post reports.
* List reports.
*/
export type ListPostReports = {
page?: number;
limit?: number;
export type ListReports = {
/**
* Only shows the unresolved reports
*/
@ -16,5 +14,6 @@ export type ListPostReports = {
* if no community is given, it returns reports for all communities moderated by the auth user
*/
community_id?: CommunityId;
post_id?: PostId;
page_cursor?: ReportCombinedPaginationCursor;
page_back?: boolean;
};

View file

@ -1,7 +1,7 @@
// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.
import type { PostReportView } from "./PostReportView";
import type { ReportCombinedView } from "./ReportCombinedView";
/**
* The post reports response.
*/
export type ListPostReportsResponse = { post_reports: Array<PostReportView> };
export type ListReportsResponse = { reports: Array<ReportCombinedView> };

View file

@ -73,9 +73,17 @@ export type LocalUser = {
* should be paused
*/
enable_animated_images: boolean;
/**
* Whether a user can send / receive private messages
*/
enable_private_messages: boolean;
/**
* Whether to auto-collapse bot comments.
*/
collapse_bot_comments: boolean;
default_comment_sort_type: CommentSortType;
/**
* Whether to automatically mark fetched posts as read.
*/
auto_mark_fetched_posts_as_read: boolean;
};

View file

@ -0,0 +1,7 @@
// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.
import type { PostId } from "./PostId";
/**
* Mark several posts as read.
*/
export type MarkManyPostsAsRead = { post_ids: Array<PostId> };

View file

@ -4,4 +4,4 @@ import type { PostId } from "./PostId";
/**
* Mark a post as read.
*/
export type MarkPostAsRead = { post_ids: Array<PostId>; read: boolean };
export type MarkPostAsRead = { post_id: PostId; read: boolean };

View file

@ -19,4 +19,6 @@ export type ModlogActionType =
| "AdminPurgePerson"
| "AdminPurgeCommunity"
| "AdminPurgePost"
| "AdminPurgeComment";
| "AdminPurgeComment"
| "AdminBlockInstance"
| "AdminAllowInstance";

View file

@ -58,4 +58,8 @@ export type OAuthProvider = {
enabled: boolean;
published: string;
updated?: string;
/**
* switch to enable or disable PKCE
*/
use_pkce: boolean;
};

View file

@ -15,4 +15,6 @@ export type PostAggregates = {
* The time of the newest comment in the post.
*/
newest_comment_time: string;
report_count: number;
unresolved_report_count: number;
};

View file

@ -0,0 +1,16 @@
// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.
import type { CommentReportId } from "./CommentReportId";
import type { PostReportId } from "./PostReportId";
import type { PrivateMessageReportId } from "./PrivateMessageReportId";
import type { ReportCombinedId } from "./ReportCombinedId";
/**
* A combined reports table.
*/
export type ReportCombined = {
id: ReportCombinedId;
published: string;
post_report_id?: PostReportId;
comment_report_id?: CommentReportId;
private_message_report_id?: PrivateMessageReportId;
};

View file

@ -1,3 +1,6 @@
// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.
export type BlockInstanceResponse = { blocked: boolean };
/**
* The report combined id
*/
export type ReportCombinedId = number;

View file

@ -0,0 +1,6 @@
// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.
/**
* like PaginationCursor but for the report_combined table
*/
export type ReportCombinedPaginationCursor = string;

View file

@ -0,0 +1,9 @@
// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.
import type { CommentReportView } from "./CommentReportView";
import type { PostReportView } from "./PostReportView";
import type { PrivateMessageReportView } from "./PrivateMessageReportView";
export type ReportCombinedView =
| { Post: PostReportView }
| { Comment: CommentReportView }
| { PrivateMessage: PrivateMessageReportView };

View file

@ -107,6 +107,10 @@ export type SaveUserSettings = {
* should be paused
*/
enable_animated_images?: boolean;
/**
* Whether a user can send / receive private messages
*/
enable_private_messages?: boolean;
/**
* Whether to auto-collapse bot comments.
*/
@ -118,4 +122,8 @@ export type SaveUserSettings = {
show_upvotes?: boolean;
show_downvotes?: boolean;
show_upvote_percentage?: boolean;
/**
* Whether to automatically mark fetched posts as read.
*/
auto_mark_fetched_posts_as_read?: boolean;
};

View file

@ -4,4 +4,7 @@ import type { InstanceId } from "./InstanceId";
/**
* Block an instance as user
*/
export type BlockInstance = { instance_id: InstanceId; block: boolean };
export type UserBlockInstanceParams = {
instance_id: InstanceId;
block: boolean;
};