fix: prevent null workspace_id in tenant_permissions #116

Merged
ahmido merged 1 commits from fix/tenant-permissions-workspace-id-session-1771192503 into dev 2026-02-15 21:56:38 +00:00
Owner

Adds workspace_id to the TenantPermission::updateOrCreate(...) payload and gates persistence when $tenant->workspace_id is null: TenantPermissionService.php
Updates/extends tests so this is covered:
Persists with workspace even if events are disabled
Does not persist at all when tenant workspace is missing
TenantPermissionServiceTest.php

Summary

Spec-Driven Development (SDD)

  • Es gibt eine Spec unter specs/<NNN>-<feature>/
  • Enthaltene Dateien: plan.md, tasks.md, spec.md
  • Spec beschreibt Verhalten/Acceptance Criteria (nicht nur Implementation)
  • Wenn sich Anforderungen während der Umsetzung geändert haben: Spec/Plan/Tasks wurden aktualisiert

Implementation

  • Implementierung entspricht der Spec
  • Edge cases / Fehlerfälle berücksichtigt
  • Keine unbeabsichtigten Änderungen außerhalb des Scopes

Tests

  • Tests ergänzt/aktualisiert (Pest/PHPUnit)
  • Relevante Tests lokal ausgeführt (./vendor/bin/sail artisan test oder php artisan test)

Migration / Config / Ops (falls relevant)

  • Migration(en) enthalten und getestet
  • Rollback bedacht (rückwärts kompatibel, sichere Migration)
  • Neue Env Vars dokumentiert (.env.example / Doku)
  • Queue/cron/storage Auswirkungen geprüft

UI (Filament/Livewire) (falls relevant)

  • UI-Flows geprüft
  • Screenshots/Notizen hinzugefügt

Notes

Adds workspace_id to the TenantPermission::updateOrCreate(...) payload and gates persistence when $tenant->workspace_id is null: TenantPermissionService.php Updates/extends tests so this is covered: Persists with workspace even if events are disabled Does not persist at all when tenant workspace is missing TenantPermissionServiceTest.php ## Summary <!-- Kurz: Was ändert sich und warum? --> ## Spec-Driven Development (SDD) - [ ] Es gibt eine Spec unter `specs/<NNN>-<feature>/` - [ ] Enthaltene Dateien: `plan.md`, `tasks.md`, `spec.md` - [ ] Spec beschreibt Verhalten/Acceptance Criteria (nicht nur Implementation) - [ ] Wenn sich Anforderungen während der Umsetzung geändert haben: Spec/Plan/Tasks wurden aktualisiert ## Implementation - [ ] Implementierung entspricht der Spec - [ ] Edge cases / Fehlerfälle berücksichtigt - [ ] Keine unbeabsichtigten Änderungen außerhalb des Scopes ## Tests - [ ] Tests ergänzt/aktualisiert (Pest/PHPUnit) - [ ] Relevante Tests lokal ausgeführt (`./vendor/bin/sail artisan test` oder `php artisan test`) ## Migration / Config / Ops (falls relevant) - [ ] Migration(en) enthalten und getestet - [ ] Rollback bedacht (rückwärts kompatibel, sichere Migration) - [ ] Neue Env Vars dokumentiert (`.env.example` / Doku) - [ ] Queue/cron/storage Auswirkungen geprüft ## UI (Filament/Livewire) (falls relevant) - [ ] UI-Flows geprüft - [ ] Screenshots/Notizen hinzugefügt ## Notes <!-- Links, Screenshots, Follow-ups, offene Punkte -->
ahmido added 1 commit 2026-02-15 21:56:29 +00:00
ahmido merged commit 9d0c884251 into dev 2026-02-15 21:56:38 +00:00
Sign in to join this conversation.
No reviewers
No Label
No Milestone
No project
No Assignees
1 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: ahmido/TenantAtlas#116
No description provided.