UNPKG

graphbrainz

Version:

A GraphQL schema, Express server, and middleware for querying the MusicBrainz.

41 lines (39 loc) 1.19 kB
import schema from './schema.js'; import resolvers from './resolvers.js'; import createLoaders from './loaders.js'; import CoverArtArchiveClient from './client.js'; import { ONE_DAY } from '../../util.js'; export default { name: 'Cover Art Archive', description: `Retrieve cover art images for releases from the [Cover Art Archive](https://coverartarchive.org/).`, extendContext(context, { coverArtClient, coverArtArchive = {} } = {}) { const client = coverArtClient || new CoverArtArchiveClient(coverArtArchive); const cacheSize = parseInt( process.env.COVER_ART_ARCHIVE_CACHE_SIZE || process.env.GRAPHBRAINZ_CACHE_SIZE || 8192, 10 ); const cacheTTL = parseInt( process.env.COVER_ART_ARCHIVE_CACHE_TTL || process.env.GRAPHBRAINZ_CACHE_TTL || ONE_DAY, 10 ); return { ...context, // Add the client instance directly onto `context` for backwards // compatibility. coverArtClient: client, loaders: { ...context.loaders, ...createLoaders({ client, cacheSize, cacheTTL }), }, }; }, extendSchema: { schemas: [schema], resolvers, }, };