@jss-rule-engine/core
Version:
Rule engine for Sitecore JSS
26 lines (18 loc) • 920 B
text/typescript
import { RuleData, RuleEngineContext } from "../types/ruleEngine";
export default async function(rule:RuleData, ruleContext: RuleEngineContext) {
let templateid = rule.attributes?.get('templateid');
if(!templateid){
throw new Error("value or operatorid attribute is missing.")
}
templateid = templateid.replaceAll('{','').replaceAll('}','').replaceAll('-','').toUpperCase();
if(!ruleContext?.sitecoreContext?.itemProvider)
{
throw new Error("Sitecore context or GraphQL provider is not setup.")
}
var currentTemplateId = ruleContext.sitecoreContext.templateId;
if (!currentTemplateId) {
throw new Error("Current item is missing");
}
currentTemplateId = currentTemplateId.replaceAll('{','').replaceAll('}','').replaceAll('-','').toUpperCase();
return await currentTemplateId == templateid;
}