diff --git a/apps/console/app/routes/__layout/groups/$groupID/index.tsx b/apps/console/app/routes/__layout/groups/$groupID/index.tsx index 27ed0546ff..73db86c707 100644 --- a/apps/console/app/routes/__layout/groups/$groupID/index.tsx +++ b/apps/console/app/routes/__layout/groups/$groupID/index.tsx @@ -601,8 +601,9 @@ export default () => { title="Add Group Member" subtitle="Invite Members to the Group" onClick={ - group.members.length + invitations.length < - IDENTITY_GROUP_OPTIONS.maxFreeMembers + group.members.length + invitations.length <= + IDENTITY_GROUP_OPTIONS.maxFreeMembers + + (groupSeats.total - groupSeats.used) ? () => setInviteModalOpen(true) : undefined } @@ -780,7 +781,8 @@ export default () => { - {group.members.length}/{IDENTITY_GROUP_OPTIONS.maxFreeMembers} + {group.members.length}/ + {IDENTITY_GROUP_OPTIONS.maxFreeMembers + groupSeats.total} diff --git a/platform/identity/src/jsonrpc/methods/identity-groups/inviteIdentityGroupMember.ts b/platform/identity/src/jsonrpc/methods/identity-groups/inviteIdentityGroupMember.ts index af5339ddb2..58364dbb11 100644 --- a/platform/identity/src/jsonrpc/methods/identity-groups/inviteIdentityGroupMember.ts +++ b/platform/identity/src/jsonrpc/methods/identity-groups/inviteIdentityGroupMember.ts @@ -77,6 +77,8 @@ export const inviteIdentityGroupMember = async ({ const invitations = await node.class.getInvitations() const invitationCount = invitations.length + const seats = await node.class.getSeats() + const { edges: groupMembershipEdges } = await caller.edges.getEdges({ query: { tag: EDGE_MEMBER_OF_IDENTITY_GROUP, @@ -88,7 +90,7 @@ export const inviteIdentityGroupMember = async ({ if ( invitationCount + groupMembershipEdges.length > - IDENTITY_GROUP_OPTIONS.maxFreeMembers + IDENTITY_GROUP_OPTIONS.maxFreeMembers + (seats?.quantity ?? 0) ) { throw new BadRequestError({ message: 'Max members reached',