Skip to content

Commit 1be14f7

Browse files
authored
feat: block user endpoints (#1314)
1 parent 74c8599 commit 1be14f7

File tree

2 files changed

+44
-0
lines changed

2 files changed

+44
-0
lines changed

src/client.ts

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@ import {
4040
BaseDeviceFields,
4141
BlockList,
4242
BlockListResponse,
43+
BlockUserAPIResponse,
4344
CampaignResponse,
4445
CampaignData,
4546
CampaignFilters,
@@ -179,6 +180,7 @@ import {
179180
QuerySegmentTargetsFilter,
180181
SortParam,
181182
GetMessageOptions,
183+
GetBlockedUsersAPIResponse,
182184
QueryVotesFilters,
183185
VoteSort,
184186
CreatePollAPIResponse,
@@ -2188,7 +2190,24 @@ export class StreamChat<StreamChatGenerics extends ExtendableGenerics = DefaultG
21882190
...options,
21892191
});
21902192
}
2193+
async blockUser(blockedUserID: string, user_id?: string) {
2194+
return await this.post<BlockUserAPIResponse>(this.baseURL + '/users/block', {
2195+
blocked_user_id: blockedUserID,
2196+
...(user_id ? { user_id } : {}),
2197+
});
2198+
}
21912199

2200+
async getBlockedUsers(user_id?: string) {
2201+
return await this.get<GetBlockedUsersAPIResponse>(this.baseURL + '/users/block', {
2202+
...(user_id ? { user_id } : {}),
2203+
});
2204+
}
2205+
async unBlockUser(blockedUserID: string, userID?: string) {
2206+
return await this.post<APIResponse>(this.baseURL + '/users/unblock', {
2207+
blocked_user_id: blockedUserID,
2208+
...(userID ? { user_id: userID } : {}),
2209+
});
2210+
}
21922211
/** muteUser - mutes a user
21932212
*
21942213
* @param {string} targetID

src/types.ts

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -697,6 +697,30 @@ export type MuteUserResponse<StreamChatGenerics extends ExtendableGenerics = Def
697697
own_user?: OwnUserResponse<StreamChatGenerics>;
698698
};
699699

700+
export type BlockUserResponse = APIResponse & {
701+
blocked_at: string;
702+
blocked_by_user_id: string;
703+
blocked_user_id: string;
704+
};
705+
706+
export type BlockUserAPIResponse = APIResponse & {
707+
blocked_users: BlockUserResponse[];
708+
};
709+
710+
export type GetBlockedUsersAPIResponse = APIResponse & {
711+
blocks: BlockedUser[];
712+
};
713+
export type BlockedUser = APIResponse & {
714+
blocked_user: UserResponse;
715+
blocked_user_id: string;
716+
717+
created_at: string;
718+
719+
user: UserResponse;
720+
721+
user_id: string;
722+
};
723+
700724
export type OwnUserBase<StreamChatGenerics extends ExtendableGenerics = DefaultGenerics> = {
701725
channel_mutes: ChannelMute<StreamChatGenerics>[];
702726
devices: Device<StreamChatGenerics>[];
@@ -2040,6 +2064,7 @@ export type ChannelConfigWithInfo<
20402064
export type ChannelData<
20412065
StreamChatGenerics extends ExtendableGenerics = DefaultGenerics
20422066
> = StreamChatGenerics['channelType'] & {
2067+
blocked?: boolean;
20432068
members?: string[];
20442069
name?: string;
20452070
};

0 commit comments

Comments
 (0)