From 74e869bf0772171cdf7cfd76a24afd5653235e5a Mon Sep 17 00:00:00 2001 From: "(quasar) nebula" Date: Thu, 11 Jun 2026 17:37:16 -0300 Subject: data: various nicer drops in invalidFieldCombinations --- src/data/things/Track.js | 59 +++++++++++++++++++++++++++++++++++------------- 1 file changed, 43 insertions(+), 16 deletions(-) (limited to 'src/data/things/Track.js') diff --git a/src/data/things/Track.js b/src/data/things/Track.js index f6b3346c..0806de36 100644 --- a/src/data/things/Track.js +++ b/src/data/things/Track.js @@ -1265,20 +1265,38 @@ export class Track extends Thing { }, invalidFieldCombinations: [ - {message: `Secondary releases never count in artist totals`, fields: [ - 'Main Release', - 'Count In Artist Totals', - ]}, + { + message: `Secondary releases never count in artist totals`, - {message: `Secondary releases inherit references from the main one`, fields: [ - 'Main Release', - 'Referenced Tracks', - ]}, + fields: [ + 'Main Release', + 'Count In Artist Totals', + ], - {message: `Secondary releases inherit samples from the main one`, fields: [ - 'Main Release', - 'Sampled Tracks', - ]}, + drop: ['Count In Artist Totals'], + }, + + { + message: `Secondary releases inherit references from the main one`, + + fields: [ + 'Main Release', + 'Referenced Tracks', + ], + + drop: ['Referenced Tracks'], + }, + + { + message: `Secondary releases inherit samples from the main one`, + + fields: [ + 'Main Release', + 'Sampled Tracks', + ], + + drop: ['Sampled Tracks'], + }, { message: ({'Has Cover Art': hasCoverArt}) => @@ -1290,6 +1308,9 @@ export class Track extends Thing { 'Has Cover Art', 'Cover Artists', ], + + // We ball - data code handles this as it might. + drop: [], }, {message: `Only one unique date per track is supported`, fields: [ @@ -1297,10 +1318,16 @@ export class Track extends Thing { 'Date Posted', ]}, - {message: `Don't include URLs alongside Excluding URLs, unless Excluding URLs is false`, fields: [ - 'URLs', - ['Excluding URLs', v => v !== false], - ]}, + { + message: `Don't include URLs alongside Excluding URLs, unless Excluding URLs is false`, + + fields: [ + 'URLs', + ['Excluding URLs', v => v !== false], + ], + + drop: ['URLs'], + }, ], }; -- cgit 1.3.0-6-gf8a5