« get me outta code hell

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:
Diffstat (limited to 'src/data/things')
-rw-r--r--src/data/things/album.js2
-rw-r--r--src/data/things/track.js2
-rw-r--r--src/data/things/validators.js13
3 files changed, 12 insertions, 5 deletions
diff --git a/src/data/things/album.js b/src/data/things/album.js
index 0c0c7fb4..2a188f2d 100644
--- a/src/data/things/album.js
+++ b/src/data/things/album.js
@@ -106,7 +106,6 @@ export class Album extends Thing {
     hasCoverArt: Thing.common.flag(true),
     hasTrackArt: Thing.common.flag(true),
     hasTrackNumbers: Thing.common.flag(true),
-    isMajorRelease: Thing.common.flag(false),
     isListedOnHomepage: Thing.common.flag(true),
     isListedInGalleries: Thing.common.flag(true),
 
@@ -192,7 +191,6 @@ export class Album extends Thing {
     bannerDimensions: S.id,
 
     hasTrackArt: S.id,
-    isMajorRelease: S.id,
     isListedOnHomepage: S.id,
 
     commentary: S.id,
diff --git a/src/data/things/track.js b/src/data/things/track.js
index aecc876f..0751b2d0 100644
--- a/src/data/things/track.js
+++ b/src/data/things/track.js
@@ -34,8 +34,6 @@ export class Track extends Thing {
     urls: Thing.common.urls(),
     dateFirstReleased: Thing.common.simpleDate(),
 
-    hasURLs: Thing.common.flag(true),
-
     artistContribsByRef: Thing.common.contribsByRef(),
     contributorContribsByRef: Thing.common.contribsByRef(),
     coverArtistContribsByRef: Thing.common.contribsByRef(),
diff --git a/src/data/things/validators.js b/src/data/things/validators.js
index 24db3c79..b116120a 100644
--- a/src/data/things/validators.js
+++ b/src/data/things/validators.js
@@ -195,7 +195,18 @@ export function isColor(color) {
 }
 
 export function isCommentary(commentary) {
-  return isString(commentary);
+  isString(commentary);
+
+  const [firstLine] = commentary.match(/.*/);
+  if (!firstLine.replace(/<\/b>/g, '').includes(':</i>')) {
+    throw new TypeError(`Missing commentary citation: "${
+      firstLine.length > 40
+        ? firstLine.slice(0, 40) + '...'
+        : firstLine
+    }"`);
+  }
+
+  return true;
 }
 
 const isArtistRef = validateReference('artist');