Releases: rock-n-code/discogs-service
Documentation improvements
This release contains the work done to improve the overall documentation of the source code as well as the OpenAPI specification document. Plus, a breaking bug introduced by the swift-openapi-generator package dependency has been (temporarily) contained.
Marketplace endpoints
This release contains the work done to implement the Marketplace endpoints for the Discogs API backend service, which include the following endpoints:
- GET
/users/{username}/inventory - GET
/marketplace/listings/{listing_id} - DELETE
/marketplace/listings/{listing_id} - POST
/marketplace/listings/{listing_id} - POST
/marketplace/listings - GET
/marketplace/orders - GET
/marketplace/orders/{order_id} - GET
/marketplace/orders/{order_id}/messages - POST
/marketplace/orders/{order_id}/messages - GET
/marketplace/fee/{price} - GET
/marketplace/fee/{price}/{currency} - GET
/marketplace/price_suggestions/{release_id} - GET
/marketplace/stats/{release_id}
User-related endpoints
This release contains the work done to add support for the following endpoints:
-
User Identity
- GET
/users/{username} - POST
/users/{username} - GET
/users/{username}/contributions - GET
/users/{username}/submissions
- GET
-
User Collection
- 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
- GET
-
User Wantlist
- GET
/users/{username}/wants - POST
/users/{username}/wants/{release_id} - PUT
/users/{username}/wants/{release_id} - DELETE
/users/{username}/wants/{release_id}
- GET
-
User Lists
- GET
/users/{username}/lists - GET
/lists/{list_id}
- GET
Fix to Authentication endpoints
This release contains a fix to securize the /GET /oauth/identity endpoint on the OpenAPI specification document, plus it also improves the ordering of the endpoints within the Database section.
Authentication endpoints
This release implements the Authentication endpoints of the Discogs API service:
- GET
/oauth/request_token - POST
/oauth/access_token - GET
/oauth/identity
On top of this, the missing Database endpoints have also been implemented:
- DELETE /release/{release_id}/rating/{username}
- PUT /release/{release_id}/rating/{username}
Finally, support for rate limiting headers have also been added.
User Agent middleware
This release contains the UserAgentMiddleware middleware that includes user agent information into a header of the requests sent by the Client type, as defined in the Discogs documentation. For this purpose, a validation engine that handle types that validates an input based on a certain set of rules was built, and integrated to the mentioned middleware.
In addition, the AuthMiddleware have also been updated to validate its inputs by using this validation engine.
Authentication middleware
This release includes the AuthMiddleware middleware, to authenticate the requests sent to the backend service, based on their specifications.
In addition, some documentation has been added/updated and some boilerplate source code has been removed from the project.
Service and Database GET endpoints
This release 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:
- 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