mirror of
https://github.com/hanzo-io/chat.git
synced 2026-10-30 18:57:58 +00:00
37 lines
949 B
TypeScript
37 lines
949 B
TypeScript
import { useFrappeGetCall } from "frappe-react-sdk"
|
|
|
|
export type Member = {
|
|
name: string
|
|
full_name: string
|
|
user_image: string | null
|
|
first_name: string
|
|
is_admin: 1 | 0,
|
|
type?: 'User' | 'Bot',
|
|
availability_status?: 'Available' | 'Away' | 'Do not disturb' | 'Invisible' | '',
|
|
allow_notifications?: 1 | 0,
|
|
channel_member_name?: string
|
|
}
|
|
|
|
export type ChannelMembers = {
|
|
[name: string]: Member
|
|
}
|
|
|
|
export const useFetchChannelMembers = (channelID: string) => {
|
|
|
|
const { data, error, isLoading, mutate } = useFrappeGetCall<{ message: ChannelMembers }>('raven.api.chat.get_channel_members', {
|
|
channel_id: channelID
|
|
}, ["channel_members", channelID], {
|
|
keepPreviousData: true,
|
|
revalidateIfStale: false
|
|
})
|
|
|
|
return {
|
|
channelMembers: data?.message ?? {},
|
|
error,
|
|
isLoading,
|
|
mutate
|
|
}
|
|
}
|
|
|
|
|
|
// TODO: Add a hook for realtime updates of channel members
|