From 60f431d6cf87a5fa79b910568f171b00726828b5 Mon Sep 17 00:00:00 2001 From: velvettear Date: Wed, 15 Jun 2022 17:04:18 +0200 Subject: [PATCH] fixed creation of database entries / links --- classes/Queue.js | 40 +++++++++------------------------------- 1 file changed, 9 insertions(+), 31 deletions(-) diff --git a/classes/Queue.js b/classes/Queue.js index 037c12f..556c7c2 100644 --- a/classes/Queue.js +++ b/classes/Queue.js @@ -4,6 +4,8 @@ const { extname } = require('path'); const Artist = require('../models/Artist.js'); const Album = require('../models/Album.js'); const Track = require('../models/Track.js'); +const TrackToArtist = require('../models/TrackToArtist.js'); +const TrackToAlbum = require('../models/TrackToAlbum.js'); const AlbumToArtist = require('../models/AlbumToArtist.js'); class Queue { @@ -82,8 +84,8 @@ class Queue { const artists = await this.addArtist(tags); const album = await this.addAlbum(tags); const track = await this.addTrack(tags, file); - // this.linkTrackToArtist(track, artist); - // this.linkTrackToAlbum(track, album); + this.linkTrackToArtists(track, artists); + this.linkTrackToAlbum(track, album); this.linkAlbumToArtists(album, artists); } @@ -152,23 +154,12 @@ class Queue { return track; } - async linkTrackToArtist(track, artist) { - if (track === undefined || artist === undefined) { + async linkTrackToArtists(track, artists) { + if (track === undefined || artists === undefined || artists.length === 0) { return; } - try { - const [element, created] = await database.models.TrackToArtist.findOrCreate({ - where: { - track: track.id, - artist: artist.id - } - }); - if (created) { - logger.debug('linked track \'' + track.id + '\' to artist \'' + artist.id + '\': ' + JSON.stringify(element)); - } - return element; - } catch (err) { - logger.error('error finding or creating tracktoartist entry for track \'' + track.id + '\' and album \'' + artist.id + '\' > ' + err); + for (let index = 0; index < artists.length; index++) { + await new TrackToArtist(track, artists[index]).save(); } } @@ -176,20 +167,7 @@ class Queue { if (track === undefined || album === undefined) { return; } - try { - const [element, created] = await database.models.TrackToAlbum.findOrCreate({ - where: { - track: track.id, - album: album.id - } - }); - if (created) { - logger.debug('linked track \'' + track.id + '\' to album \'' + album.id + '\': ' + JSON.stringify(element)); - } - return element; - } catch (err) { - logger.error('error finding or creating tracktoalbum entry for track \'' + track.id + '\' and album \'' + album.id + '\' > ' + err); - } + await new TrackToAlbum(track, album).save(); } async linkAlbumToArtists(album, artists) {