Map seeded component models to type identifiers
This commit is contained in:
@@ -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<string, unknown> = { 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<string, unknown> = {
|
||||
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<string, unknown> = 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<string, unknown> = {
|
||||
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;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user