Added the Rate Limiting headers (#7)

This PR contains the work done to define the `RateLimit`, `RateLimitRemaining` and the `RateLimitUsed` heades into the Open API specification document, as well as including these headers as part of the response for every existing endpoint declared in the mentioned document.

In addition, the `openapi-generator-config` files was also changed to have a different naming strategy.

Reviewed-on: #7
Co-authored-by: Javier Cicchelli <javier@rock-n-code.com>
Co-committed-by: Javier Cicchelli <javier@rock-n-code.com>
This commit was merged in pull request #7.
This commit is contained in:
2025-10-13 13:09:10 +00:00
committed by Javier Cicchelli
parent 791ebf4f78
commit d01b60e6dd
2457 changed files with 2215 additions and 1955 deletions
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -1 +1 @@
{"variants":[{"traits":[{"interfaceLanguage":"swift"}],"paths":["\/documentation\/discogsservice\/components\/responses\/unavailable\/body-swift.enum\/equatable-implementations"]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"kind":"article","sections":[],"identifier":{"interfaceLanguage":"swift","url":"doc:\/\/DiscogsService\/documentation\/DiscogsService\/Components\/Responses\/Unavailable\/Body-swift.enum\/Equatable-Implementations"},"hierarchy":{"paths":[["doc:\/\/DiscogsService\/documentation\/DiscogsService","doc:\/\/DiscogsService\/documentation\/DiscogsService\/Components","doc:\/\/DiscogsService\/documentation\/DiscogsService\/Components\/Responses","doc:\/\/DiscogsService\/documentation\/DiscogsService\/Components\/Responses\/Unavailable","doc:\/\/DiscogsService\/documentation\/DiscogsService\/Components\/Responses\/Unavailable\/Body-swift.enum"]]},"topicSections":[{"identifiers":["doc:\/\/DiscogsService\/documentation\/DiscogsService\/Components\/Responses\/Unavailable\/Body-swift.enum\/!=(_:_:)"],"generated":true,"title":"Operators","anchor":"Operators"}],"metadata":{"modules":[{"name":"DiscogsService"}],"roleHeading":"API Collection","title":"Equatable Implementations","role":"collectionGroup"},"references":{"doc://DiscogsService/documentation/DiscogsService":{"title":"DiscogsService","role":"collection","abstract":[],"kind":"symbol","type":"topic","identifier":"doc:\/\/DiscogsService\/documentation\/DiscogsService","url":"\/documentation\/discogsservice"},"doc://DiscogsService/documentation/DiscogsService/Components":{"role":"symbol","title":"Components","kind":"symbol","type":"topic","abstract":[{"type":"text","text":"Types generated from the components section of the OpenAPI document."}],"navigatorTitle":[{"kind":"identifier","text":"Components"}],"url":"\/documentation\/discogsservice\/components","identifier":"doc:\/\/DiscogsService\/documentation\/DiscogsService\/Components","fragments":[{"kind":"keyword","text":"enum"},{"text":" ","kind":"text"},{"kind":"identifier","text":"Components"}]},"doc://DiscogsService/documentation/DiscogsService/Components/Responses":{"identifier":"doc:\/\/DiscogsService\/documentation\/DiscogsService\/Components\/Responses","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"Responses"}],"url":"\/documentation\/discogsservice\/components\/responses","type":"topic","role":"symbol","abstract":[{"type":"text","text":"Types generated from the "},{"type":"codeVoice","code":"#\/components\/responses"},{"type":"text","text":" section of the OpenAPI document."}],"title":"Components.Responses","kind":"symbol","navigatorTitle":[{"kind":"identifier","text":"Responses"}]},"doc://DiscogsService/documentation/DiscogsService/Components/Responses/Unavailable/Body-swift.enum":{"url":"\/documentation\/discogsservice\/components\/responses\/unavailable\/body-swift.enum","abstract":[],"title":"Components.Responses.Unavailable.Body","navigatorTitle":[{"text":"Body","kind":"identifier"}],"kind":"symbol","type":"topic","identifier":"doc:\/\/DiscogsService\/documentation\/DiscogsService\/Components\/Responses\/Unavailable\/Body-swift.enum","fragments":[{"text":"enum","kind":"keyword"},{"text":" ","kind":"text"},{"text":"Body","kind":"identifier"}],"role":"symbol"},"doc://DiscogsService/documentation/DiscogsService/Components/Responses/Unavailable":{"url":"\/documentation\/discogsservice\/components\/responses\/unavailable","fragments":[{"text":"struct","kind":"keyword"},{"text":" ","kind":"text"},{"text":"Unavailable","kind":"identifier"}],"navigatorTitle":[{"text":"Unavailable","kind":"identifier"}],"abstract":[],"identifier":"doc:\/\/DiscogsService\/documentation\/DiscogsService\/Components\/Responses\/Unavailable","title":"Components.Responses.Unavailable","type":"topic","kind":"symbol","role":"symbol"},"doc://DiscogsService/documentation/DiscogsService/Components/Responses/Unavailable/Body-swift.enum/!=(_:_:)":{"url":"\/documentation\/discogsservice\/components\/responses\/unavailable\/body-swift.enum\/!=(_:_:)","kind":"symbol","type":"topic","role":"symbol","abstract":[{"type":"text","text":"Returns a Boolean value indicating whether two values are not equal."}],"fragments":[{"text":"static","kind":"keyword"},{"text":" ","kind":"text"},{"text":"func","kind":"keyword"},{"text":" ","kind":"text"},{"text":"!=","kind":"identifier"},{"text":" ","kind":"text"},{"text":"(","kind":"text"},{"text":"Self","kind":"typeIdentifier"},{"text":", ","kind":"text"},{"text":"Self","kind":"typeIdentifier"},{"text":") -> ","kind":"text"},{"text":"Bool","kind":"typeIdentifier","preciseIdentifier":"s:Sb"}],"title":"!=(_:_:)","identifier":"doc:\/\/DiscogsService\/documentation\/DiscogsService\/Components\/Responses\/Unavailable\/Body-swift.enum\/!=(_:_:)"}}}
{"topicSections":[{"anchor":"Operators","title":"Operators","generated":true,"identifiers":["doc:\/\/DiscogsService\/documentation\/DiscogsService\/Components\/Responses\/Unavailable\/Body-swift.enum\/!=(_:_:)"]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"variants":[{"paths":["\/documentation\/discogsservice\/components\/responses\/unavailable\/body-swift.enum\/equatable-implementations"],"traits":[{"interfaceLanguage":"swift"}]}],"hierarchy":{"paths":[["doc:\/\/DiscogsService\/documentation\/DiscogsService","doc:\/\/DiscogsService\/documentation\/DiscogsService\/Components","doc:\/\/DiscogsService\/documentation\/DiscogsService\/Components\/Responses","doc:\/\/DiscogsService\/documentation\/DiscogsService\/Components\/Responses\/Unavailable","doc:\/\/DiscogsService\/documentation\/DiscogsService\/Components\/Responses\/Unavailable\/Body-swift.enum"]]},"metadata":{"title":"Equatable Implementations","roleHeading":"API Collection","role":"collectionGroup","modules":[{"name":"DiscogsService"}]},"identifier":{"interfaceLanguage":"swift","url":"doc:\/\/DiscogsService\/documentation\/DiscogsService\/Components\/Responses\/Unavailable\/Body-swift.enum\/Equatable-Implementations"},"kind":"article","references":{"doc://DiscogsService/documentation/DiscogsService/Components/Responses/Unavailable/Body-swift.enum/!=(_:_:)":{"title":"!=(_:_:)","url":"\/documentation\/discogsservice\/components\/responses\/unavailable\/body-swift.enum\/!=(_:_:)","role":"symbol","abstract":[{"type":"text","text":"Returns a Boolean value indicating whether two values are not equal."}],"type":"topic","fragments":[{"text":"static","kind":"keyword"},{"kind":"text","text":" "},{"text":"func","kind":"keyword"},{"text":" ","kind":"text"},{"kind":"identifier","text":"!="},{"text":" ","kind":"text"},{"kind":"text","text":"("},{"text":"Self","kind":"typeIdentifier"},{"text":", ","kind":"text"},{"text":"Self","kind":"typeIdentifier"},{"text":") -> ","kind":"text"},{"text":"Bool","preciseIdentifier":"s:Sb","kind":"typeIdentifier"}],"identifier":"doc:\/\/DiscogsService\/documentation\/DiscogsService\/Components\/Responses\/Unavailable\/Body-swift.enum\/!=(_:_:)","kind":"symbol"},"doc://DiscogsService/documentation/DiscogsService/Components":{"url":"\/documentation\/discogsservice\/components","title":"Components","role":"symbol","abstract":[{"type":"text","text":"Types generated from the components section of the OpenAPI document."}],"type":"topic","fragments":[{"kind":"keyword","text":"enum"},{"text":" ","kind":"text"},{"text":"Components","kind":"identifier"}],"identifier":"doc:\/\/DiscogsService\/documentation\/DiscogsService\/Components","navigatorTitle":[{"kind":"identifier","text":"Components"}],"kind":"symbol"},"doc://DiscogsService/documentation/DiscogsService/Components/Responses/Unavailable/Body-swift.enum":{"title":"Components.Responses.Unavailable.Body","url":"\/documentation\/discogsservice\/components\/responses\/unavailable\/body-swift.enum","role":"symbol","abstract":[],"type":"topic","fragments":[{"text":"enum","kind":"keyword"},{"text":" ","kind":"text"},{"text":"Body","kind":"identifier"}],"identifier":"doc:\/\/DiscogsService\/documentation\/DiscogsService\/Components\/Responses\/Unavailable\/Body-swift.enum","navigatorTitle":[{"text":"Body","kind":"identifier"}],"kind":"symbol"},"doc://DiscogsService/documentation/DiscogsService":{"title":"DiscogsService","url":"\/documentation\/discogsservice","type":"topic","role":"collection","abstract":[],"kind":"symbol","identifier":"doc:\/\/DiscogsService\/documentation\/DiscogsService"},"doc://DiscogsService/documentation/DiscogsService/Components/Responses/Unavailable":{"title":"Components.Responses.Unavailable","url":"\/documentation\/discogsservice\/components\/responses\/unavailable","role":"symbol","abstract":[],"type":"topic","fragments":[{"text":"struct","kind":"keyword"},{"text":" ","kind":"text"},{"text":"Unavailable","kind":"identifier"}],"identifier":"doc:\/\/DiscogsService\/documentation\/DiscogsService\/Components\/Responses\/Unavailable","navigatorTitle":[{"text":"Unavailable","kind":"identifier"}],"kind":"symbol"},"doc://DiscogsService/documentation/DiscogsService/Components/Responses":{"title":"Components.Responses","url":"\/documentation\/discogsservice\/components\/responses","role":"symbol","abstract":[{"text":"Types generated from the ","type":"text"},{"type":"codeVoice","code":"#\/components\/responses"},{"text":" section of the OpenAPI document.","type":"text"}],"type":"topic","fragments":[{"text":"enum","kind":"keyword"},{"text":" ","kind":"text"},{"text":"Responses","kind":"identifier"}],"identifier":"doc:\/\/DiscogsService\/documentation\/DiscogsService\/Components\/Responses","navigatorTitle":[{"text":"Responses","kind":"identifier"}],"kind":"symbol"}}}
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -1 +1 @@
{"metadata":{"role":"collectionGroup","roleHeading":"API Collection","modules":[{"name":"DiscogsService"}],"title":"Equatable Implementations"},"topicSections":[{"generated":true,"title":"Operators","anchor":"Operators","identifiers":["doc:\/\/DiscogsService\/documentation\/DiscogsService\/Components\/Responses\/Unavailable\/!=(_:_:)"]}],"variants":[{"paths":["\/documentation\/discogsservice\/components\/responses\/unavailable\/equatable-implementations"],"traits":[{"interfaceLanguage":"swift"}]}],"schemaVersion":{"minor":3,"patch":0,"major":0},"kind":"article","identifier":{"interfaceLanguage":"swift","url":"doc:\/\/DiscogsService\/documentation\/DiscogsService\/Components\/Responses\/Unavailable\/Equatable-Implementations"},"hierarchy":{"paths":[["doc:\/\/DiscogsService\/documentation\/DiscogsService","doc:\/\/DiscogsService\/documentation\/DiscogsService\/Components","doc:\/\/DiscogsService\/documentation\/DiscogsService\/Components\/Responses","doc:\/\/DiscogsService\/documentation\/DiscogsService\/Components\/Responses\/Unavailable"]]},"sections":[],"references":{"doc://DiscogsService/documentation/DiscogsService/Components/Responses":{"identifier":"doc:\/\/DiscogsService\/documentation\/DiscogsService\/Components\/Responses","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"Responses"}],"url":"\/documentation\/discogsservice\/components\/responses","type":"topic","role":"symbol","abstract":[{"type":"text","text":"Types generated from the "},{"type":"codeVoice","code":"#\/components\/responses"},{"type":"text","text":" section of the OpenAPI document."}],"title":"Components.Responses","kind":"symbol","navigatorTitle":[{"kind":"identifier","text":"Responses"}]},"doc://DiscogsService/documentation/DiscogsService/Components/Responses/Unavailable":{"url":"\/documentation\/discogsservice\/components\/responses\/unavailable","fragments":[{"text":"struct","kind":"keyword"},{"text":" ","kind":"text"},{"text":"Unavailable","kind":"identifier"}],"navigatorTitle":[{"text":"Unavailable","kind":"identifier"}],"abstract":[],"identifier":"doc:\/\/DiscogsService\/documentation\/DiscogsService\/Components\/Responses\/Unavailable","title":"Components.Responses.Unavailable","type":"topic","kind":"symbol","role":"symbol"},"doc://DiscogsService/documentation/DiscogsService":{"title":"DiscogsService","role":"collection","abstract":[],"kind":"symbol","type":"topic","identifier":"doc:\/\/DiscogsService\/documentation\/DiscogsService","url":"\/documentation\/discogsservice"},"doc://DiscogsService/documentation/DiscogsService/Components":{"role":"symbol","title":"Components","kind":"symbol","type":"topic","abstract":[{"type":"text","text":"Types generated from the components section of the OpenAPI document."}],"navigatorTitle":[{"kind":"identifier","text":"Components"}],"url":"\/documentation\/discogsservice\/components","identifier":"doc:\/\/DiscogsService\/documentation\/DiscogsService\/Components","fragments":[{"kind":"keyword","text":"enum"},{"text":" ","kind":"text"},{"kind":"identifier","text":"Components"}]},"doc://DiscogsService/documentation/DiscogsService/Components/Responses/Unavailable/!=(_:_:)":{"identifier":"doc:\/\/DiscogsService\/documentation\/DiscogsService\/Components\/Responses\/Unavailable\/!=(_:_:)","abstract":[{"type":"text","text":"Returns a Boolean value indicating whether two values are not equal."}],"title":"!=(_:_:)","url":"\/documentation\/discogsservice\/components\/responses\/unavailable\/!=(_:_:)","kind":"symbol","fragments":[{"text":"static","kind":"keyword"},{"text":" ","kind":"text"},{"text":"func","kind":"keyword"},{"text":" ","kind":"text"},{"text":"!=","kind":"identifier"},{"text":" ","kind":"text"},{"text":"(","kind":"text"},{"text":"Self","kind":"typeIdentifier"},{"text":", ","kind":"text"},{"text":"Self","kind":"typeIdentifier"},{"text":") -> ","kind":"text"},{"text":"Bool","preciseIdentifier":"s:Sb","kind":"typeIdentifier"}],"type":"topic","role":"symbol"}}}
{"identifier":{"interfaceLanguage":"swift","url":"doc:\/\/DiscogsService\/documentation\/DiscogsService\/Components\/Responses\/Unavailable\/Equatable-Implementations"},"variants":[{"paths":["\/documentation\/discogsservice\/components\/responses\/unavailable\/equatable-implementations"],"traits":[{"interfaceLanguage":"swift"}]}],"topicSections":[{"identifiers":["doc:\/\/DiscogsService\/documentation\/DiscogsService\/Components\/Responses\/Unavailable\/!=(_:_:)"],"generated":true,"anchor":"Operators","title":"Operators"}],"metadata":{"title":"Equatable Implementations","modules":[{"name":"DiscogsService"}],"roleHeading":"API Collection","role":"collectionGroup"},"sections":[],"hierarchy":{"paths":[["doc:\/\/DiscogsService\/documentation\/DiscogsService","doc:\/\/DiscogsService\/documentation\/DiscogsService\/Components","doc:\/\/DiscogsService\/documentation\/DiscogsService\/Components\/Responses","doc:\/\/DiscogsService\/documentation\/DiscogsService\/Components\/Responses\/Unavailable"]]},"schemaVersion":{"minor":3,"patch":0,"major":0},"kind":"article","references":{"doc://DiscogsService/documentation/DiscogsService/Components/Responses":{"title":"Components.Responses","url":"\/documentation\/discogsservice\/components\/responses","role":"symbol","abstract":[{"text":"Types generated from the ","type":"text"},{"type":"codeVoice","code":"#\/components\/responses"},{"text":" section of the OpenAPI document.","type":"text"}],"type":"topic","fragments":[{"text":"enum","kind":"keyword"},{"text":" ","kind":"text"},{"text":"Responses","kind":"identifier"}],"identifier":"doc:\/\/DiscogsService\/documentation\/DiscogsService\/Components\/Responses","navigatorTitle":[{"text":"Responses","kind":"identifier"}],"kind":"symbol"},"doc://DiscogsService/documentation/DiscogsService":{"title":"DiscogsService","url":"\/documentation\/discogsservice","type":"topic","role":"collection","abstract":[],"kind":"symbol","identifier":"doc:\/\/DiscogsService\/documentation\/DiscogsService"},"doc://DiscogsService/documentation/DiscogsService/Components/Responses/Unavailable":{"title":"Components.Responses.Unavailable","url":"\/documentation\/discogsservice\/components\/responses\/unavailable","role":"symbol","abstract":[],"type":"topic","fragments":[{"text":"struct","kind":"keyword"},{"text":" ","kind":"text"},{"text":"Unavailable","kind":"identifier"}],"identifier":"doc:\/\/DiscogsService\/documentation\/DiscogsService\/Components\/Responses\/Unavailable","navigatorTitle":[{"text":"Unavailable","kind":"identifier"}],"kind":"symbol"},"doc://DiscogsService/documentation/DiscogsService/Components":{"url":"\/documentation\/discogsservice\/components","title":"Components","role":"symbol","abstract":[{"type":"text","text":"Types generated from the components section of the OpenAPI document."}],"type":"topic","fragments":[{"kind":"keyword","text":"enum"},{"text":" ","kind":"text"},{"text":"Components","kind":"identifier"}],"identifier":"doc:\/\/DiscogsService\/documentation\/DiscogsService\/Components","navigatorTitle":[{"kind":"identifier","text":"Components"}],"kind":"symbol"},"doc://DiscogsService/documentation/DiscogsService/Components/Responses/Unavailable/!=(_:_:)":{"identifier":"doc:\/\/DiscogsService\/documentation\/DiscogsService\/Components\/Responses\/Unavailable\/!=(_:_:)","role":"symbol","abstract":[{"text":"Returns a Boolean value indicating whether two values are not equal.","type":"text"}],"fragments":[{"kind":"keyword","text":"static"},{"kind":"text","text":" "},{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"kind":"identifier","text":"!="},{"kind":"text","text":" "},{"kind":"text","text":"("},{"kind":"typeIdentifier","text":"Self"},{"kind":"text","text":", "},{"kind":"typeIdentifier","text":"Self"},{"kind":"text","text":") -> "},{"preciseIdentifier":"s:Sb","kind":"typeIdentifier","text":"Bool"}],"title":"!=(_:_:)","url":"\/documentation\/discogsservice\/components\/responses\/unavailable\/!=(_:_:)","type":"topic","kind":"symbol"}}}
File diff suppressed because one or more lines are too long