useGroupMembershipRequests: use useDismissEntity hooks

This commit is contained in:
Alex Gleason 2023-03-22 16:31:49 -05:00
parent 61fb434a54
commit b47cdb368f
No known key found for this signature in database
GPG key ID: 7211D1F99744FBB7

View file

@ -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 },
);