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
@@ -0,0 +1 @@
{"schemaVersion":{"minor":3,"patch":0,"major":0},"sections":[],"metadata":{"symbolKind":"case","roleHeading":"Case","title":"Components.Schemas.Rating.CodingKeys.average","fragments":[{"kind":"keyword","text":"case"},{"kind":"text","text":" "},{"kind":"identifier","text":"average"}],"externalID":"s:14DiscogsService10ComponentsO7SchemasO6RatingV10CodingKeysO7averageyA2ImF","role":"symbol","modules":[{"name":"DiscogsService"}]},"kind":"symbol","identifier":{"interfaceLanguage":"swift","url":"doc:\/\/DiscogsService\/documentation\/DiscogsService\/Components\/Schemas\/Rating\/CodingKeys\/average"},"primaryContentSections":[{"declarations":[{"platforms":["macOS"],"languages":["swift"],"tokens":[{"text":"case","kind":"keyword"},{"text":" ","kind":"text"},{"text":"average","kind":"identifier"}]}],"kind":"declarations"}],"hierarchy":{"paths":[["doc:\/\/DiscogsService\/documentation\/DiscogsService","doc:\/\/DiscogsService\/documentation\/DiscogsService\/Components","doc:\/\/DiscogsService\/documentation\/DiscogsService\/Components\/Schemas","doc:\/\/DiscogsService\/documentation\/DiscogsService\/Components\/Schemas\/Rating","doc:\/\/DiscogsService\/documentation\/DiscogsService\/Components\/Schemas\/Rating\/CodingKeys"]]},"variants":[{"traits":[{"interfaceLanguage":"swift"}],"paths":["\/documentation\/discogsservice\/components\/schemas\/rating\/codingkeys\/average"]}],"references":{"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/Components/Schemas/Rating/CodingKeys":{"navigatorTitle":[{"kind":"identifier","text":"CodingKeys"}],"abstract":[],"role":"symbol","type":"topic","title":"Components.Schemas.Rating.CodingKeys","fragments":[{"kind":"keyword","text":"enum"},{"kind":"text","text":" "},{"kind":"identifier","text":"CodingKeys"}],"kind":"symbol","url":"\/documentation\/discogsservice\/components\/schemas\/rating\/codingkeys","identifier":"doc:\/\/DiscogsService\/documentation\/DiscogsService\/Components\/Schemas\/Rating\/CodingKeys"},"doc://DiscogsService/documentation/DiscogsService/Components/Schemas/Rating/CodingKeys/average":{"url":"\/documentation\/discogsservice\/components\/schemas\/rating\/codingkeys\/average","type":"topic","title":"Components.Schemas.Rating.CodingKeys.average","abstract":[],"kind":"symbol","identifier":"doc:\/\/DiscogsService\/documentation\/DiscogsService\/Components\/Schemas\/Rating\/CodingKeys\/average","fragments":[{"text":"case","kind":"keyword"},{"text":" ","kind":"text"},{"text":"average","kind":"identifier"}],"role":"symbol"},"doc://DiscogsService/documentation/DiscogsService/Components":{"type":"topic","url":"\/documentation\/discogsservice\/components","role":"symbol","identifier":"doc:\/\/DiscogsService\/documentation\/DiscogsService\/Components","kind":"symbol","title":"Components","navigatorTitle":[{"text":"Components","kind":"identifier"}],"abstract":[{"text":"Types generated from the components section of the OpenAPI document.","type":"text"}],"fragments":[{"kind":"keyword","text":"enum"},{"text":" ","kind":"text"},{"kind":"identifier","text":"Components"}]},"doc://DiscogsService/documentation/DiscogsService/Components/Schemas/Rating":{"url":"\/documentation\/discogsservice\/components\/schemas\/rating","abstract":[{"text":"A type that represents a community rating of a release.","type":"text"}],"identifier":"doc:\/\/DiscogsService\/documentation\/DiscogsService\/Components\/Schemas\/Rating","kind":"symbol","role":"symbol","type":"topic","title":"Components.Schemas.Rating","fragments":[{"text":"struct","kind":"keyword"},{"text":" ","kind":"text"},{"text":"Rating","kind":"identifier"}],"navigatorTitle":[{"kind":"identifier","text":"Rating"}]},"doc://DiscogsService/documentation/DiscogsService/Components/Schemas":{"identifier":"doc:\/\/DiscogsService\/documentation\/DiscogsService\/Components\/Schemas","type":"topic","url":"\/documentation\/discogsservice\/components\/schemas","abstract":[{"type":"text","text":"Types generated from the "},{"code":"#\/components\/schemas","type":"codeVoice"},{"type":"text","text":" section of the OpenAPI document."}],"role":"symbol","kind":"symbol","navigatorTitle":[{"text":"Schemas","kind":"identifier"}],"title":"Components.Schemas","fragments":[{"text":"enum","kind":"keyword"},{"text":" ","kind":"text"},{"text":"Schemas","kind":"identifier"}]}}}