combine.fm/lib/share.js

49 lines
1.1 KiB
JavaScript
Raw Normal View History

import co from 'co';
import debuglog from 'debug';
2020-01-18 10:19:20 +00:00
import models from '../models/index.cjs';
2017-10-23 17:58:23 +01:00
const debug = debuglog('combine.fm:share');
export function find(music) {
return models[music.type].findOne({
where: {
2017-05-26 19:47:17 +01:00
externalId: music.id.toString(),
},
include: [
{ model: models.artist },
{ model: models.match },
],
});
}
export function create(music) {
return models[music.type].create({
2017-05-26 19:47:17 +01:00
externalId: music.id.toString(),
service: music.service,
name: music.name,
albumName: music.type === 'track' ? music.album.name : null,
artist: {
name: music.artist.name,
artworkSmall: null,
artworkLarge: null,
},
matches: [
{
2017-05-26 19:47:17 +01:00
externalId: music.id.toString(),
service: music.service,
name: music.name,
streamUrl: music.streamUrl,
purchaseUrl: music.purchaseUrl,
artworkSmall: music.artwork.small,
artworkLarge: music.artwork.large,
},
],
}, {
include: [
{ model: models.artist },
{ model: models.match },
],
});
}