UNPKG

@amityco/ts-sdk-react-native

Version:

Amity Social Cloud Typescript SDK

46 lines (39 loc) 1.31 kB
import { fireEvent } from '~/core/events'; import { InvitationStatusEnum } from '~/@types'; import { pullFromCache, upsertInCache } from '~/cache/api'; import { getActiveClient } from '~/client/api/activeClient'; /* begin_public_function id: invitation.reject */ /** * ```js * import { rejectInvitation } from '@amityco/ts-sdk' * const isRejected = await rejectInvitation(invitationId) * ``` * * Rejects a {@link Amity.Invitation} object * * @param invitationId the {@link Amity.Invitation} to reject * @returns A success boolean if the {@link Amity.Invitation} was rejected * * @category Invitation API * @async */ export const rejectInvitation = async (invitationId: Amity.Invitation['_id']): Promise<boolean> => { const client = getActiveClient(); client.log('invitation/rejectInvitation', invitationId); const { data } = await client.http.post<{ success: boolean }>( `/api/v1/invitations/${invitationId}/reject`, ); const invitation = pullFromCache<Amity.InternalInvitation>([ 'invitation', 'get', invitationId, ])?.data; if (invitation) { upsertInCache(['invitation', 'get', invitationId], { status: InvitationStatusEnum.Rejected }); fireEvent('local.invitation.updated', [invitation]); } return data.success; }; /* end_public_function */