| 638 | } |
| 639 | |
| 640 | export async function listInvitationsForWorkspaces(workspaceIds: string[]) { |
| 641 | if (workspaceIds.length === 0) return [] |
| 642 | return db |
| 643 | .select({ |
| 644 | id: invitation.id, |
| 645 | kind: invitation.kind, |
| 646 | email: invitation.email, |
| 647 | token: invitation.token, |
| 648 | status: invitation.status, |
| 649 | expiresAt: invitation.expiresAt, |
| 650 | createdAt: invitation.createdAt, |
| 651 | updatedAt: invitation.updatedAt, |
| 652 | organizationId: invitation.organizationId, |
| 653 | membershipIntent: invitation.membershipIntent, |
| 654 | inviterId: invitation.inviterId, |
| 655 | workspaceId: invitationWorkspaceGrant.workspaceId, |
| 656 | permission: invitationWorkspaceGrant.permission, |
| 657 | }) |
| 658 | .from(invitationWorkspaceGrant) |
| 659 | .innerJoin(invitation, eq(invitation.id, invitationWorkspaceGrant.invitationId)) |
| 660 | .where(inArray(invitationWorkspaceGrant.workspaceId, workspaceIds)) |
| 661 | } |