sriccio / laravel-discogs
An easy to use Laravel-Discogs package.
Requires
- php: ^7.1.3|^8.0
- sriccio/discogs-api: *
Requires (Dev)
- orchestra/testbench: ^3.6
- phpunit/phpunit: ^7
This package is not auto-updated.
Last update: 2024-11-11 09:22:26 UTC
README
Installation
You can install the package via composer:
composer require jolitagrazyte/laravel-discogs
Post-installation
You must set the service provider of this package in your application file.
// config/app.php 'provider' => [ ... Jolita\LaravelDiscogs\DiscogsServiceProvider::class, ... ];
This package also comes with a facade, which provides an easy way to call the the class.
// config/app.php 'aliases' => [ ... 'Discogs' => Jolita\LaravelDiscogs\DiscogsFacade::class, ... ];
Next up, you must publish the config file of this package with this command:
php artisan vendor:publish --provider="Jolita\LaravelDiscogs\DiscogsServiceProvider"
The following config file will be published in config/laravel-discogs.php
Some of the endpoints require authentication.
If you want to use one of those you must set your token.
/* * Token is your discogs token that you can obtain on https://www.discogs.com/settings/developers page. * User-Agent is a name of your application, for example 'MyAmazingDiscogsApp/1.0'. * */ return [ 'token' => env('DISCOGS_TOKEN', ''), 'headers' => [ 'User-Agent' => '', ], ];
Usage
Usage of this package is really simple.
For the most of the endpoints there is a method.
Optionally you can also use the get()-method.
Endpoints with no authentication required
// Get artist where id is 1. $artist = Discogs::artist('1'); // Request all the relases of the artist where id is 1. $artistRelease = Discogs::artistRelease('1'); // Get label where id is 1. $label = Discogs::label('1'); // Request all the relases of the label where id is 1. $labelRelease = Discogs::labelRelease('1'); // Get relase where id is 1. $release = Discogs::release('1'); // Get listing where id is 1234. $listing = Discogs::getMarketplaceListing('1234')
Inventory not authenticated
If you are not authenticated as the inventory owner, only items that have a status of For Sale will be visible.
// Get inventory where username is username. $inventory = Discogs::getUsersInventory('username')
Endpoints where authentication is required
For the endpoints where authentication is required you must make sure that you have a token placed in your .env file or straight in the configuration file: config/laravel-discogs.php .
Orders
$myOrders = Discogs::getMyOrders(); // Get order with id 1234 $order = Discogs::orderWithId('1234'); // Get messages of the order with id 1234 $orderMessages = Discogs::orderMessages('1234')
Search
If you want to add some extra search parameters you can do it by first creating a SearchParameters object and then chaining as many options as you want.
// create a SearchParameters object $searchParameters = new SearchParameters(); //chain some search paramater $searchParameters->type('label')->format('lp')->year('1996'); //do a search request with query = 'MoWax' and passing the SearchParameters object $searchResult = Discogs::search('MoWax', $searchParameters);
Inventory
When requesting your own inventory you also must authenticate.
As the inventory owner you will get additional weight, format_quantity, external_id, and location keys.
// Get inventory where username is username. $inventory = Discogs::getUsersInventory('username')
Changelog
Please see CHANGELOG for more information what has changed recently.
Testing
$ composer test
Contributing
Please see CONTRIBUTING for details.
Security
If you discover any security related issues, please email hello@jolitagrazyte.com instead of using the issue tracker.
Credits
About Spatie
Spatie is a webdesign agency based in Antwerp, Belgium. You'll find an overview of all our open source projects on our website.
License
The MIT License (MIT). Please see License File for more information.