122 lines
2.8 KiB
YAML
122 lines
2.8 KiB
YAML
openapi: 3.1.0
|
|
info:
|
|
title: Shared Diff Presentation Foundation Contract
|
|
version: 0.1.0
|
|
description: >-
|
|
Internal presentation contract for Spec 141. This feature introduces no new HTTP
|
|
routes. The component schemas document the supported input and output shapes for the
|
|
shared diff presenter and Blade partials so follow-up consumer specs can adopt the
|
|
foundation consistently.
|
|
paths: {}
|
|
components:
|
|
schemas:
|
|
StructuredCompareInput:
|
|
type: object
|
|
additionalProperties: false
|
|
properties:
|
|
baseline:
|
|
type: object
|
|
additionalProperties: true
|
|
current:
|
|
type: object
|
|
additionalProperties: true
|
|
changedKeys:
|
|
type: array
|
|
items:
|
|
type: string
|
|
labels:
|
|
type: object
|
|
additionalProperties:
|
|
type: string
|
|
meta:
|
|
type: object
|
|
additionalProperties:
|
|
type: object
|
|
additionalProperties: true
|
|
required:
|
|
- baseline
|
|
- current
|
|
DiffRowStatus:
|
|
type: string
|
|
enum:
|
|
- unchanged
|
|
- changed
|
|
- added
|
|
- removed
|
|
DiffRow:
|
|
type: object
|
|
additionalProperties: false
|
|
properties:
|
|
key:
|
|
type: string
|
|
label:
|
|
type: string
|
|
status:
|
|
$ref: '#/components/schemas/DiffRowStatus'
|
|
oldValue:
|
|
nullable: true
|
|
newValue:
|
|
nullable: true
|
|
isListLike:
|
|
type: boolean
|
|
addedItems:
|
|
type: array
|
|
items: {}
|
|
removedItems:
|
|
type: array
|
|
items: {}
|
|
unchangedItems:
|
|
type: array
|
|
items: {}
|
|
meta:
|
|
type: object
|
|
additionalProperties: true
|
|
required:
|
|
- key
|
|
- label
|
|
- status
|
|
- isListLike
|
|
- addedItems
|
|
- removedItems
|
|
- unchangedItems
|
|
- meta
|
|
DiffSummary:
|
|
type: object
|
|
additionalProperties: false
|
|
properties:
|
|
changedCount:
|
|
type: integer
|
|
minimum: 0
|
|
addedCount:
|
|
type: integer
|
|
minimum: 0
|
|
removedCount:
|
|
type: integer
|
|
minimum: 0
|
|
unchangedCount:
|
|
type: integer
|
|
minimum: 0
|
|
hasRows:
|
|
type: boolean
|
|
message:
|
|
type: string
|
|
nullable: true
|
|
required:
|
|
- changedCount
|
|
- addedCount
|
|
- removedCount
|
|
- unchangedCount
|
|
- hasRows
|
|
DiffPresentation:
|
|
type: object
|
|
additionalProperties: false
|
|
properties:
|
|
summary:
|
|
$ref: '#/components/schemas/DiffSummary'
|
|
rows:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/DiffRow'
|
|
required:
|
|
- summary
|
|
- rows |