diff --git a/app/soapbox/hooks/api/groups/useGroupMembershipRequests.ts b/app/soapbox/hooks/api/groups/useGroupMembershipRequests.ts index d437f61ab5..0f6b3818b4 100644 --- a/app/soapbox/hooks/api/groups/useGroupMembershipRequests.ts +++ b/app/soapbox/hooks/api/groups/useGroupMembershipRequests.ts @@ -1,21 +1,24 @@ import { Entities } from 'soapbox/entity-store/entities'; -import { useEntities } from 'soapbox/entity-store/hooks'; +import { useDismissEntity, useEntities } from 'soapbox/entity-store/hooks'; import { useApi } from 'soapbox/hooks/useApi'; import { accountSchema } from 'soapbox/schemas'; +import type { ExpandedEntitiesPath } from 'soapbox/entity-store/hooks/types'; + function useGroupMembershipRequests(groupId: string) { const api = useApi(); + const path: ExpandedEntitiesPath = [Entities.ACCOUNTS, 'membership_requests', groupId]; - function authorize(accountId: string) { + const authorize = useDismissEntity(path, (accountId) => { return api.post(`/api/v1/groups/${groupId}/membership_requests/${accountId}/authorize`); - } + }); - function reject(accountId: string) { + const reject = useDismissEntity(path, (accountId) => { return api.post(`/api/v1/groups/${groupId}/membership_requests/${accountId}/reject`); - } + }); const { entities, ...rest } = useEntities( - [Entities.ACCOUNTS, 'membership_requests', groupId], + path, `/api/v1/groups/${groupId}/membership_requests`, { schema: accountSchema }, );