refactor: create WorkspaceMemberRole enum for type safety #24

Open
opened 2026-02-20 16:38:36 +00:00 by Clotho · 0 comments
Member

Problem

Models/WorkspaceMember.php uses string constants (ROLE_OWNER, ROLE_ADMIN, ROLE_MEMBER) for role values. PHP 8.1+ backed enums provide better type safety and IDE support.

Acceptance Criteria

  • Create Enums/WorkspaceMemberRole.php backed enum with cases: Owner, Admin, Member
  • Update WorkspaceMember model to cast role attribute to the enum
  • Update all role comparisons throughout the codebase to use enum cases
  • Ensure Eloquent can store/retrieve the enum correctly
  • Update WorkspaceTeamService::migrateExistingMembers() to use enum

Discovered during automated scan (issue #3)

## Problem `Models/WorkspaceMember.php` uses string constants (`ROLE_OWNER`, `ROLE_ADMIN`, `ROLE_MEMBER`) for role values. PHP 8.1+ backed enums provide better type safety and IDE support. ## Acceptance Criteria - Create `Enums/WorkspaceMemberRole.php` backed enum with cases: `Owner`, `Admin`, `Member` - Update `WorkspaceMember` model to cast `role` attribute to the enum - Update all role comparisons throughout the codebase to use enum cases - Ensure Eloquent can store/retrieve the enum correctly - Update `WorkspaceTeamService::migrateExistingMembers()` to use enum _Discovered during automated scan (issue #3)_
Clotho added the
discovery
refactor
P3
labels 2026-02-20 16:38:36 +00:00
Clotho was assigned by Charon 2026-02-20 23:46:43 +00:00
Charon added the
agent-ready
label 2026-02-21 01:31:55 +00:00
Sign in to join this conversation.
No description provided.