diff --git a/scripts/seed-industrial-data.ts b/scripts/seed-industrial-data.ts index 31df185..274953c 100644 --- a/scripts/seed-industrial-data.ts +++ b/scripts/seed-industrial-data.ts @@ -4311,21 +4311,27 @@ function buildComponentModelStructure( template?.usage ?? template?.role ?? template?.notes ?? null, ); - if (pieceTypes[typeCode]) { - pieces.push( - normalizedRole - ? { familyCode: typeCode, role: normalizedRole } - : { familyCode: typeCode }, - ); + const pieceType = pieceTypes[typeCode]; + if (pieceType) { + const entry: Record = { typePieceId: pieceType.id }; + if (normalizedRole) { + entry.role = normalizedRole; + } + entry.familyCode = typeCode; + pieces.push(entry as ComponentModelStructure['pieces'][number]); continue; } - if (componentTypes[typeCode]) { - subcomponents.push( - normalizedRole - ? { familyCode: typeCode, alias: normalizedRole } - : { familyCode: typeCode }, - ); + const subcomponentType = componentTypes[typeCode]; + if (subcomponentType) { + const entry: Record = { + typeComposantId: subcomponentType.id, + familyCode: typeCode, + }; + if (normalizedRole) { + entry.alias = normalizedRole; + } + subcomponents.push(entry as ComponentModelStructure['subcomponents'][number]); continue; } @@ -4347,6 +4353,8 @@ function buildComponentModelStructure( ? (template?.suggestedModelCodes as string[]) : []; + const componentType = typeCode ? componentTypes[typeCode] : undefined; + if (suggestedModels.length > 0) { suggestedModels.forEach((modelCode, index) => { const hint = @@ -4354,21 +4362,37 @@ function buildComponentModelStructure( ? `${normalizedAlias} #${index + 1}` : normalizedAlias; const fallbackFamily = typeCode || String(modelCode ?? '').trim() || 'UNKNOWN'; - subcomponents.push( - hint - ? { familyCode: fallbackFamily, alias: hint } - : { familyCode: fallbackFamily }, - ); + const entry: Record = hint ? { alias: hint } : {}; + + if (componentType) { + entry.typeComposantId = componentType.id; + entry.familyCode = typeCode; + } else { + entry.familyCode = fallbackFamily; + } + + subcomponents.push(entry as ComponentModelStructure['subcomponents'][number]); }); continue; } if (typeCode) { - subcomponents.push( - normalizedAlias - ? { familyCode: typeCode, alias: normalizedAlias } - : { familyCode: typeCode }, - ); + if (componentType) { + const entry: Record = { + typeComposantId: componentType.id, + familyCode: typeCode, + }; + if (normalizedAlias) { + entry.alias = normalizedAlias; + } + subcomponents.push(entry as ComponentModelStructure['subcomponents'][number]); + } else { + subcomponents.push( + normalizedAlias + ? { familyCode: typeCode, alias: normalizedAlias } + : { familyCode: typeCode }, + ); + } continue; } }