From 630409e2aad1d1706a187b6ebc931110b875e7b8 Mon Sep 17 00:00:00 2001 From: Javier Cicchelli Date: Sun, 26 Jul 2026 02:09:21 +0200 Subject: [PATCH] Extract named list schemas for wrapper payloads for the OpenAPI specification in the library target. --- .../Public/Clients/AmiiboLiveClient.swift | 10 ++-- Sources/AmiiboService/openapi.yaml | 46 +++++++++++++------ 2 files changed, 36 insertions(+), 20 deletions(-) diff --git a/Sources/AmiiboService/Public/Clients/AmiiboLiveClient.swift b/Sources/AmiiboService/Public/Clients/AmiiboLiveClient.swift index b26627f..004ccd0 100644 --- a/Sources/AmiiboService/Public/Clients/AmiiboLiveClient.swift +++ b/Sources/AmiiboService/Public/Clients/AmiiboLiveClient.swift @@ -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) } } diff --git a/Sources/AmiiboService/openapi.yaml b/Sources/AmiiboService/openapi.yaml index 9b04f34..6a28d28 100644 --- a/Sources/AmiiboService/openapi.yaml +++ b/Sources/AmiiboService/openapi.yaml @@ -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