« get me outta code hell

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:
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 426796b0..ba75352d 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},