« get me outta code hell

data: {Track,Artwork,Contribution}.groups - hsmusic-wiki - HSMusic - static wiki software cataloguing collaborative creation
about summary refs log tree commit diff
path: root/src/data
diff options
context:
space:
mode:
author(quasar) nebula <qznebula@protonmail.com>2025-06-14 09:12:37 -0300
committer(quasar) nebula <qznebula@protonmail.com>2025-06-14 09:12:37 -0300
commit2e644a786783aac2fb5d08e48c2af7a54b98ea00 (patch)
tree5d759ee57a174a54052b935305eec9e02359887e /src/data
parent08293f22ce82a22c5ec91b4752341a98fe71c01c (diff)
data: {Track,Artwork,Contribution}.groups
Just inherited, for easy access.
Diffstat (limited to 'src/data')
-rw-r--r--src/data/things/artwork.js15
-rw-r--r--src/data/things/contribution.js16
-rw-r--r--src/data/things/track.js10
3 files changed, 41 insertions, 0 deletions
diff --git a/src/data/things/artwork.js b/src/data/things/artwork.js
index 75175451..9d7fbcd4 100644
--- a/src/data/things/artwork.js
+++ b/src/data/things/artwork.js
@@ -371,6 +371,21 @@ export class Artwork extends Thing {
     attachingArtworks: reverseReferenceList({
       reverse: soupyReverse.input('artworksWhichAttach'),
     }),
+
+    groups: [
+      withPropertyFromObject({
+        object: 'thing',
+        property: input.value('groups'),
+      }),
+
+      exposeDependencyOrContinue({
+        dependency: '#thing.groups',
+      }),
+
+      exposeConstant({
+        value: input.value([]),
+      }),
+    ],
   });
 
   static [Thing.yamlDocumentSpec] = {
diff --git a/src/data/things/contribution.js b/src/data/things/contribution.js
index b4276fff..90e8eb79 100644
--- a/src/data/things/contribution.js
+++ b/src/data/things/contribution.js
@@ -14,6 +14,7 @@ import {
   exitWithoutDependency,
   exposeConstant,
   exposeDependency,
+  exposeDependencyOrContinue,
   exposeUpdateValueOrContinue,
 } from '#composite/control-flow';
 
@@ -294,6 +295,21 @@ export class Contribution extends Thing {
         dependency: '#nearbyItem',
       }),
     ],
+
+    groups: [
+      withPropertyFromObject({
+        object: 'thing',
+        property: input.value('groups'),
+      }),
+
+      exposeDependencyOrContinue({
+        dependency: '#thing.groups',
+      }),
+
+      exposeConstant({
+        value: input.value([]),
+      }),
+    ],
   });
 
   [inspect.custom](depth, options, inspect) {
diff --git a/src/data/things/track.js b/src/data/things/track.js
index 8419f8ba..69fd31bc 100644
--- a/src/data/things/track.js
+++ b/src/data/things/track.js
@@ -441,6 +441,16 @@ export class Track extends Thing {
       exposeDependency({dependency: '#otherReleases'}),
     ],
 
+    groups: [
+      withPropertyFromAlbum({
+        property: input.value('groups'),
+      }),
+
+      exposeDependency({
+        dependency: '#album.groups',
+      }),
+    ],
+
     referencedByTracks: reverseReferenceList({
       reverse: soupyReverse.input('tracksWhichReference'),
     }),