Skip to content

Commit 87a4e9d

Browse files
committed
hotfix: Add complete PHPDoc coverage for all Discogs API endpoints
- Add 22 missing @method annotations for previously undocumented API methods - Include complete coverage for Collection folder management (CRUD operations) - Add Wantlist management methods (add, edit, remove) - Include Inventory Export/Upload API methods (5+5 methods) - Add User submissions, contributions, and lists methods - Add marketplace fee currency and statistics methods - Improve PHPDoc structure with logical API groupings - Better IDE autocomplete support for all 65+ available endpoints Closes: Missing API method visibility in IDE autocomplete Fixes: Incomplete PHPDoc coverage for service.php operations
1 parent cf74e85 commit 87a4e9d

File tree

2 files changed

+85
-2
lines changed

2 files changed

+85
-2
lines changed

CHANGELOG.md

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,52 @@ All notable changes to this project will be documented in this file.
55
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
66
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
77

8+
## [Unreleased]
9+
10+
## [3.0.1](https://github.com/calliostro/php-discogs-api/releases/tag/v3.0.1) – 2025-09-09
11+
12+
### Added
13+
14+
- Complete PHPDoc coverage for all API endpoints in `DiscogsApiClient`
15+
- Missing @method annotations for 22 additional API methods:
16+
- `releaseRatingCommunity()` – Get community release ratings
17+
- `releaseStats()` – Get release statistics
18+
- `userSubmissions()` – Get user submissions
19+
- `userContributions()` – Get user contributions
20+
- `userLists()` – Get user lists
21+
- `collectionFolderGet()` – Get specific collection folder
22+
- `collectionFolderCreate()` – Create collection folder
23+
- `collectionFolderEdit()` – Edit collection folder
24+
- `collectionFolderDelete()` – Delete collection folder
25+
- `collectionItemsByRelease()` – Get collection items by release
26+
- `collectionAddRelease()` – Add release to collection
27+
- `collectionEditRelease()` – Edit release in collection
28+
- `collectionRemoveRelease()` – Remove release from collection
29+
- `collectionCustomFields()` – Get custom collection fields
30+
- `collectionEditField()` – Edit custom collection field
31+
- `collectionValue()` – Get collection value
32+
- `wantlistAdd()` – Add to wantlist
33+
- `wantlistEdit()` – Edit wantlist entry
34+
- `wantlistRemove()` – Remove from wantlist
35+
- `marketplaceFeeCurrency()` – Calculate fee with specific currency
36+
- `marketplacePriceSuggestions()` – Get price suggestions
37+
- `marketplaceStats()` – Get marketplace statistics
38+
- PHPDoc for complete Inventory Export API (5 methods)
39+
- PHPDoc for complete Inventory Upload API (5 methods)
40+
- `listGet()` method for retrieving specific lists
41+
42+
### Changed
43+
44+
- Improved PHPDoc structure with logical API groupings
45+
- Better IDE autocomplete support for all available methods
46+
- More comprehensive method documentation with proper Discogs API links
47+
48+
### Fixed
49+
50+
- Missing method visibility for inventory management operations
51+
- Incomplete API coverage documentation
52+
- Collection folder management methods now properly documented
53+
854
## [3.0.0](https://github.com/calliostro/php-discogs-api/releases/tag/v3.0.0) – 2025-09-08
955

1056
### Added

src/DiscogsApiClient.php

