Implements Spec 084 (verification-surfaces-unification). Highlights - Unifies tenant + onboarding verification start on `provider.connection.check` (OperationRun-based, enqueue-only). - Ensures completed blocked runs persist a schema-valid `context.verification_report` stub (DB-only viewers never show “unavailable”). - Adds tenant embedded verification report widget with DB-only rendering + canonical tenantless “View run” links. - Enforces 404/403 semantics for tenantless run viewing (workspace membership + tenant entitlement required; otherwise 404). - Fixes admin panel widgets to resolve tenant from record context so Owners can start verification and recent operations renders correctly. Tests - Ran: `vendor/bin/sail artisan test --compact tests/Feature/Verification/ tests/Feature/ProviderConnections/ProviderOperationBlockedGuidanceSpec081Test.php tests/Feature/Onboarding/OnboardingVerificationTest.php tests/Feature/RunAuthorizationTenantIsolationTest.php tests/Feature/Filament/TenantVerificationReportWidgetTest.php tests/Feature/Filament/RecentOperationsSummaryWidgetTest.php` Notes - Filament v5 / Livewire v4 compatible. - No new assets; no changes to provider registration. Co-authored-by: Ahmed Darrazi <ahmeddarrazi@MacBookPro.fritz.box> Reviewed-on: #102
41 lines
1.4 KiB
JSON
41 lines
1.4 KiB
JSON
{
|
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
"$id": "operation-run-context.provider-connection-check.schema.json",
|
|
"title": "OperationRun Context — provider.connection.check",
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"properties": {
|
|
"provider": { "type": "string", "minLength": 1 },
|
|
"module": { "type": "string", "minLength": 1 },
|
|
"provider_connection_id": { "type": "integer", "minimum": 1 },
|
|
"target_scope": {
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"properties": {
|
|
"entra_tenant_id": { "type": "string", "minLength": 1 },
|
|
"entra_tenant_name": { "type": "string", "minLength": 1 }
|
|
},
|
|
"required": ["entra_tenant_id"]
|
|
},
|
|
"reason_code": { "type": "string", "minLength": 1 },
|
|
"next_steps": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"additionalProperties": false,
|
|
"required": ["label", "url"],
|
|
"properties": {
|
|
"label": { "type": "string", "minLength": 1 },
|
|
"url": { "type": "string", "minLength": 1 }
|
|
}
|
|
}
|
|
},
|
|
"verification_report": {
|
|
"description": "Stored verification report document. For completed blocked runs, this MUST be present and schema-valid per verification-report.v1_5 schema.",
|
|
"type": "object",
|
|
"additionalProperties": true
|
|
}
|
|
},
|
|
"required": ["provider", "module", "target_scope"]
|
|
}
|