From b9d1e8d935f7e3e833ccac1fa07bcdf196d7bdc8 Mon Sep 17 00:00:00 2001 From: "(quasar) nebula" Date: Thu, 10 Apr 2025 15:05:56 -0300 Subject: content: general multiple artworks integration --- src/content/dependencies/linkReferencedArtworks.js | 24 ++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 src/content/dependencies/linkReferencedArtworks.js (limited to 'src/content/dependencies/linkReferencedArtworks.js') diff --git a/src/content/dependencies/linkReferencedArtworks.js b/src/content/dependencies/linkReferencedArtworks.js new file mode 100644 index 00000000..c456b808 --- /dev/null +++ b/src/content/dependencies/linkReferencedArtworks.js @@ -0,0 +1,24 @@ +import Thing from '#thing'; + +export default { + contentDependencies: [ + 'linkAlbumReferencedArtworks', + 'linkTrackReferencedArtworks', + ], + + query: (artwork) => ({ + referenceType: + artwork.thing.constructor[Thing.referenceType], + }), + + relations: (relation, query, artwork) => ({ + link: + (query.referenceType === 'album' + ? relation('linkAlbumReferencedArtworks', artwork.thing) + : query.referenceType === 'track' + ? relation('linkTrackReferencedArtworks', artwork.thing) + : null), + }), + + generate: (relations) => relations.link, +}; -- cgit 1.3.0-6-gf8a5