- Timestamp:
- 12/29/25 03:57:02 (6 months ago)
- Branches:
- main
- Children:
- f46bf5c
- Parents:
- 3870834
- Location:
- database/drizzle
- Files:
-
- 2 edited
-
queries/components.ts (modified) (2 diffs)
-
util/componentFieldConfig.ts (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
database/drizzle/queries/components.ts
r3870834 rdda6f51 12 12 } from "../schema"; 13 13 import {and, asc, desc, eq, ilike, SQL, sql} from "drizzle-orm"; 14 import {typeConfigMap, ComponentType } from "../util/componentFieldConfig";14 import {typeConfigMap, ComponentType, requiredFields} from "../util/componentFieldConfig"; 15 15 import {AnyPgColumn} from "drizzle-orm/pg-core"; 16 16 import {inArray} from "drizzle-orm/sql/expressions/conditions"; … … 101 101 ...component, 102 102 details: details 103 }; 104 } 105 106 export async function getDetailsForNewComponent(componentType: string) { 107 const config = typeConfigMap[componentType as ComponentType]; 108 109 return { 110 type: componentType as ComponentType, 111 requiredFields: requiredFields[componentType as ComponentType] ?? [], 112 multiTables: config.multiTables ?? {}, 103 113 }; 104 114 } -
database/drizzle/util/componentFieldConfig.ts
r3870834 rdda6f51 108 108 return true; 109 109 } 110 111 export function getValidationError(type: string, specificData: any): string | null {112 if (!(type in requiredFields)) {113 return `Invalid component type: ${type}`;114 }115 116 const fields = requiredFields[type as ComponentType];117 const missingFields: string[] = [];118 119 for (const field of fields) {120 const value = specificData[field];121 if (value === undefined || value === null || value === '') {122 missingFields.push(field);123 }124 }125 126 if (missingFields.length > 0) {127 return `Missing required fields: ${missingFields.join(', ')}`;128 }129 130 return null;131 }
Note:
See TracChangeset
for help on using the changeset viewer.
