« get me outta code hell

data: constitutibleArtworkList.fromYAMLFieldSpec - hsmusic-wiki - HSMusic - static wiki software cataloguing collaborative creation
about summary refs log tree commit diff
path: root/src/data/things
diff options
context:
space:
mode:
author(quasar) nebula <qznebula@protonmail.com>2025-04-06 15:47:33 -0300
committer(quasar) nebula <qznebula@protonmail.com>2025-04-10 16:02:40 -0300
commitab4d203c7df2e69e331bf4c0ae4522ddee5918cb (patch)
tree32b757ee9e54a674ca3260155e783f9f2c3c705e /src/data/things
parente8670dd43d70ef91df6dc1164d11397de639e3b8 (diff)
data: constitutibleArtworkList.fromYAMLFieldSpec
Also file extension property passing.
Diffstat (limited to 'src/data/things')
-rw-r--r--src/data/things/album.js16
-rw-r--r--src/data/things/track.js14
2 files changed, 20 insertions, 10 deletions
diff --git a/src/data/things/album.js b/src/data/things/album.js
index df19e817..8f21f622 100644
--- a/src/data/things/album.js
+++ b/src/data/things/album.js
@@ -159,11 +159,16 @@ export class Album extends Thing {
       dimensions(),
     ],
 
-    coverArtworks: constitutibleArtworkList({
-      contribs: 'coverArtistContribs',
-      date: 'coverArtDate',
-      artistProperty: input.value('albumCoverArtistContributions'),
-    }),
+    coverArtworks: [
+      exitWithoutDependency({
+        dependency: 'coverArtistContribs',
+        mode: input.value('empty'),
+        value: input.value([]),
+      }),
+
+      constitutibleArtworkList.fromYAMLFieldSpec
+        .call(this, 'Cover Artwork'),
+    ],
 
     hasTrackNumbers: flag(true),
     isListedOnHomepage: flag(true),
@@ -471,6 +476,7 @@ export class Album extends Thing {
         property: 'coverArtworks',
         transform:
           parseArtwork({
+            fileExtensionFromThingProperty: 'coverArtFileExtension',
             dateFromThingProperty: 'coverArtDate',
             artistContribsFromThingProperty: 'coverArtistContribs',
             artistContribsArtistProperty: 'albumCoverArtistContributions',
diff --git a/src/data/things/track.js b/src/data/things/track.js
index 95e8e1fc..4d48407b 100644
--- a/src/data/things/track.js
+++ b/src/data/things/track.js
@@ -309,11 +309,14 @@ export class Track extends Thing {
       }),
     ],
 
-    trackArtworks: constitutibleArtworkList({
-      contribs: 'coverArtistContribs',
-      date: 'coverArtDate',
-      artistProperty: input.value('trackCoverArtistContributions'),
-    }),
+    trackArtworks: [
+      exitWithoutUniqueCoverArt({
+        value: input.value([]),
+      }),
+
+      constitutibleArtworkList.fromYAMLFieldSpec
+        .call(this, 'Track Artwork'),
+    ],
 
     artTags: [
       exitWithoutUniqueCoverArt({
@@ -539,6 +542,7 @@ export class Track extends Thing {
         property: 'trackArtworks',
         transform:
           parseArtwork({
+            fileExtensionFromThingProperty: 'coverArtFileExtension',
             dateFromThingProperty: 'coverArtDate',
             artistContribsFromThingProperty: 'coverArtistContribs',
             artistContribsArtistProperty: 'trackCoverArtistContributions',