feat: add function to fetch logged-in user's member object for a guild in API composable

This commit is contained in:
SauceyRed 2025-08-07 08:58:17 +02:00
parent 0dc485ca77
commit fdfffd78e7
Signed by: sauceyred
GPG key ID: 2BF92EB6D8A5CCA7

View file

@ -25,6 +25,17 @@ export const useApi = () => {
return await fetchWithApi("/me") return await fetchWithApi("/me")
} }
async function fetchMeMember(guildId: string): Promise<GuildMemberResponse | undefined> {
const { getUser } = useAuth();
const me = await getUser();
if (me) {
const members = await fetchMembers(guildId);
const meMember = members.objects.find(member => member.user.uuid == me.uuid);
return meMember;
}
}
async function fetchChannels(guildId: string): Promise<ChannelResponse[]> { async function fetchChannels(guildId: string): Promise<ChannelResponse[]> {
return ensureIsArray(await fetchWithApi(`/guilds/${guildId}/channels`)); return ensureIsArray(await fetchWithApi(`/guilds/${guildId}/channels`));
} }
@ -122,6 +133,7 @@ export const useApi = () => {
fetchGuild, fetchGuild,
fetchMyGuilds, fetchMyGuilds,
fetchMe, fetchMe,
fetchMeMember,
fetchChannels, fetchChannels,
fetchChannel, fetchChannel,
fetchMembers, fetchMembers,