Implemented the Services and Database GET endpoints (#2)

This PR contains the work done to include the define the information sections of the `OpenAPI` specification document and all the `GET` endpoints of the _Service_ and _Database_ categories.

The following endpoints have been defined in the document, and also tested manually with `Swift`:
* GET `/`
* GET `/artists/{artist_id}`
* GET `/artists/{artist_id}/releases`
* GET `/labels/{label_id}`
* GET `/labels/{label_id}/releases`
* GET `/masters/{master_id}`
* GET `/masters/{master_id}/versions`
* GET `/releases/{release_id}`
* GET `/releases/{release_id}/rating`
* GET `/releases/{release_id}/rating/{username}`
* GET `/releases/{release_id}/stats`
* GET `/database/search`

In addition, a first version of the _Github Pages_ documentation has been generated from the `DocC` documentation catalog, and the generated Swift code from the `openapi.yaml` file.

Reviewed-on: #2
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 #2.
This commit is contained in:
2025-10-09 23:51:39 +00:00
committed by Javier Cicchelli
parent 75251d9f9a
commit 428eedd89d
3878 changed files with 6102 additions and 1 deletions
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -0,0 +1 @@
{"sections":[],"topicSections":[{"generated":true,"anchor":"Operators","title":"Operators","identifiers":["doc:\/\/DiscogsService\/documentation\/DiscogsService\/Operations\/getMaster\/Input\/Headers-swift.struct\/!=(_:_:)"]}],"kind":"article","schemaVersion":{"patch":0,"minor":3,"major":0},"metadata":{"title":"Equatable Implementations","modules":[{"name":"DiscogsService"}],"roleHeading":"API Collection","role":"collectionGroup"},"hierarchy":{"paths":[["doc:\/\/DiscogsService\/documentation\/DiscogsService","doc:\/\/DiscogsService\/documentation\/DiscogsService\/Operations","doc:\/\/DiscogsService\/documentation\/DiscogsService\/Operations\/getMaster","doc:\/\/DiscogsService\/documentation\/DiscogsService\/Operations\/getMaster\/Input","doc:\/\/DiscogsService\/documentation\/DiscogsService\/Operations\/getMaster\/Input\/Headers-swift.struct"]]},"variants":[{"paths":["\/documentation\/discogsservice\/operations\/getmaster\/input\/headers-swift.struct\/equatable-implementations"],"traits":[{"interfaceLanguage":"swift"}]}],"identifier":{"url":"doc:\/\/DiscogsService\/documentation\/DiscogsService\/Operations\/getMaster\/Input\/Headers-swift.struct\/Equatable-Implementations","interfaceLanguage":"swift"},"references":{"doc://DiscogsService/documentation/DiscogsService/Operations/getMaster/Input":{"navigatorTitle":[{"text":"Input","kind":"identifier"}],"fragments":[{"text":"struct","kind":"keyword"},{"text":" ","kind":"text"},{"text":"Input","kind":"identifier"}],"url":"\/documentation\/discogsservice\/operations\/getmaster\/input","role":"symbol","type":"topic","kind":"symbol","identifier":"doc:\/\/DiscogsService\/documentation\/DiscogsService\/Operations\/getMaster\/Input","abstract":[],"title":"Operations.getMaster.Input"},"doc://DiscogsService/documentation/DiscogsService/Operations/getMaster":{"url":"\/documentation\/discogsservice\/operations\/getmaster","abstract":[{"text":"Get information about a master release.","type":"text"}],"identifier":"doc:\/\/DiscogsService\/documentation\/DiscogsService\/Operations\/getMaster","kind":"symbol","role":"symbol","title":"Operations.getMaster","type":"topic","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"getMaster"}],"navigatorTitle":[{"kind":"identifier","text":"getMaster"}]},"doc://DiscogsService/documentation/DiscogsService/Operations/getMaster/Input/Headers-swift.struct":{"navigatorTitle":[{"text":"Headers","kind":"identifier"}],"fragments":[{"text":"struct","kind":"keyword"},{"text":" ","kind":"text"},{"text":"Headers","kind":"identifier"}],"url":"\/documentation\/discogsservice\/operations\/getmaster\/input\/headers-swift.struct","role":"symbol","type":"topic","kind":"symbol","identifier":"doc:\/\/DiscogsService\/documentation\/DiscogsService\/Operations\/getMaster\/Input\/Headers-swift.struct","abstract":[],"title":"Operations.getMaster.Input.Headers"},"doc://DiscogsService/documentation/DiscogsService/Operations":{"navigatorTitle":[{"kind":"identifier","text":"Operations"}],"fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"Operations"}],"url":"\/documentation\/discogsservice\/operations","role":"symbol","type":"topic","kind":"symbol","identifier":"doc:\/\/DiscogsService\/documentation\/DiscogsService\/Operations","abstract":[{"text":"API operations, with input and output types, generated from ","type":"text"},{"code":"#\/paths","type":"codeVoice"},{"text":" in the OpenAPI document.","type":"text"}],"title":"Operations"},"doc://DiscogsService/documentation/DiscogsService":{"url":"\/documentation\/discogsservice","abstract":[],"identifier":"doc:\/\/DiscogsService\/documentation\/DiscogsService","kind":"symbol","role":"collection","type":"topic","title":"DiscogsService"},"doc://DiscogsService/documentation/DiscogsService/Operations/getMaster/Input/Headers-swift.struct/!=(_:_:)":{"abstract":[{"type":"text","text":"Returns a Boolean value indicating whether two values are not equal."}],"role":"symbol","type":"topic","title":"!=(_:_:)","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"},{"preciseIdentifier":"s:Sb","text":"Bool","kind":"typeIdentifier"}],"kind":"symbol","url":"\/documentation\/discogsservice\/operations\/getmaster\/input\/headers-swift.struct\/!=(_:_:)","identifier":"doc:\/\/DiscogsService\/documentation\/DiscogsService\/Operations\/getMaster\/Input\/Headers-swift.struct\/!=(_:_:)"}}}
File diff suppressed because one or more lines are too long