Implemented the User Collection endpoints (#12)

This PR contains the work done to implement the *User Collection* endpoints of the Discogs API into the `OpenAPI` specification document:

* GET `/users/{username}/collection/folders`
* POST `/users/{username}/collection/folders`
* GET `/users/{username}/collection/folders/{folder_id}`
* POST `/users/{username}/collection/folders/{folder_id}`
* DELETE `/users/{username}/collection/folders/{folder_id}`
* GET `/users/{username}/collection/releases/{release_id}`
* GET `/users/{username}/collection/folders/{folder_id}/releases`
* POST `/users/{username}/collection/folders/{folder_id}/releases/{release_id}`
* POST `/users/{username}/collection/folders/{folder_id}/releases/{release_id}/instances/{instance_id}`
* DELETE `/users/{username}/collection/folders/{folder_id}/releases/{release_id}/instances/{instance_id}`
* GET `/users/{username}/collection/fields`
* POST `/users/{username}/collection/folders/{folder_id}/releases/{release_id}/instances/{instance_id}/fields/{field_id}`
* GET `/users/{username}/collection/value`

Reviewed-on: #12
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 #12.
This commit is contained in:
2025-10-16 14:38:41 +00:00
committed by Javier Cicchelli
parent 2c91cad0bf
commit 2a7b9746a7
5544 changed files with 6306 additions and 2340 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
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
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -1 +1 @@
{"identifier":{"url":"doc:\/\/DiscogsService\/documentation\/DiscogsService\/Components\/Schemas\/Service\/StatisticsPayload\/Equatable-Implementations","interfaceLanguage":"swift"},"variants":[{"traits":[{"interfaceLanguage":"swift"}],"paths":["\/documentation\/discogsservice\/components\/schemas\/service\/statisticspayload\/equatable-implementations"]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"metadata":{"modules":[{"name":"DiscogsService"}],"roleHeading":"API Collection","role":"collectionGroup","title":"Equatable Implementations"},"hierarchy":{"paths":[["doc:\/\/DiscogsService\/documentation\/DiscogsService","doc:\/\/DiscogsService\/documentation\/DiscogsService\/Components","doc:\/\/DiscogsService\/documentation\/DiscogsService\/Components\/Schemas","doc:\/\/DiscogsService\/documentation\/DiscogsService\/Components\/Schemas\/Service","doc:\/\/DiscogsService\/documentation\/DiscogsService\/Components\/Schemas\/Service\/StatisticsPayload"]]},"kind":"article","topicSections":[{"title":"Operators","identifiers":["doc:\/\/DiscogsService\/documentation\/DiscogsService\/Components\/Schemas\/Service\/StatisticsPayload\/!=(_:_:)"],"anchor":"Operators","generated":true}],"references":{"doc://DiscogsService/documentation/DiscogsService":{"type":"topic","role":"collection","identifier":"doc:\/\/DiscogsService\/documentation\/DiscogsService","title":"DiscogsService","abstract":[],"url":"\/documentation\/discogsservice","kind":"symbol"},"doc://DiscogsService/documentation/DiscogsService/Components":{"title":"Components","kind":"symbol","abstract":[{"text":"Types generated from the components section of the OpenAPI document.","type":"text"}],"navigatorTitle":[{"kind":"identifier","text":"Components"}],"fragments":[{"text":"enum","kind":"keyword"},{"kind":"text","text":" "},{"text":"Components","kind":"identifier"}],"url":"\/documentation\/discogsservice\/components","identifier":"doc:\/\/DiscogsService\/documentation\/DiscogsService\/Components","type":"topic","role":"symbol"},"doc://DiscogsService/documentation/DiscogsService/Components/Schemas/Service/StatisticsPayload/!=(_:_:)":{"type":"topic","role":"symbol","identifier":"doc:\/\/DiscogsService\/documentation\/DiscogsService\/Components\/Schemas\/Service\/StatisticsPayload\/!=(_:_:)","title":"!=(_:_:)","abstract":[{"type":"text","text":"Returns a Boolean value indicating whether two values are not equal."}],"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"}],"url":"\/documentation\/discogsservice\/components\/schemas\/service\/statisticspayload\/!=(_:_:)","kind":"symbol"},"doc://DiscogsService/documentation/DiscogsService/Components/Schemas/Service/StatisticsPayload":{"navigatorTitle":[{"kind":"identifier","text":"StatisticsPayload"}],"role":"symbol","type":"topic","abstract":[{"type":"text","text":"A type that encapsulates statistical data about the service."}],"kind":"symbol","title":"Components.Schemas.Service.StatisticsPayload","identifier":"doc:\/\/DiscogsService\/documentation\/DiscogsService\/Components\/Schemas\/Service\/StatisticsPayload","url":"\/documentation\/discogsservice\/components\/schemas\/service\/statisticspayload","fragments":[{"kind":"keyword","text":"struct"},{"kind":"text","text":" "},{"kind":"identifier","text":"StatisticsPayload"}]},"doc://DiscogsService/documentation/DiscogsService/Components/Schemas/Service":{"url":"\/documentation\/discogsservice\/components\/schemas\/service","role":"symbol","title":"Components.Schemas.Service","identifier":"doc:\/\/DiscogsService\/documentation\/DiscogsService\/Components\/Schemas\/Service","abstract":[{"text":"A type that encapsulates any available information about the service.","type":"text"}],"fragments":[{"text":"struct","kind":"keyword"},{"text":" ","kind":"text"},{"text":"Service","kind":"identifier"}],"navigatorTitle":[{"text":"Service","kind":"identifier"}],"kind":"symbol","type":"topic"},"doc://DiscogsService/documentation/DiscogsService/Components/Schemas":{"fragments":[{"text":"enum","kind":"keyword"},{"text":" ","kind":"text"},{"text":"Schemas","kind":"identifier"}],"title":"Components.Schemas","navigatorTitle":[{"text":"Schemas","kind":"identifier"}],"identifier":"doc:\/\/DiscogsService\/documentation\/DiscogsService\/Components\/Schemas","kind":"symbol","url":"\/documentation\/discogsservice\/components\/schemas","abstract":[{"type":"text","text":"Types generated from the "},{"type":"codeVoice","code":"#\/components\/schemas"},{"type":"text","text":" section of the OpenAPI document."}],"role":"symbol","type":"topic"}}}
{"variants":[{"paths":["\/documentation\/discogsservice\/components\/schemas\/service\/statisticspayload\/equatable-implementations"],"traits":[{"interfaceLanguage":"swift"}]}],"sections":[],"schemaVersion":{"patch":0,"minor":3,"major":0},"kind":"article","topicSections":[{"anchor":"Operators","title":"Operators","identifiers":["doc:\/\/DiscogsService\/documentation\/DiscogsService\/Components\/Schemas\/Service\/StatisticsPayload\/!=(_:_:)"],"generated":true}],"identifier":{"url":"doc:\/\/DiscogsService\/documentation\/DiscogsService\/Components\/Schemas\/Service\/StatisticsPayload\/Equatable-Implementations","interfaceLanguage":"swift"},"hierarchy":{"paths":[["doc:\/\/DiscogsService\/documentation\/DiscogsService","doc:\/\/DiscogsService\/documentation\/DiscogsService\/Components","doc:\/\/DiscogsService\/documentation\/DiscogsService\/Components\/Schemas","doc:\/\/DiscogsService\/documentation\/DiscogsService\/Components\/Schemas\/Service","doc:\/\/DiscogsService\/documentation\/DiscogsService\/Components\/Schemas\/Service\/StatisticsPayload"]]},"metadata":{"roleHeading":"API Collection","role":"collectionGroup","title":"Equatable Implementations","modules":[{"name":"DiscogsService"}]},"references":{"doc://DiscogsService/documentation/DiscogsService/Components/Schemas":{"url":"\/documentation\/discogsservice\/components\/schemas","navigatorTitle":[{"kind":"identifier","text":"Schemas"}],"type":"topic","kind":"symbol","abstract":[{"type":"text","text":"Types generated from the "},{"type":"codeVoice","code":"#\/components\/schemas"},{"type":"text","text":" section of the OpenAPI document."}],"title":"Components.Schemas","role":"symbol","identifier":"doc:\/\/DiscogsService\/documentation\/DiscogsService\/Components\/Schemas","fragments":[{"kind":"keyword","text":"enum"},{"text":" ","kind":"text"},{"text":"Schemas","kind":"identifier"}]},"doc://DiscogsService/documentation/DiscogsService/Components/Schemas/Service/StatisticsPayload":{"fragments":[{"text":"struct","kind":"keyword"},{"kind":"text","text":" "},{"text":"StatisticsPayload","kind":"identifier"}],"type":"topic","kind":"symbol","role":"symbol","title":"Components.Schemas.Service.StatisticsPayload","abstract":[{"type":"text","text":"A type that encapsulates statistical data about the service."}],"identifier":"doc:\/\/DiscogsService\/documentation\/DiscogsService\/Components\/Schemas\/Service\/StatisticsPayload","url":"\/documentation\/discogsservice\/components\/schemas\/service\/statisticspayload","navigatorTitle":[{"text":"StatisticsPayload","kind":"identifier"}]},"doc://DiscogsService/documentation/DiscogsService/Components/Schemas/Service/StatisticsPayload/!=(_:_:)":{"url":"\/documentation\/discogsservice\/components\/schemas\/service\/statisticspayload\/!=(_:_:)","type":"topic","kind":"symbol","abstract":[{"type":"text","text":"Returns a Boolean value indicating whether two values are not equal."}],"title":"!=(_:_:)","role":"symbol","identifier":"doc:\/\/DiscogsService\/documentation\/DiscogsService\/Components\/Schemas\/Service\/StatisticsPayload\/!=(_:_:)","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"}]},"doc://DiscogsService/documentation/DiscogsService/Components/Schemas/Service":{"title":"Components.Schemas.Service","abstract":[{"type":"text","text":"A type that encapsulates any available information about the service."}],"kind":"symbol","navigatorTitle":[{"text":"Service","kind":"identifier"}],"role":"symbol","type":"topic","url":"\/documentation\/discogsservice\/components\/schemas\/service","fragments":[{"text":"struct","kind":"keyword"},{"text":" ","kind":"text"},{"text":"Service","kind":"identifier"}],"identifier":"doc:\/\/DiscogsService\/documentation\/DiscogsService\/Components\/Schemas\/Service"},"doc://DiscogsService/documentation/DiscogsService/Components":{"abstract":[{"text":"Types generated from the components section of the OpenAPI document.","type":"text"}],"title":"Components","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"Components"}],"role":"symbol","url":"\/documentation\/discogsservice\/components","identifier":"doc:\/\/DiscogsService\/documentation\/DiscogsService\/Components","navigatorTitle":[{"kind":"identifier","text":"Components"}],"type":"topic","kind":"symbol"},"doc://DiscogsService/documentation/DiscogsService":{"url":"\/documentation\/discogsservice","abstract":[],"kind":"symbol","type":"topic","title":"DiscogsService","role":"collection","identifier":"doc:\/\/DiscogsService\/documentation\/DiscogsService"}}}
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