TenantAtlas/specs/089-provider-connections-tenantless-ui/quickstart.md
ahmido fb4de17c63 feat(spec-089): provider connections tenantless UI (#107)
Implements Spec 089: moves Provider Connections to canonical tenantless route under `/admin/provider-connections`, enforces 404/403 semantics (workspace/tenant membership vs capability), adds tenant transparency (tenant column + filter + deep links), adds legacy redirects for old tenant-scoped URLs without leaking Location for 404 cases, and adds regression test coverage (RBAC semantics, filters, UI enforcement tooltips, Microsoft-only MVP scope, navigation placement).

Notes:
- Filament v5 / Livewire v4 compatible.
- Global search remains disabled for Provider Connections.
- Destructive/manage actions require confirmation and are policy-gated.

Tests:
- `vendor/bin/sail artisan test --compact tests/Feature/ProviderConnections`

Co-authored-by: Ahmed Darrazi <ahmed.darrazi@live.de>
Reviewed-on: #107
2026-02-12 16:35:13 +00:00

38 lines
1.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Quickstart — Spec 089 (Provider Connections tenantless UI)
## Prereqs
- Docker + Docker Compose
- Laravel Sail (project standard)
## Run locally
- Start services: `vendor/bin/sail up -d`
- Run migrations (if needed): `vendor/bin/sail artisan migrate`
- Run dev assets (if youre checking UI): `vendor/bin/sail npm run dev`
## Key routes
- Canonical list: `/admin/provider-connections`
- Optional filter: `/admin/provider-connections?tenant_id=<tenant-external-id>`
- Legacy redirect (must remain ≥2 releases): `/admin/tenants/<tenant-external-id>/provider-connections` → canonical
## Run targeted tests
- Full suite (compact): `vendor/bin/sail artisan test --compact`
Suggested focused tests (adjust once implementation lands):
- `vendor/bin/sail artisan test --compact tests/Unit/Filament/ProviderConnectionResourceLivewireTenantInferenceTest.php`
- `vendor/bin/sail artisan test --compact tests/Unit/Policies/ProviderConnectionPolicyTenantResolutionTest.php`
## Formatting
- `vendor/bin/sail bin pint --dirty`
## Notes
- Non-workspace members must get 404.
- Non-tenant members must get 404 for direct record access.
- Tenant members missing capabilities must get 403.
- Global search must not expose Provider Connections.