« get me outta code hell

brb gonna make these into one file now - hsmusic-wiki - HSMusic - static wiki software cataloguing collaborative creation
about summary refs log tree commit diff
path: root/src/thing/album.js
diff options
context:
space:
mode:
author(quasar) nebula <qznebula@protonmail.com>2022-02-12 15:27:14 -0400
committer(quasar) nebula <qznebula@protonmail.com>2022-02-12 15:27:14 -0400
commitcfa02cb03a363c46408db7f0ec54bd3a7e4ad018 (patch)
tree9dbd2f26cc200838717404163037953924f3e194 /src/thing/album.js
parentf028105cbb268af2c3039215557ed6f531c688d4 (diff)
brb gonna make these into one file now
Diffstat (limited to 'src/thing/album.js')
-rw-r--r--src/thing/album.js16
1 files changed, 11 insertions, 5 deletions
diff --git a/src/thing/album.js b/src/thing/album.js
index 426796b..ba75352 100644
--- a/src/thing/album.js
+++ b/src/thing/album.js
@@ -20,6 +20,8 @@ import {
     validateReferenceList,
 } from './validators.js';
 
+import Artist from './artist.js';
+import ArtTag from './art-tag.js';
 import Track from './track.js';
 
 import find from '../util/find.js';
@@ -75,7 +77,7 @@ export class TrackGroup extends CacheableObject {
                         : [])
                 )
             }
-        }
+        },
     };
 }
 
@@ -238,13 +240,17 @@ export default class Album extends Thing {
 
         // Update only
 
-        trackData: {
-            flags: {update: true},
-            update: {validate: validateArrayItems(x => x instanceof Track)}
-        },
+        artistData: Thing.genWikiDataProperty(Artist),
+        trackData: Thing.genWikiDataProperty(Track),
 
         // Expose only
 
+        // Previously known as: (album).artists
+        artistContribs: {
+            flags: {expose: true},
+            expose: Thing.genContribsExpose('artistContribsByRef')
+        },
+
         tracks: {
             flags: {expose: true},