Index: database/drizzle/queries/components.ts
===================================================================
--- database/drizzle/queries/components.ts	(revision 387083452a874472599c1fd728bdeea99bf1c966)
+++ database/drizzle/queries/components.ts	(revision dda6f510ec987719a7348d64c6a1bbfbcfc4aa8c)
@@ -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 ?? {},
     };
 }
