CollectionsCollections Database

Libreria Javascript di Discogs

La libreria Javascript di Discogs è un wrapper per le API di Discogs.

Il codice sorgente è disponibile nella repository GitHub.

app.api.discogs
La libreria è accessibile dall'oggetto app.api.discogs
search(query app.query object) array of search results
La funzione cerca delle release e restituisce un array di risultati di ricerca.
getRelease(id integer) release
La funzione ottiene una release da ID. Restituisce una release oppure undefined se questa non esiste.
releaseClass class
Imposta una classe personalizzata per la release, la classe deve estendere app.classes.api.discogs.release
// Discogs search (1.0)
// https://github.com/risolvipro/collections

let results = app.api.discogs.search(app.query);
app.result(results);

Release

app.classes.api.discogs.release
Questa classe gestisce una release.
constructor(data json) release
data json
Dati json restituiti dall'API.
id integer
ID della release.
title string
Titolo della release.
artists array of document builders
Artisti come array di document builder.
imageURL string
URL dell'immagine della release.
requestImage() image
Richiede l'immagine della release, restituisce un oggetto image oppure undefined se la richiesta fallisce.
tracklist array of document builders
Tracklist come array di document builder.
genres array of list item suggestions
Generi come array di suggerimenti per una lista.
styles array of list item suggestions
Stili come array di suggerimenti per una lista.
format list item suggestions
Formato come suggerimento di un elemento lista (CD, Vinyl, ...)
year integer
Anno come numero intero.
configureArtist(artist document, data json)
Implementa questo metodo nella tua classe personalizzata per configurare un artista prima che venga aggiunto all'array artists.
configureTrack(track document, data json)
Implementa questo metodo nella tua classe personalizzata per configurare una traccia prima che venga aggiunta all'array tracklist.
// Discogs document (1.0)
// https://github.com/risolvipro/collections

let release = app.api.discogs.getRelease(app.params.id);

if(release == undefined) {
    app.fail();
}

let builder = app.document.builder();

builder.setString(release.title, "title");
builder.setDocuments(release.artists, "artists");
builder.setImage(release.requestImage(), "cover");
builder.setManagedDocuments(release.tracklist, "tracks");
builder.setListItem(release.format, "format");
builder.setListItems(release.genres, "genre");
builder.setListItems(release.styles, "style");
builder.setInteger(release.year, "year");
builder.setString(app.params.barcode, "barcode");

app.result(builder);