use super::semantic_ids;
#[derive(Debug, Clone, PartialEq)]
pub struct SubmodelTemplate {
pub sector_key: &'static str,
pub semantic_id: &'static str,
pub version: &'static str,
pub is_placeholder: bool,
}
static SUBMODEL_TEMPLATES: &[SubmodelTemplate] = &[
SubmodelTemplate {
sector_key: "battery",
semantic_id: semantic_ids::BATTERY_TECHNICAL_DATA,
version: "6.0.0",
is_placeholder: false,
},
SubmodelTemplate {
sector_key: "textile",
semantic_id: semantic_ids::TEXTILE_MATERIAL,
version: "1.0",
is_placeholder: true,
},
SubmodelTemplate {
sector_key: "electronics",
semantic_id: semantic_ids::ELECTRONICS_PRODUCT_DATA,
version: "1.0",
is_placeholder: true,
},
SubmodelTemplate {
sector_key: "steel",
semantic_id: semantic_ids::STEEL_PRODUCT_DATA,
version: "1.0",
is_placeholder: true,
},
SubmodelTemplate {
sector_key: "construction",
semantic_id: semantic_ids::CONSTRUCTION_PRODUCT_DATA,
version: "1.0",
is_placeholder: true,
},
SubmodelTemplate {
sector_key: "tyre",
semantic_id: semantic_ids::TYRE_PRODUCT_DATA,
version: "1.0",
is_placeholder: true,
},
SubmodelTemplate {
sector_key: "toy",
semantic_id: semantic_ids::TOY_PRODUCT_DATA,
version: "1.0",
is_placeholder: true,
},
SubmodelTemplate {
sector_key: "aluminium",
semantic_id: semantic_ids::ALUMINIUM_PRODUCT_DATA,
version: "1.0",
is_placeholder: true,
},
SubmodelTemplate {
sector_key: "furniture",
semantic_id: semantic_ids::FURNITURE_PRODUCT_DATA,
version: "1.0",
is_placeholder: true,
},
SubmodelTemplate {
sector_key: "detergent",
semantic_id: semantic_ids::DETERGENT_PRODUCT_DATA,
version: "1.0",
is_placeholder: true,
},
SubmodelTemplate {
sector_key: "unsold-goods",
semantic_id: semantic_ids::UNSOLD_GOODS_REPORT,
version: "1.0",
is_placeholder: true,
},
];
pub fn sector_submodel_template(sector_key: &str) -> Option<&'static SubmodelTemplate> {
SUBMODEL_TEMPLATES
.iter()
.find(|t| t.sector_key == sector_key)
}
pub fn placeholder_templates() -> impl Iterator<Item = &'static SubmodelTemplate> {
SUBMODEL_TEMPLATES.iter().filter(|t| t.is_placeholder)
}