128 lines
3.5 KiB
YAML
128 lines
3.5 KiB
YAML
openapi: 3.1.0
|
|
info:
|
|
title: Tenant Lifecycle Presentation Contract
|
|
version: 0.1.0
|
|
description: >-
|
|
Internal presentation contract for rendering tenant lifecycle consistently across
|
|
tenant management surfaces and canonical viewers. This feature introduces no new
|
|
external HTTP endpoints; the contract is expressed as shared schemas for UI-facing
|
|
presentation objects.
|
|
paths: {}
|
|
components:
|
|
schemas:
|
|
TenantLifecycleValue:
|
|
type: string
|
|
enum:
|
|
- draft
|
|
- onboarding
|
|
- active
|
|
- archived
|
|
description: Canonical tenant lifecycle values defined by the tenant domain.
|
|
TenantLifecycleBadge:
|
|
type: object
|
|
additionalProperties: false
|
|
required:
|
|
- color
|
|
- icon
|
|
properties:
|
|
color:
|
|
type: string
|
|
description: Shared badge or chip tone token.
|
|
icon:
|
|
type: string
|
|
description: Shared icon token for lifecycle rendering.
|
|
iconColor:
|
|
type:
|
|
- string
|
|
- 'null'
|
|
description: Optional icon color override.
|
|
TenantLifecyclePresentation:
|
|
type: object
|
|
additionalProperties: false
|
|
required:
|
|
- value
|
|
- label
|
|
- badge
|
|
- shortDescription
|
|
- longDescription
|
|
- isInvalidFallback
|
|
properties:
|
|
value:
|
|
$ref: '#/components/schemas/TenantLifecycleValue'
|
|
label:
|
|
type: string
|
|
enum:
|
|
- Draft
|
|
- Onboarding
|
|
- Active
|
|
- Archived
|
|
badge:
|
|
$ref: '#/components/schemas/TenantLifecycleBadge'
|
|
shortDescription:
|
|
type: string
|
|
description: Concise explanation for detail, selector, or viewer surfaces.
|
|
longDescription:
|
|
type: string
|
|
description: Detailed helper text for infolists, banners, or canonical viewers.
|
|
isInvalidFallback:
|
|
type: boolean
|
|
description: Reserved for corrupted or unexpected non-canonical values only.
|
|
TenantLifecyclePresentationVariant:
|
|
type: object
|
|
additionalProperties: false
|
|
required:
|
|
- surface
|
|
- showBadge
|
|
- showShortDescription
|
|
- showLongDescription
|
|
properties:
|
|
surface:
|
|
type: string
|
|
enum:
|
|
- table
|
|
- detail
|
|
- selector
|
|
- canonical_viewer
|
|
- banner
|
|
showBadge:
|
|
type: boolean
|
|
showShortDescription:
|
|
type: boolean
|
|
showLongDescription:
|
|
type: boolean
|
|
contextNote:
|
|
type:
|
|
- string
|
|
- 'null'
|
|
description: Optional surface-specific note that does not change lifecycle meaning.
|
|
ReferencedTenantLifecyclePresentation:
|
|
type: object
|
|
additionalProperties: false
|
|
required:
|
|
- tenantId
|
|
- tenantName
|
|
- presentation
|
|
- viewerContext
|
|
properties:
|
|
tenantId:
|
|
type:
|
|
- integer
|
|
- 'null'
|
|
tenantName:
|
|
type:
|
|
- string
|
|
- 'null'
|
|
presentation:
|
|
$ref: '#/components/schemas/TenantLifecyclePresentation'
|
|
viewerContext:
|
|
type: string
|
|
enum:
|
|
- operation_run
|
|
- report
|
|
- audit_reference
|
|
contextNote:
|
|
type:
|
|
- string
|
|
- 'null'
|
|
description: Optional explanatory copy for onboarding or archived references.
|