diff options
| author | (quasar) nebula <qznebula@protonmail.com> | 2026-06-11 17:37:16 -0300 |
|---|---|---|
| committer | (quasar) nebula <qznebula@protonmail.com> | 2026-06-11 17:37:16 -0300 |
| commit | 74e869bf0772171cdf7cfd76a24afd5653235e5a (patch) | |
| tree | f4bbdb53b27db3d2d65ae20d8a1c86ffaf4f1f38 | |
| parent | a07125a6500366436e536be1737105ede1be97c5 (diff) | |
data: various nicer drops in invalidFieldCombinations
| -rw-r--r-- | src/data/things/MusicVideo.js | 13 | ||||
| -rw-r--r-- | src/data/things/Track.js | 59 | ||||
| -rw-r--r-- | src/data/things/album/Album.js | 56 |
3 files changed, 92 insertions, 36 deletions
diff --git a/src/data/things/MusicVideo.js b/src/data/things/MusicVideo.js index dbb99a7f..18b0c9cd 100644 --- a/src/data/things/MusicVideo.js +++ b/src/data/things/MusicVideo.js @@ -163,10 +163,15 @@ export class MusicVideo extends Thing { }, invalidFieldCombinations: [ - {message: `Specify all URLs on "URLs" field, if specifying multiple`, fields: [ - 'URL', - 'URLs', - ]}, + { + message: `Specify all URLs on "URLs" field, if specifying multiple`, fields: [ + 'URL', + 'URLs', + ], + + // Leave it to data processing. + drop: [], + }, ], }; 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'], + }, ], }; diff --git a/src/data/things/album/Album.js b/src/data/things/album/Album.js index 1d1e8aac..11cae60f 100644 --- a/src/data/things/album/Album.js +++ b/src/data/things/album/Album.js @@ -1010,30 +1010,54 @@ export class Album extends Thing { }, invalidFieldCombinations: [ - {message: `Move commentary on singles to the track`, fields: [ - ['Style', 'single'], - 'Commentary', - ]}, + { + message: `Move commentary on singles to the track`, - {message: `Move crediting sources on singles to the track`, fields: [ - ['Style', 'single'], - 'Crediting Sources', - ]}, + fields: [ + ['Style', 'single'], + 'Commentary', + ], - {message: `Move additional names on singles to the track`, fields: [ - ['Style', 'single'], - 'Additional Names', - ]}, + drop: ['Commentary'], + }, + + { + message: `Move crediting sources on singles to the track`, + + fields: [ + ['Style', 'single'], + 'Crediting Sources', + ], + + drop: ['Crediting Sources'], + }, + + { + message: `Move additional names on singles to the track`, + + fields: [ + ['Style', 'single'], + 'Additional Names', + ], + + drop: ['Additional Names'], + }, {message: `Specify one wallpaper style or multiple wallpaper parts, not both`, fields: [ 'Wallpaper Parts', 'Wallpaper Style', ]}, - {message: `Wallpaper file extensions are specified on asset, per part`, fields: [ - 'Wallpaper Parts', - 'Wallpaper File Extension', - ]}, + { + message: `Wallpaper file extensions are specified on asset, per part`, + + fields: [ + 'Wallpaper Parts', + 'Wallpaper File Extension', + ], + + drop: ['Wallpaper File Extension'], + }, { message: `Albums of style 'in-game vgm' have cover art by default`, |