Implements Spec 092 legacy purge. Key changes: - Remove legacy Inventory landing page + view; link Inventory entry directly to Inventory Items. - Update Drift landing copy to "operation runs"; remove URL heuristic from context bar. - Remove legacy redirect shim route and assert 404 for old bookmarks. - Staged job payload change: remove legacy ctor arg; keep legacy field for deserialization compatibility; new payload omits field. - Remove legacy notification artifact. - Remove legacy test shim + update tests; strengthen guard suite with scoped exception for job compat field. - Add spec/plan/tasks/checklist artifacts under specs/092-legacy-purge-final. Tests: - Focused Pest suite for guards, legacy routes, redirect behavior, job compatibility, drift copy. - Pint run: `vendor/bin/sail bin pint --dirty`. Notes: - Deploy B final removal of `backupScheduleRunId` should occur only after the compatibility window defined in the spec. Co-authored-by: Ahmed Darrazi <ahmed.darrazi@live.de> Reviewed-on: #110
110 lines
2.6 KiB
YAML
110 lines
2.6 KiB
YAML
openapi: 3.0.3
|
|
info:
|
|
title: TenantPilot Legacy Routes (Spec 092)
|
|
version: 1.0.0
|
|
description: |
|
|
This contract documents deterministic HTTP semantics for removed legacy endpoints.
|
|
All listed endpoints MUST return 404 Not Found and MUST NOT redirect.
|
|
|
|
servers:
|
|
- url: /
|
|
|
|
paths:
|
|
/admin/t/{tenantExternalId}/operations:
|
|
get:
|
|
summary: Legacy tenant-scoped Operations list (removed)
|
|
parameters:
|
|
- name: tenantExternalId
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
responses:
|
|
'404':
|
|
description: Not Found
|
|
|
|
/admin/t/{tenantExternalId}/inventory-sync-runs:
|
|
get:
|
|
summary: Legacy inventory sync runs list (removed)
|
|
parameters:
|
|
- name: tenantExternalId
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
responses:
|
|
'404':
|
|
description: Not Found
|
|
|
|
/admin/t/{tenantExternalId}/inventory-sync-runs/{id}:
|
|
get:
|
|
summary: Legacy inventory sync run detail (removed)
|
|
parameters:
|
|
- name: tenantExternalId
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
- name: id
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: integer
|
|
responses:
|
|
'404':
|
|
description: Not Found
|
|
|
|
/admin/t/{tenantExternalId}/entra-group-sync-runs:
|
|
get:
|
|
summary: Legacy Entra group sync runs list (removed)
|
|
parameters:
|
|
- name: tenantExternalId
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
responses:
|
|
'404':
|
|
description: Not Found
|
|
|
|
/admin/t/{tenantExternalId}/entra-group-sync-runs/{id}:
|
|
get:
|
|
summary: Legacy Entra group sync run detail (removed)
|
|
parameters:
|
|
- name: tenantExternalId
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
- name: id
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: integer
|
|
responses:
|
|
'404':
|
|
description: Not Found
|
|
|
|
/admin/t/{tenantExternalId}/backup-schedules/{scheduleId}/runs/{runId}:
|
|
get:
|
|
summary: Legacy backup schedule run detail (removed)
|
|
parameters:
|
|
- name: tenantExternalId
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
- name: scheduleId
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: integer
|
|
- name: runId
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: integer
|
|
responses:
|
|
'404':
|
|
description: Not Found
|