Lines changed: 39 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,8 @@
1717
* @method array<string, mixed> releaseRatingGet(array $params = []) Get release rating — <a href="https://www.discogs.com/developers/#page:database,header:database-release-rating-by-user">https://www.discogs.com/developers/#page:database,header:database-release-rating-by-user</a>
1818
* @method array<string, mixed> releaseRatingPut(array $params = []) Set release rating — <a href="https://www.discogs.com/developers/#page:database,header:database-release-rating-by-user-post">https://www.discogs.com/developers/#page:database,header:database-release-rating-by-user-post</a>
1919
* @method array<string, mixed> releaseRatingDelete(array $params = []) Delete release rating — <a href="https://www.discogs.com/developers/#page:database,header:database-release-rating-by-user-delete">https://www.discogs.com/developers/#page:database,header:database-release-rating-by-user-delete</a>
20+
* @method array<string, mixed> releaseRatingCommunity(array $params = []) Get community release rating — <a href="https://www.discogs.com/developers/#page:database,header:database-release-rating-community">https://www.discogs.com/developers/#page:database,header:database-release-rating-community</a>
21+
* @method array<string, mixed> releaseStats(array $params = []) Get release statistics — <a href="https://www.discogs.com/developers/#page:database,header:database-release-stats">https://www.discogs.com/developers/#page:database,header:database-release-stats</a>
2022
* @method array<string, mixed> masterGet(array $params = []) Get master release information — <a href="https://www.discogs.com/developers/#page:database,header:database-master-release">https://www.discogs.com/developers/#page:database,header:database-master-release</a>
2123
* @method array<string, mixed> masterVersions(array $params = []) Get master release versions — <a href="https://www.discogs.com/developers/#page:database,header:database-master-release-versions">https://www.discogs.com/developers/#page:database,header:database-master-release-versions</a>
2224
* @method array<string, mixed> labelGet(array $params = []) Get label information — <a href="https://www.discogs.com/developers/#page:database,header:database-label">https://www.discogs.com/developers/#page:database,header:database-label</a>
@@ -27,27 +29,62 @@
2729
* @method array<string, mixed> identityGet(array $params = []) Get user identity (OAuth required) — <a href="https://www.discogs.com/developers/#page:user-identity">https://www.discogs.com/developers/#page:user-identity</a>
2830
* @method array<string, mixed> userGet(array $params = []) Get user profile — <a href="https://www.discogs.com/developers/#page:user-identity,header:user-identity-profile">https://www.discogs.com/developers/#page:user-identity,header:user-identity-profile</a>
2931
* @method array<string, mixed> userEdit(array $params = []) Edit user profile — <a href="https://www.discogs.com/developers/#page:user-identity,header:user-identity-profile-post">https://www.discogs.com/developers/#page:user-identity,header:user-identity-profile-post</a>
32+
* @method array<string, mixed> userSubmissions(array $params = []) Get user submissions — <a href="https://www.discogs.com/developers/#page:user-identity,header:user-identity-user-submissions">https://www.discogs.com/developers/#page:user-identity,header:user-identity-user-submissions</a>
33+
* @method array<string, mixed> userContributions(array $params = []) Get user contributions — <a href="https://www.discogs.com/developers/#page:user-identity,header:user-identity-user-contributions">https://www.discogs.com/developers/#page:user-identity,header:user-identity-user-contributions</a>
34+
* @method array<string, mixed> userLists(array $params = []) Get user lists — <a href="https://www.discogs.com/developers/#page:user-lists">https://www.discogs.com/developers/#page:user-lists</a>
3035
*
3136
* Collection methods:
3237
* @method array<string, mixed> collectionFolders(array $params = []) Get collection folders — <a href="https://www.discogs.com/developers/#page:user-collection">https://www.discogs.com/developers/#page:user-collection</a>
33-
* @method array<string, mixed> collectionFolder(array $params = []) Get a collection folder — <a href="https://www.discogs.com/developers/#page:user-collection,header:user-collection-collection-folder">https://www.discogs.com/developers/#page:user-collection,header:user-collection-collection-folder</a>
38+
* @method array<string, mixed> collectionFolderGet(array $params = []) Get a collection folder — <a href="https://www.discogs.com/developers/#page:user-collection,header:user-collection-collection-folder">https://www.discogs.com/developers/#page:user-collection,header:user-collection-collection-folder</a>
39+
* @method array<string, mixed> collectionFolderCreate(array $params = []) Create collection folder (OAuth required) — <a href="https://www.discogs.com/developers/#page:user-collection,header:user-collection-create-folder">https://www.discogs.com/developers/#page:user-collection,header:user-collection-create-folder</a>
40+
* @method array<string, mixed> collectionFolderEdit(array $params = []) Edit collection folder (OAuth required) — <a href="https://www.discogs.com/developers/#page:user-collection,header:user-collection-edit-folder">https://www.discogs.com/developers/#page:user-collection,header:user-collection-edit-folder</a>
41+
* @method array<string, mixed> collectionFolderDelete(array $params = []) Delete collection folder (OAuth required) — <a href="https://www.discogs.com/developers/#page:user-collection,header:user-collection-delete-folder">https://www.discogs.com/developers/#page:user-collection,header:user-collection-delete-folder</a>
3442
* @method array<string, mixed> collectionItems(array $params = []) Get collection items by folder — <a href="https://www.discogs.com/developers/#page:user-collection,header:user-collection-collection-items-by-folder">https://www.discogs.com/developers/#page:user-collection,header:user-collection-collection-items-by-folder</a>
43+
* @method array<string, mixed> collectionItemsByRelease(array $params = []) Get collection instances by release — <a href="https://www.discogs.com/developers/#page:user-collection,header:user-collection-collection-items-by-release">https://www.discogs.com/developers/#page:user-collection,header:user-collection-collection-items-by-release</a>
44+
* @method array<string, mixed> collectionAddRelease(array $params = []) Add release to collection (OAuth required) — <a href="https://www.discogs.com/developers/#page:user-collection,header:user-collection-add-to-collection-folder">https://www.discogs.com/developers/#page:user-collection,header:user-collection-add-to-collection-folder</a>
45+
* @method array<string, mixed> collectionEditRelease(array $params = []) Edit release in collection (OAuth required) — <a href="https://www.discogs.com/developers/#page:user-collection,header:user-collection-change-rating-of-release">https://www.discogs.com/developers/#page:user-collection,header:user-collection-change-rating-of-release</a>
46+
* @method array<string, mixed> collectionRemoveRelease(array $params = []) Remove release from collection (OAuth required) — <a href="https://www.discogs.com/developers/#page:user-collection,header:user-collection-delete-instance-from-folder">https://www.discogs.com/developers/#page:user-collection,header:user-collection-delete-instance-from-folder</a>
47+
* @method array<string, mixed> collectionCustomFields(array $params = []) Get collection custom fields — <a href="https://www.discogs.com/developers/#page:user-collection,header:user-collection-list-custom-fields">https://www.discogs.com/developers/#page:user-collection,header:user-collection-list-custom-fields</a>
48+
* @method array<string, mixed> collectionEditField(array $params = []) Edit collection custom field (OAuth required) — <a href="https://www.discogs.com/developers/#page:user-collection,header:user-collection-edit-fields-instance">https://www.discogs.com/developers/#page:user-collection,header:user-collection-edit-fields-instance</a>
49+
* @method array<string, mixed> collectionValue(array $params = []) Get collection value (OAuth required) — <a href="https://www.discogs.com/developers/#page:user-collection,header:user-collection-collection-value">https://www.discogs.com/developers/#page:user-collection,header:user-collection-collection-value</a>
3550
*
3651
* Wantlist methods:
3752
* @method array<string, mixed> wantlistGet(array $params = []) Get user wantlist — <a href="https://www.discogs.com/developers/#page:user-wantlist">https://www.discogs.com/developers/#page:user-wantlist</a>
53+
* @method array<string, mixed> wantlistAdd(array $params = []) Add release to wantlist (OAuth required) — <a href="https://www.discogs.com/developers/#page:user-wantlist,header:user-wantlist-add-to-wantlist">https://www.discogs.com/developers/#page:user-wantlist,header:user-wantlist-add-to-wantlist</a>
54+
* @method array<string, mixed> wantlistEdit(array $params = []) Edit wantlist release (OAuth required) — <a href="https://www.discogs.com/developers/#page:user-wantlist,header:user-wantlist-edit-notes">https://www.discogs.com/developers/#page:user-wantlist,header:user-wantlist-edit-notes</a>
55+
* @method array<string, mixed> wantlistRemove(array $params = []) Remove release from wantlist (OAuth required) — <a href="https://www.discogs.com/developers/#page:user-wantlist,header:user-wantlist-delete-from-wantlist">https://www.discogs.com/developers/#page:user-wantlist,header:user-wantlist-delete-from-wantlist</a>
3856
*
3957
* Marketplace methods:
4058
* @method array<string, mixed> inventoryGet(array $params = []) Get user inventory — <a href="https://www.discogs.com/developers/#page:marketplace,header:marketplace-inventory">https://www.discogs.com/developers/#page:marketplace,header:marketplace-inventory</a>
41-
* @method array<string, mixed> marketplaceFee(array $params = []) Calculate marketplace fee — <a href="https://www.discogs.com/developers/#page:marketplace,header:marketplace-fee">https://www.discogs.com/developers/#page:marketplace,header:marketplace-fee</a>
4259
* @method array<string, mixed> listingGet(array $params = []) Get marketplace listing — <a href="https://www.discogs.com/developers/#page:marketplace,header:marketplace-listing">https://www.discogs.com/developers/#page:marketplace,header:marketplace-listing</a>
4360
* @method array<string, mixed> listingCreate(array $params = []) Create marketplace listing (OAuth required) — <a href="https://www.discogs.com/developers/#page:marketplace,header:marketplace-new-listing">https://www.discogs.com/developers/#page:marketplace,header:marketplace-new-listing</a>
4461
* @method array<string, mixed> listingUpdate(array $params = []) Update marketplace listing (OAuth required) — <a href="https://www.discogs.com/developers/#page:marketplace,header:marketplace-listing">https://www.discogs.com/developers/#page:marketplace,header:marketplace-listing</a>
4562
* @method array<string, mixed> listingDelete(array $params = []) Delete marketplace listing (OAuth required) — <a href="https://www.discogs.com/developers/#page:marketplace,header:marketplace-listing-delete">https://www.discogs.com/developers/#page:marketplace,header:marketplace-listing-delete</a>
63+
* @method array<string, mixed> marketplaceFee(array $params = []) Calculate marketplace fee — <a href="https://www.discogs.com/developers/#page:marketplace,header:marketplace-fee">https://www.discogs.com/developers/#page:marketplace,header:marketplace-fee</a>
64+
* @method array<string, mixed> marketplaceFeeCurrency(array $params = []) Calculate marketplace fee with currency — <a href="https://www.discogs.com/developers/#page:marketplace,header:marketplace-fee-with-currency">https://www.discogs.com/developers/#page:marketplace,header:marketplace-fee-with-currency</a>
65+
* @method array<string, mixed> marketplacePriceSuggestions(array $params = []) Get marketplace price suggestions (OAuth required) — <a href="https://www.discogs.com/developers/#page:marketplace,header:marketplace-price-suggestions">https://www.discogs.com/developers/#page:marketplace,header:marketplace-price-suggestions</a>
66+
* @method array<string, mixed> marketplaceStats(array $params = []) Get marketplace statistics — <a href="https://www.discogs.com/developers/#page:marketplace,header:marketplace-stats">https://www.discogs.com/developers/#page:marketplace,header:marketplace-stats</a>
4667
* @method array<string, mixed> orderGet(array $params = []) Get order details (OAuth required) — <a href="https://www.discogs.com/developers/#page:marketplace,header:marketplace-order">https://www.discogs.com/developers/#page:marketplace,header:marketplace-order</a>
4768
* @method array<string, mixed> ordersGet(array $params = []) Get orders (OAuth required) — <a href="https://www.discogs.com/developers/#page:marketplace,header:marketplace-list-orders">https://www.discogs.com/developers/#page:marketplace,header:marketplace-list-orders</a>
4869
* @method array<string, mixed> orderUpdate(array $params = []) Update order (OAuth required) — <a href="https://www.discogs.com/developers/#page:marketplace,header:marketplace-order-post">https://www.discogs.com/developers/#page:marketplace,header:marketplace-order-post</a>
4970
* @method array<string, mixed> orderMessages(array $params = []) Get order messages (OAuth required) — <a href="https://www.discogs.com/developers/#page:marketplace,header:marketplace-list-order-messages">https://www.discogs.com/developers/#page:marketplace,header:marketplace-list-order-messages</a>
5071
* @method array<string, mixed> orderMessageAdd(array $params = []) Add an order message (OAuth required) — <a href="https://www.discogs.com/developers/#page:marketplace,header:marketplace-list-order-messages-post">https://www.discogs.com/developers/#page:marketplace,header:marketplace-list-order-messages-post</a>
72+
*
73+
* Inventory Export methods:
74+
* @method array<string, mixed> inventoryExportCreate(array $params = []) Create inventory export (OAuth required) — <a href="https://www.discogs.com/developers/#page:inventory-export">https://www.discogs.com/developers/#page:inventory-export</a>
75+
* @method array<string, mixed> inventoryExportList(array $params = []) List inventory exports (OAuth required) — <a href="https://www.discogs.com/developers/#page:inventory-export">https://www.discogs.com/developers/#page:inventory-export</a>
76+
* @method array<string, mixed> inventoryExportGet(array $params = []) Get inventory export (OAuth required) — <a href="https://www.discogs.com/developers/#page:inventory-export">https://www.discogs.com/developers/#page:inventory-export</a>
77+
* @method array<string, mixed> inventoryExportDownload(array $params = []) Download inventory export (OAuth required) — <a href="https://www.discogs.com/developers/#page:inventory-export">https://www.discogs.com/developers/#page:inventory-export</a>
78+
*
79+
* Inventory Upload methods:
80+
* @method array<string, mixed> inventoryUploadAdd(array $params = []) Add inventory upload (OAuth required) — <a href="https://www.discogs.com/developers/#page:inventory-upload">https://www.discogs.com/developers/#page:inventory-upload</a>
81+
* @method array<string, mixed> inventoryUploadChange(array $params = []) Change inventory upload (OAuth required) — <a href="https://www.discogs.com/developers/#page:inventory-upload">https://www.discogs.com/developers/#page:inventory-upload</a>
82+
* @method array<string, mixed> inventoryUploadDelete(array $params = []) Delete inventory upload (OAuth required) — <a href="https://www.discogs.com/developers/#page:inventory-upload">https://www.discogs.com/developers/#page:inventory-upload</a>
83+
* @method array<string, mixed> inventoryUploadList(array $params = []) List inventory uploads (OAuth required) — <a href="https://www.discogs.com/developers/#page:inventory-upload">https://www.discogs.com/developers/#page:inventory-upload</a>
84+
* @method array<string, mixed> inventoryUploadGet(array $params = []) Get inventory upload (OAuth required) — <a href="https://www.discogs.com/developers/#page:inventory-upload">https://www.discogs.com/developers/#page:inventory-upload</a>
85+
*
86+
* List methods:
87+
* @method array<string, mixed> listGet(array $params = []) Get list — <a href="https://www.discogs.com/developers/#page:user-lists">https://www.discogs.com/developers/#page:user-lists</a>
5188
*/
5289
final class DiscogsApiClient
5390
{

0 commit comments

Comments
 (0)