From 6a86a6aca6215cb4d464b814c34233b001575cd9 Mon Sep 17 00:00:00 2001 From: "(quasar) nebula" Date: Sat, 12 Mar 2022 19:07:22 -0400 Subject: simple data serialization & random pages fixes --- src/data/things.js | 78 +++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 77 insertions(+), 1 deletion(-) (limited to 'src/data/things.js') diff --git a/src/data/things.js b/src/data/things.js index 5889b11..2d199c1 100644 --- a/src/data/things.js +++ b/src/data/things.js @@ -28,6 +28,8 @@ import { validateReferenceList, } from './validators.js'; +import * as S from './serialize.js'; + import { getKebabCase, } from '../util/wiki-data.js'; @@ -508,6 +510,43 @@ Album.propertyDescriptors = { artTags: Thing.common.dynamicThingsFromReferenceList('artTagsByRef', 'artTagData', find.artTag), }; +Album[S.serializeDescriptors] = { + name: S.id, + color: S.id, + directory: S.id, + urls: S.id, + + date: S.id, + coverArtDate: S.id, + trackArtDate: S.id, + dateAddedToWiki: S.id, + + artistContribs: S.toContribRefs, + coverArtistContribs: S.toContribRefs, + trackCoverArtistContribs: S.toContribRefs, + wallpaperArtistContribs: S.toContribRefs, + bannerArtistContribs: S.toContribRefs, + + coverArtFileExtension: S.id, + trackCoverArtFileExtension: S.id, + wallpaperStyle: S.id, + wallpaperFileExtension: S.id, + bannerStyle: S.id, + bannerFileExtension: S.id, + bannerDimensions: S.id, + + hasTrackArt: S.id, + isMajorRelease: S.id, + isListedOnHomepage: S.id, + + commentary: S.id, + + tracks: S.toRefs, + groups: S.toRefs, + artTags: S.toRefs, + commentatorArtists: S.toRefs, +}; + TrackGroup.propertyDescriptors = { // Update & expose @@ -781,7 +820,7 @@ Track.prototype[inspect.custom] = function() { return (albumName ? base + ` (${color.yellow(trackNum)} in ${color.green(albumName)})` : base); -} +}; // -> Artist @@ -871,6 +910,7 @@ Artist.propertyDescriptors = { } }, + albumsAsAlbumArtist: Artist.filterByContrib('albumData', 'artistContribs'), albumsAsCoverArtist: Artist.filterByContrib('albumData', 'coverArtistContribs'), albumsAsWallpaperArtist: Artist.filterByContrib('albumData', 'wallpaperArtistContribs'), albumsAsBannerArtist: Artist.filterByContrib('albumData', 'bannerArtistContribs'), @@ -889,6 +929,31 @@ Artist.propertyDescriptors = { flashesAsContributor: Artist.filterByContrib('flashData', 'contributorContribs'), }; +Artist[S.serializeDescriptors] = { + name: S.id, + directory: S.id, + urls: S.id, + contextNotes: S.id, + + hasAvatar: S.id, + avatarFileExtension: S.id, + + aliasNames: S.id, + + tracksAsArtist: S.toRefs, + tracksAsContributor: S.toRefs, + tracksAsCoverArtist: S.toRefs, + tracksAsCommentator: S.toRefs, + + albumsAsAlbumArtist: S.toRefs, + albumsAsCoverArtist: S.toRefs, + albumsAsWallpaperArtist: S.toRefs, + albumsAsBannerArtist: S.toRefs, + albumsAsCommentator: S.toRefs, + + flashesAsContributor: S.toRefs, +}; + // -> Group Group.propertyDescriptors = { @@ -1202,6 +1267,17 @@ Flash.propertyDescriptors = { }, }; +Flash[S.serializeDescriptors] = { + name: S.id, + page: S.id, + directory: S.id, + date: S.id, + contributors: S.toContribRefs, + tracks: S.toRefs, + urls: S.id, + color: S.id, +}; + FlashAct.propertyDescriptors = { // Update & expose -- cgit 1.3.0-6-gf8a5