Implement PermissionCheckMiddleware and AliveCheckMiddleware #106

Open
opened 2026-03-15 04:13:16 +00:00 by freemo · 0 comments
Owner

Metadata

  • Commit Message: feat(dispatch): add permission and alive check middleware
  • Branch: feature/m1-middleware-pipeline

Background and Context

PermissionCheckMiddleware (priority 10) verifies the player has the required privilege
level. AliveCheckMiddleware (priority 20) ensures the player is alive for actions that
require it. Both halt the pipeline if their checks fail.

Expected Behavior

  • PermissionCheck reads action.class.min_permission and compares to player's level
  • AliveCheck reads action.class.requires_alive? and checks player.alive
  • Both send descriptive error messages to the player on failure

Acceptance Criteria

  • PermissionCheckMiddleware at priority 10
  • AliveCheckMiddleware at priority 20
  • Both halt the pipeline on failure with player-facing messages
  • BDD scenarios for permitted/denied and alive/dead cases

Subtasks

  • Implement PermissionCheckMiddleware
  • Implement AliveCheckMiddleware
  • Write Cucumber scenarios for both

Definition of Done

This issue is complete when:

  • All subtasks above are completed and checked off.
  • A Git commit is created where the first line of the commit message matches the
    Commit Message in Metadata exactly.
  • The commit is pushed to the remote on the branch matching the Branch in Metadata.
  • The commit is submitted as a pull request to master, reviewed, and merged.
## Metadata - **Commit Message**: `feat(dispatch): add permission and alive check middleware` - **Branch**: `feature/m1-middleware-pipeline` ## Background and Context PermissionCheckMiddleware (priority 10) verifies the player has the required privilege level. AliveCheckMiddleware (priority 20) ensures the player is alive for actions that require it. Both halt the pipeline if their checks fail. ## Expected Behavior - PermissionCheck reads `action.class.min_permission` and compares to player's level - AliveCheck reads `action.class.requires_alive?` and checks `player.alive` - Both send descriptive error messages to the player on failure ## Acceptance Criteria - PermissionCheckMiddleware at priority 10 - AliveCheckMiddleware at priority 20 - Both halt the pipeline on failure with player-facing messages - BDD scenarios for permitted/denied and alive/dead cases ## Subtasks - [ ] Implement PermissionCheckMiddleware - [ ] Implement AliveCheckMiddleware - [ ] Write Cucumber scenarios for both ## Definition of Done This issue is complete when: - All subtasks above are completed and checked off. - A Git commit is created where the **first line** of the commit message matches the Commit Message in Metadata exactly. - The commit is pushed to the remote on the branch matching the **Branch** in Metadata. - The commit is submitted as a **pull request** to `master`, reviewed, and **merged**.
freemo added this to the (deleted) milestone 2026-03-15 04:13:16 +00:00
freemo self-assigned this 2026-03-15 04:25:24 +00:00
freemo modified the milestone from (deleted) to v1.0.0 2026-03-16 00:28:04 +00:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Reference: aethyr/Aethyr#106
No description provided.