Add follow pending. (#52)

* Add follow pending.

* v0.17.0-rc.1

* Make follower optional.

* v0.17.0-rc.2

* Pending is now required.

* v0.17.0-rc.3
This commit is contained in:
Dessalines 2022-05-22 15:44:30 -04:00 committed by GitHub
parent dd615bf484
commit 57de18c17e
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 13 additions and 1 deletions

View file

@ -28,6 +28,7 @@ import {
DeleteCommunity, DeleteCommunity,
EditCommunity, EditCommunity,
FollowCommunity, FollowCommunity,
FollowCommunityResponse,
GetCommunity, GetCommunity,
GetCommunityResponse, GetCommunityResponse,
ListCommunities, ListCommunities,
@ -247,7 +248,9 @@ export class LemmyHttp {
/** /**
* Follow / subscribe to a community. * Follow / subscribe to a community.
*/ */
async followCommunity(form: FollowCommunity): Promise<CommunityResponse> { async followCommunity(
form: FollowCommunity
): Promise<FollowCommunityResponse> {
return this.wrapper(HttpType.Post, "/community/follow", form); return this.wrapper(HttpType.Post, "/community/follow", form);
} }

View file

@ -1,6 +1,7 @@
import { ListingType, SortType } from "../others"; import { ListingType, SortType } from "../others";
import { Site } from "../source"; import { Site } from "../source";
import { import {
CommunityFollowerView,
CommunityModeratorView, CommunityModeratorView,
CommunityView, CommunityView,
PersonViewSafe, PersonViewSafe,
@ -39,6 +40,13 @@ export interface CommunityResponse {
community_view: CommunityView; community_view: CommunityView;
} }
export interface FollowCommunityResponse {
/**
* An unfollow returns null.
*/
community_follower_view?: CommunityFollowerView;
}
export interface ListCommunities { export interface ListCommunities {
type_?: ListingType; type_?: ListingType;
sort?: SortType; sort?: SortType;

View file

@ -190,6 +190,7 @@ export interface ModStickyPostView {
export interface CommunityFollowerView { export interface CommunityFollowerView {
community: CommunitySafe; community: CommunitySafe;
follower: PersonSafe; follower: PersonSafe;
pending: boolean;
} }
export interface CommunityBlockView { export interface CommunityBlockView {