From 4439d22157d28fbc083bf63d84e598fd79efd6f8 Mon Sep 17 00:00:00 2001 From: Dessalines Date: Wed, 6 Sep 2023 08:28:00 -0400 Subject: [PATCH] Adding block instance. (#178) * Adding block instance. - https://github.com/LemmyNet/lemmy/pull/3869 * v0.19.0-rc.4 * Forgot to add types. * v0.19.0-rc.5 * Fixing optional site issue. --- copy_generated_types_from_lemmy.sh | 2 ++ package.json | 2 +- src/http.ts | 23 +++++++++++++++++++---- src/index.ts | 4 ++++ src/types/AddAdmin.ts | 4 ++-- src/types/BlockInstance.ts | 8 ++++++++ src/types/BlockInstanceResponse.ts | 5 +++++ src/types/InstanceBlockView.ts | 10 ++++++++++ src/types/LocalUser.ts | 2 ++ src/types/MyUserInfo.ts | 2 ++ src/types/PostAggregates.ts | 2 ++ src/types/PostListingMode.ts | 3 +++ 12 files changed, 60 insertions(+), 7 deletions(-) create mode 100644 src/types/BlockInstance.ts create mode 100644 src/types/BlockInstanceResponse.ts create mode 100644 src/types/InstanceBlockView.ts create mode 100644 src/types/PostListingMode.ts diff --git a/copy_generated_types_from_lemmy.sh b/copy_generated_types_from_lemmy.sh index 58e4091..e69d485 100755 --- a/copy_generated_types_from_lemmy.sh +++ b/copy_generated_types_from_lemmy.sh @@ -24,3 +24,5 @@ find src/types -type f -name '*.ts' -exec sed -i 's/bigint/number/g' {} + node putTypesInIndex.js +prettier -w src/types + diff --git a/package.json b/package.json index 9d2cec8..eb5803f 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "lemmy-js-client", - "version": "0.19.0-rc.3", + "version": "0.19.0-rc.5", "description": "A javascript / typescript client for Lemmy", "repository": "https://github.com/LemmyNet/lemmy-js-client", "license": "AGPL-3.0", diff --git a/src/http.ts b/src/http.ts index b5e5640..dd21d4a 100644 --- a/src/http.ts +++ b/src/http.ts @@ -134,6 +134,8 @@ import { TransferCommunity } from "./types/TransferCommunity"; import { VerifyEmail } from "./types/VerifyEmail"; import { VerifyEmailResponse } from "./types/VerifyEmailResponse"; import { UploadImage, UploadImageResponse, VERSION } from "./types/others"; +import { BlockInstance } from "./types/BlockInstance"; +import { BlockInstanceResponse } from "./types/BlockInstanceResponse"; enum HttpType { Get = "GET", @@ -1207,7 +1209,7 @@ export class LemmyHttp { * * `HTTP.POST /custom_emoji` */ - async createCustomEmoji(form: CreateCustomEmoji) { + createCustomEmoji(form: CreateCustomEmoji) { return this.#wrapper( HttpType.Post, "/custom_emoji", @@ -1220,7 +1222,7 @@ export class LemmyHttp { * * `HTTP.PUT /custom_emoji` */ - async editCustomEmoji(form: EditCustomEmoji) { + editCustomEmoji(form: EditCustomEmoji) { return this.#wrapper( HttpType.Put, "/custom_emoji", @@ -1233,7 +1235,7 @@ export class LemmyHttp { * * `HTTP.Post /custom_emoji/delete` */ - async deleteCustomEmoji(form: DeleteCustomEmoji) { + deleteCustomEmoji(form: DeleteCustomEmoji) { return this.#wrapper( HttpType.Post, "/custom_emoji/delete", @@ -1246,7 +1248,7 @@ export class LemmyHttp { * * `HTTP.Get /federated_instances` */ - async getFederatedInstances(form: GetFederatedInstances = {}) { + getFederatedInstances(form: GetFederatedInstances = {}) { return this.#wrapper( HttpType.Get, "/federated_instances", @@ -1254,6 +1256,19 @@ export class LemmyHttp { ); } + /** + * Block an instance + * + * `HTTP.POST /site/block` + */ + blockInstance(form: BlockInstance) { + return this.#wrapper( + HttpType.Post, + "/site/block", + form, + ); + } + /** * Upload an image to the server. */ diff --git a/src/index.ts b/src/index.ts index f28cb0b..5ed886d 100644 --- a/src/index.ts +++ b/src/index.ts @@ -19,6 +19,8 @@ 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"; @@ -117,6 +119,7 @@ export { GetUnreadRegistrationApplicationCount } from "./types/GetUnreadRegistra export { GetUnreadRegistrationApplicationCountResponse } from "./types/GetUnreadRegistrationApplicationCountResponse"; export { HideCommunity } from "./types/HideCommunity"; export { Instance } from "./types/Instance"; +export { InstanceBlockView } from "./types/InstanceBlockView"; export { InstanceId } from "./types/InstanceId"; export { Language } from "./types/Language"; export { LanguageId } from "./types/LanguageId"; @@ -194,6 +197,7 @@ export { PostFeatureType } from "./types/PostFeatureType"; export { PostId } from "./types/PostId"; export { PostJoin } from "./types/PostJoin"; export { PostJoinResponse } from "./types/PostJoinResponse"; +export { PostListingMode } from "./types/PostListingMode"; export { PostOrCommentId } from "./types/PostOrCommentId"; export { PostReport } from "./types/PostReport"; export { PostReportId } from "./types/PostReportId"; diff --git a/src/types/AddAdmin.ts b/src/types/AddAdmin.ts index e9c8a59..23de2dd 100644 --- a/src/types/AddAdmin.ts +++ b/src/types/AddAdmin.ts @@ -1,8 +1,8 @@ // This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. -import type { LocalUserId } from "./LocalUserId"; +import type { PersonId } from "./PersonId"; export interface AddAdmin { - local_user_id: LocalUserId; + person_id: PersonId; added: boolean; auth: string; } diff --git a/src/types/BlockInstance.ts b/src/types/BlockInstance.ts new file mode 100644 index 0000000..a69a880 --- /dev/null +++ b/src/types/BlockInstance.ts @@ -0,0 +1,8 @@ +// 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 interface BlockInstance { + instance_id: InstanceId; + block: boolean; + auth: string; +} diff --git a/src/types/BlockInstanceResponse.ts b/src/types/BlockInstanceResponse.ts new file mode 100644 index 0000000..88e4323 --- /dev/null +++ b/src/types/BlockInstanceResponse.ts @@ -0,0 +1,5 @@ +// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. + +export interface BlockInstanceResponse { + blocked: boolean; +} diff --git a/src/types/InstanceBlockView.ts b/src/types/InstanceBlockView.ts new file mode 100644 index 0000000..38087ca --- /dev/null +++ b/src/types/InstanceBlockView.ts @@ -0,0 +1,10 @@ +// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. +import type { Instance } from "./Instance"; +import type { Person } from "./Person"; +import type { Site } from "./Site"; + +export interface InstanceBlockView { + person: Person; + instance: Instance; + site?: Site; +} diff --git a/src/types/LocalUser.ts b/src/types/LocalUser.ts index 76af8b0..a5e38f8 100644 --- a/src/types/LocalUser.ts +++ b/src/types/LocalUser.ts @@ -2,6 +2,7 @@ import type { ListingType } from "./ListingType"; import type { LocalUserId } from "./LocalUserId"; import type { PersonId } from "./PersonId"; +import type { PostListingMode } from "./PostListingMode"; import type { SortType } from "./SortType"; export interface LocalUser { @@ -28,4 +29,5 @@ export interface LocalUser { auto_expand: boolean; infinite_scroll_enabled: boolean; admin: boolean; + post_listing_mode: PostListingMode; } diff --git a/src/types/MyUserInfo.ts b/src/types/MyUserInfo.ts index fb2c3d9..ddde119 100644 --- a/src/types/MyUserInfo.ts +++ b/src/types/MyUserInfo.ts @@ -2,6 +2,7 @@ import type { CommunityBlockView } from "./CommunityBlockView"; import type { CommunityFollowerView } from "./CommunityFollowerView"; import type { CommunityModeratorView } from "./CommunityModeratorView"; +import type { InstanceBlockView } from "./InstanceBlockView"; import type { LanguageId } from "./LanguageId"; import type { LocalUserView } from "./LocalUserView"; import type { PersonBlockView } from "./PersonBlockView"; @@ -11,6 +12,7 @@ export interface MyUserInfo { follows: Array; moderates: Array; community_blocks: Array; + instance_blocks: Array; person_blocks: Array; discussion_languages: Array; } diff --git a/src/types/PostAggregates.ts b/src/types/PostAggregates.ts index 4c00789..b089661 100644 --- a/src/types/PostAggregates.ts +++ b/src/types/PostAggregates.ts @@ -1,5 +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"; +import type { InstanceId } from "./InstanceId"; import type { PersonId } from "./PersonId"; import type { PostId } from "./PostId"; @@ -20,4 +21,5 @@ export interface PostAggregates { community_id: CommunityId; creator_id: PersonId; controversy_rank: number; + instance_id: InstanceId; } diff --git a/src/types/PostListingMode.ts b/src/types/PostListingMode.ts new file mode 100644 index 0000000..b6afd56 --- /dev/null +++ b/src/types/PostListingMode.ts @@ -0,0 +1,3 @@ +// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually. + +export type PostListingMode = "List" | "Card" | "SmallCard";