« get me outta code hell

yaml, data: store document specs statically on Thing subclasses - hsmusic-wiki - HSMusic - static wiki software cataloguing collaborative creation
about summary refs log tree commit diff
path: root/src/data/things/group.js
diff options
context:
space:
mode:
author(quasar) nebula <qznebula@protonmail.com>2024-01-20 16:13:36 -0400
committer(quasar) nebula <qznebula@protonmail.com>2024-01-30 07:59:34 -0400
commit296a4961a951e44ea53509391ad225d1491197f9 (patch)
tree4bdedf0f85b7af8d3039bb46ccfd2f1f600db5ce /src/data/things/group.js
parentac277f23abe0d8432a94f72913f4421b0eebaa62 (diff)
yaml, data: store document specs statically on Thing subclasses
Diffstat (limited to 'src/data/things/group.js')
-rw-r--r--src/data/things/group.js20
1 files changed, 20 insertions, 0 deletions
diff --git a/src/data/things/group.js b/src/data/things/group.js
index 38d169de..a9708fb4 100644
--- a/src/data/things/group.js
+++ b/src/data/things/group.js
@@ -85,6 +85,19 @@ export class Group extends Thing {
       },
     },
   });
+
+  static [Thing.yamlDocumentSpec] = {
+    propertyFieldMapping: {
+      name: 'Group',
+      directory: 'Directory',
+      description: 'Description',
+      urls: 'URLs',
+
+      featuredAlbums: 'Featured Albums',
+    },
+
+    ignoredFields: ['Review Points'],
+  };
 }
 
 export class GroupCategory extends Thing {
@@ -111,4 +124,11 @@ export class GroupCategory extends Thing {
       class: input.value(Group),
     }),
   });
+
+  static [Thing.yamlDocumentSpec] = {
+    propertyFieldMapping: {
+      name: 'Category',
+      color: 'Color',
+    },
+  };
 }