50 lines
1.4 KiB
TypeScript
50 lines
1.4 KiB
TypeScript
/**
|
|
* Material lookup models matching the Extrudex backend Material DTOs.
|
|
* Used for populating dropdowns in the filament add/edit form.
|
|
*/
|
|
|
|
/** Material base (e.g., PLA, PETG, ABS). */
|
|
export interface MaterialBase {
|
|
/** Unique identifier. */
|
|
id: string;
|
|
/** Human-readable name (e.g., "PLA", "PETG"). */
|
|
name: string;
|
|
/** Density in g/cm³. */
|
|
densityGperCm3: number;
|
|
/** Created timestamp (UTC). */
|
|
createdAt: string;
|
|
/** Updated timestamp (UTC). */
|
|
updatedAt: string;
|
|
}
|
|
|
|
/** Material finish (e.g., Basic, Matte, Silk). */
|
|
export interface MaterialFinish {
|
|
/** Unique identifier. */
|
|
id: string;
|
|
/** Human-readable name (e.g., "Basic", "Matte"). */
|
|
name: string;
|
|
/** Foreign key to the parent material base. */
|
|
materialBaseId: string;
|
|
/** Name of the parent material base (for display). */
|
|
materialBaseName: string;
|
|
/** Created timestamp (UTC). */
|
|
createdAt: string;
|
|
/** Updated timestamp (UTC). */
|
|
updatedAt: string;
|
|
}
|
|
|
|
/** Material modifier (e.g., Carbon Fiber, Wood Fill). Optional. */
|
|
export interface MaterialModifier {
|
|
/** Unique identifier. */
|
|
id: string;
|
|
/** Human-readable name (e.g., "Carbon Fiber"). */
|
|
name: string;
|
|
/** Foreign key to the parent material base. */
|
|
materialBaseId: string;
|
|
/** Name of the parent material base (for display). */
|
|
materialBaseName: string;
|
|
/** Created timestamp (UTC). */
|
|
createdAt: string;
|
|
/** Updated timestamp (UTC). */
|
|
updatedAt: string;
|
|
} |