diff --git a/apps/remix/app/components/dialogs/organisation-member-invite-dialog.tsx b/apps/remix/app/components/dialogs/organisation-member-invite-dialog.tsx index adcb65ab8..acc52ca08 100644 --- a/apps/remix/app/components/dialogs/organisation-member-invite-dialog.tsx +++ b/apps/remix/app/components/dialogs/organisation-member-invite-dialog.tsx @@ -185,6 +185,10 @@ export const OrganisationMemberInviteDialog = ({ return 'form'; } + if (fullOrganisation.members.length < fullOrganisation.organisationClaim.memberCount) { + return 'form'; + } + // This is probably going to screw us over in the future. if (fullOrganisation.organisationClaim.originalSubscriptionClaimId !== INTERNAL_CLAIM_ID.TEAM) { return 'alert'; diff --git a/packages/trpc/server/organisation-router/get-organisation.ts b/packages/trpc/server/organisation-router/get-organisation.ts index da8b0df6c..23e6d0728 100644 --- a/packages/trpc/server/organisation-router/get-organisation.ts +++ b/packages/trpc/server/organisation-router/get-organisation.ts @@ -52,6 +52,11 @@ export const getOrganisation = async ({ organisationGlobalSettings: true, subscription: true, organisationClaim: true, + members: { + select: { + id: true, + }, + }, teams: { where: { teamGroups: { diff --git a/packages/trpc/server/organisation-router/get-organisation.types.ts b/packages/trpc/server/organisation-router/get-organisation.types.ts index 39df51b3d..77ba62bcf 100644 --- a/packages/trpc/server/organisation-router/get-organisation.types.ts +++ b/packages/trpc/server/organisation-router/get-organisation.types.ts @@ -3,6 +3,7 @@ import { z } from 'zod'; import { ZOrganisationSchema } from '@documenso/lib/types/organisation'; import OrganisationClaimSchema from '@documenso/prisma/generated/zod/modelSchema/OrganisationClaimSchema'; import OrganisationGlobalSettingsSchema from '@documenso/prisma/generated/zod/modelSchema/OrganisationGlobalSettingsSchema'; +import OrganisationMemberSchema from '@documenso/prisma/generated/zod/modelSchema/OrganisationMemberSchema'; import SubscriptionSchema from '@documenso/prisma/generated/zod/modelSchema/SubscriptionSchema'; import TeamSchema from '@documenso/prisma/generated/zod/modelSchema/TeamSchema'; @@ -24,6 +25,11 @@ export const ZGetOrganisationResponseSchema = ZOrganisationSchema.extend({ organisationGlobalSettings: OrganisationGlobalSettingsSchema, organisationClaim: OrganisationClaimSchema, subscription: SubscriptionSchema.nullable(), + members: z.array( + OrganisationMemberSchema.pick({ + id: true, + }), + ), teams: z.array( TeamSchema.pick({ id: true,