feat: add bulk workspace invitation support #78
No reviewers
Labels
No labels
P1
P2
P3
PHP
agent-ready
bug
clotho
discovery
docs
epic
refactor
review
security
testing
athena
athena-gemini
audit
clotho
clotho-gemini
codex
darbs-claude
security
wiki
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference: core/php-tenant#78
Loading…
Add table
Reference in a new issue
No description provided.
Delete branch "feat/bulk-workspace-invitations"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
Workspace::inviteMany(array $emails, string $role, ?User $invitedBy, int $expiresInDays)method for sending multiple invitations in one callalready_memberstatus)invite()method per email, inheriting re-send/update behaviour for pending invitationsCollectionof result arrays withemail,status, andinvitationkeysFixes #36
Test plan
test_invite_many_sends_multiple_invitations— verifies 3 emails produce 3 invitations and 3 notificationstest_invite_many_skips_existing_members— verifies existing workspace members are skippedtest_invite_many_deduplicates_emails— verifies case-insensitive and whitespace deduplicationtest_invite_many_with_empty_array— verifies empty input returns empty collection, no notifications senttest_invite_many_assigns_correct_role— verifies the role parameter is passed throughtest_invite_many_handles_resend_for_pending_invitations— verifies re-inviting a pending email updates the roletest_invite_many_skips_existing_member_case_insensitive— verifies case-insensitive member matching🤖 Generated with Claude Code
View command line instructions
Checkout
From your project repository, check out a new branch and test the changes.Merge
Merge the changes and update on Forgejo.Warning: The "Autodetect manual merge" setting is not enabled for this repository, you will have to mark this pull request as manually merged afterwards.