« get me outta code hell

data: Artwork.artTags: don't assume inherited from thing - 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-12 17:40:04 -0300
committer(quasar) nebula <qznebula@protonmail.com>2025-04-12 17:40:04 -0300
commitf208ec7da855271d9854245823572c1572ce4a5a (patch)
tree9624784eb8ba5164cb76cda277b913422f2edd83 /src/data/things
parent8c617fbd7f9ce3106188d8ca726f4f157eeacf05 (diff)
data: Artwork.artTags: don't assume inherited from thing
Diffstat (limited to 'src/data/things')
-rw-r--r--src/data/things/album.js1
-rw-r--r--src/data/things/artwork.js13
-rw-r--r--src/data/things/track.js1
3 files changed, 13 insertions, 2 deletions
diff --git a/src/data/things/album.js b/src/data/things/album.js
index 7c85366a..613bbc28 100644
--- a/src/data/things/album.js
+++ b/src/data/things/album.js
@@ -505,6 +505,7 @@ export class Album extends Thing {
             dateFromThingProperty: 'coverArtDate',
             artistContribsFromThingProperty: 'coverArtistContribs',
             artistContribsArtistProperty: 'albumCoverArtistContributions',
+            artTagsFromThingProperty: 'artTags',
           }),
       },
 
diff --git a/src/data/things/artwork.js b/src/data/things/artwork.js
index 65032d86..1c9872f7 100644
--- a/src/data/things/artwork.js
+++ b/src/data/things/artwork.js
@@ -179,6 +179,8 @@ export class Artwork extends Thing {
       }),
     ],
 
+    artTagsFromThingProperty: simpleString(),
+
     artTags: [
       withResolvedReferenceList({
         list: input.updateValue({
@@ -194,13 +196,20 @@ export class Artwork extends Thing {
         mode: input.value('empty'),
       }),
 
+      exitWithoutDependency({
+        dependency: 'artTagsFromThingProperty',
+        value: input.value([]),
+      }),
+
       withPropertyFromObject({
         object: 'thing',
-        property: input.value('artTags'),
+        property: 'artTagsFromThingProperty',
+      }).outputs({
+        ['#value']: '#artTags',
       }),
 
       exposeDependencyOrContinue({
-        dependency: '#thing.artTags',
+        dependency: '#artTags',
       }),
 
       exposeConstant({
diff --git a/src/data/things/track.js b/src/data/things/track.js
index 2d2cc002..d7cb2b58 100644
--- a/src/data/things/track.js
+++ b/src/data/things/track.js
@@ -533,6 +533,7 @@ export class Track extends Thing {
             dimensionsFromThingProperty: 'coverArtDimensions',
             fileExtensionFromThingProperty: 'coverArtFileExtension',
             dateFromThingProperty: 'coverArtDate',
+            artTagsFromThingProperty: 'artTags',
             artistContribsFromThingProperty: 'coverArtistContribs',
             artistContribsArtistProperty: 'trackCoverArtistContributions',
           }),