Index: database/drizzle/queries/components.ts
===================================================================
--- database/drizzle/queries/components.ts	(revision 8a7f936ef2c6040183ae33f4b63947eecf8bf3b2)
+++ database/drizzle/queries/components.ts	(revision 958bc89ea8bee009837593ad11242676e8d031f1)
@@ -12,5 +12,5 @@
 } from "../schema";
 import {and, asc, desc, eq, ilike, SQL, sql} from "drizzle-orm";
-import {typeConfigMap, ComponentType} from "../util/componentFieldConfig";
+import {typeConfigMap, ComponentType, requiredFields} from "../util/componentFieldConfig";
 import {AnyPgColumn} from "drizzle-orm/pg-core";
 import {inArray} from "drizzle-orm/sql/expressions/conditions";
@@ -101,4 +101,14 @@
         ...component,
         details: details
+    };
+}
+
+export async function getDetailsForNewComponent(componentType: string) {
+    const config = typeConfigMap[componentType as ComponentType];
+
+    return {
+        type: componentType as ComponentType,
+        requiredFields: requiredFields[componentType as ComponentType] ?? [],
+        multiTables: config.multiTables ?? {},
     };
 }
