Extract named list schemas for wrapper payloads for the OpenAPI specification in the library target.

This commit is contained in:
2026-07-26 02:09:21 +02:00
parent 64117bea5c
commit 630409e2aa
2 changed files with 36 additions and 20 deletions
@@ -152,7 +152,7 @@ private extension AmiiboLiveClient {
switch output.amiibo {
case let .Amiibo(object):
return [Amiibo(object)]
case let .case2(list):
case let .AmiiboList(list):
return list
.map { Amiibo($0) }
.sorted { $0.identifier < $1.identifier }
@@ -192,7 +192,7 @@ private extension AmiiboLiveClient {
switch output.amiibo {
case let .AmiiboSeries(payload):
return makeModels(from: [payload])
case let .case2(list):
case let .AmiiboSeriesList(list):
return makeModels(from: list)
}
}
@@ -228,7 +228,7 @@ private extension AmiiboLiveClient {
switch output.amiibo {
case let .AmiiboType(payload):
return makeModels(from: [payload])
case let .case2(list):
case let .AmiiboTypeList(list):
return makeModels(from: list)
}
}
@@ -264,7 +264,7 @@ private extension AmiiboLiveClient {
switch output.amiibo {
case let .GameCharacter(payload):
return makeModels(from: [payload])
case let .case2(list):
case let .GameCharacterList(list):
return makeModels(from: list)
}
}
@@ -300,7 +300,7 @@ private extension AmiiboLiveClient {
switch output.amiibo {
case let .GameSeries(payload):
return makeModels(from: [payload])
case let .case2(list):
case let .GameSeriesList(list):
return makeModels(from: list)
}
}
+31 -15
View File
@@ -520,6 +520,32 @@ components:
format: date-time
required:
- lastUpdated
# List Entities
AmiiboList:
description: A list that contains amiibos.
type: array
items:
$ref: '#/components/schemas/Amiibo'
AmiiboSeriesList:
description: A list that contains amiibo series.
type: array
items:
$ref: '#/components/schemas/AmiiboSeries'
AmiiboTypeList:
description: A list that contains amiibo types.
type: array
items:
$ref: '#/components/schemas/AmiiboType'
GameCharacterList:
description: A list that contains game characters.
type: array
items:
$ref: '#/components/schemas/GameCharacter'
GameSeriesList:
description: A list that contains game series.
type: array
items:
$ref: '#/components/schemas/GameSeries'
# Wrapper Entities
AmiiboWrapper:
description: A response wrapper that contains zero, one, or more amiibos.
@@ -530,10 +556,8 @@ components:
oneOf:
- $ref: '#/components/schemas/Amiibo'
description: A certain amiibo.
- type: array
- $ref: '#/components/schemas/AmiiboList'
description: A list that contains amiibos.
items:
$ref: '#/components/schemas/Amiibo'
AmiiboSeriesWrapper:
description: A response wrapper that contains one or more amiibo series.
type: object
@@ -543,10 +567,8 @@ components:
oneOf:
- $ref: '#/components/schemas/AmiiboSeries'
description: A certain amiibo series.
- type: array
- $ref: '#/components/schemas/AmiiboSeriesList'
description: A list that contains amiibo series.
items:
$ref: '#/components/schemas/AmiiboSeries'
required:
- amiibo
AmiiboTypeWrapper:
@@ -558,10 +580,8 @@ components:
oneOf:
- $ref: '#/components/schemas/AmiiboType'
description: A certain amiibo type.
- type: array
- $ref: '#/components/schemas/AmiiboTypeList'
description: A list that contains amiibo types.
items:
$ref: '#/components/schemas/AmiiboType'
required:
- amiibo
GameCharacterWrapper:
@@ -573,10 +593,8 @@ components:
oneOf:
- $ref: '#/components/schemas/GameCharacter'
description: A certain game character.
- type: array
- $ref: '#/components/schemas/GameCharacterList'
description: A list that contains game characters.
items:
$ref: '#/components/schemas/GameCharacter'
required:
- amiibo
GameSeriesWrapper:
@@ -588,10 +606,8 @@ components:
oneOf:
- $ref: '#/components/schemas/GameSeries'
description: A certain game series.
- type: array
- $ref: '#/components/schemas/GameSeriesList'
description: A list that contains game series.
items:
$ref: '#/components/schemas/GameSeries'
required:
- amiibo
# Error Entities