diff --git a/keyserver/src/responders/link-responders.js b/keyserver/src/responders/link-responders.js index 025149446..eb8286975 100644 --- a/keyserver/src/responders/link-responders.js +++ b/keyserver/src/responders/link-responders.js @@ -1,79 +1,79 @@ // @flow import t, { type TInterface } from 'tcomb'; import { type InviteLinkVerificationRequest, type InviteLinkVerificationResponse, type FetchInviteLinksResponse, type InviteLink, type CreateOrUpdatePublicLinkRequest, type DisableInviteLinkRequest, type InviteLinkWithHolder, } from 'lib/types/link-types.js'; import { tShape, tID } from 'lib/utils/validation-utils.js'; import { createOrUpdatePublicLink } from '../creators/invite-link-creator.js'; import { deleteInviteLink } from '../deleters/link-deleters.js'; import { fetchPrimaryInviteLinks, verifyInviteLink, } from '../fetchers/link-fetchers.js'; import { Viewer } from '../session/viewer.js'; export const inviteLinkVerificationRequestInputValidator: TInterface = tShape({ secret: t.String, }); async function inviteLinkVerificationResponder( viewer: Viewer, request: InviteLinkVerificationRequest, ): Promise { return await verifyInviteLink(viewer, request); } async function fetchPrimaryInviteLinksResponder( viewer: Viewer, ): Promise { const primaryLinks = await fetchPrimaryInviteLinks(viewer); return { - links: primaryLinks.map( - ({ blobHolder, ...rest }: InviteLinkWithHolder) => rest, - ), + links: primaryLinks + .filter(link => !link.threadID) + .map(({ blobHolder, ...rest }: InviteLinkWithHolder) => rest), }; } export const createOrUpdatePublicLinkInputValidator: TInterface = tShape({ name: t.String, communityID: tID, threadID: t.maybe(tID), }); async function createOrUpdatePublicLinkResponder( viewer: Viewer, request: CreateOrUpdatePublicLinkRequest, ): Promise { return await createOrUpdatePublicLink(viewer, request); } export const disableInviteLinkInputValidator: TInterface = tShape({ name: t.String, communityID: tID, }); async function disableInviteLinkResponder( viewer: Viewer, request: DisableInviteLinkRequest, ): Promise { await deleteInviteLink(viewer, request); } export { inviteLinkVerificationResponder, fetchPrimaryInviteLinksResponder, createOrUpdatePublicLinkResponder, disableInviteLinkResponder, };