feat: add workspace ownership transfer #82
Open
Charon
wants to merge 1 commit from
feat/workspace-ownership-transfer into dev
pull from: feat/workspace-ownership-transfer
merge into: core:dev
core:dev
core:feat/test-workspace-controller
core:feat/ide-helper-annotations
core:feat/test-namespace-service
core:feat/artisan-provision-command
core:feat/workspace-activity-audit-log
core:feat/bulk-workspace-invitations
core:feat/openapi-docs
core:feat/add-infection-mutation-testing
core:feat/fix-readme-namespaces
core:feat/test-entitlement-webhook-service
core:feat/invitation-and-role-improvements
core:feat/workspace-lazy-loading
core:feat/invitation-soft-deletes
core:feat/totp-edge-case-tests
core:feat/standardise-error-responses
core:feat/entitlement-exception-hierarchy
core:feat/consolidate-user-relationships-v2
core:feat/clarify-workspace-scope-architecture
core:feat/validate-invitation-token-format
core:feat/constrain-feature-code-fk
core:feat/fix-usage-race-condition
core:feat/fix-token-timing-attack
core:feat/add-workspace-role-index
core:feat/add-phpstan-larastan
core:feat/complete-user-stats-stubs
core:feat/fix-namespace-n-plus-1
core:feat/fix-parent-feature-cascade
core:feat/namespace-cascade-delete
core:feat/pin-core-dependency
core:feat/remove-hardcoded-domain
core:feat/test-workspace-team-service
core:feat/workspace-return-types
core:main
1 commit
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
a07bfb3fd2
|
feat: add workspace ownership transfer
Add transferOwnership() method to the Workspace model that allows the current owner to transfer ownership to another existing workspace member. The method: - Verifies the new owner is an existing member - Demotes the current owner to admin role - Promotes the new owner to owner role - Updates team assignments when teams are in use - Wraps the role changes in a DB transaction - Dispatches WorkspaceOwnershipTransferred event - Throws WorkspaceOwnershipException for auth/validation failures New files: - Events/WorkspaceOwnershipTransferred.php - Exceptions/WorkspaceOwnershipException.php - tests/Feature/WorkspaceOwnershipTransferTest.php Fixes #35 Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> |