<#ftl output_format="JSON"> <#import "/recipes/v2/groupHelper_v2.ftl" as groupHelper> <#import "/recipes/v2/ruleFolderHelper_v2.ftl" as ruleFolderHelper> <#-- This macro constructs a new user and admin group. descriptionKeyPrefix: The prefix of the resource string for the description. This macro assumes the suffix is ".object.group.description."--> <#macro newAdminAndUserGroups request userGroupUuid adminGroupUuid descriptionKeyPrefix="" userTriggers="" adminTriggers="" hasAdminMemberGroups=false replaceable=true> <@groupHelper.newGroup request=request recipeObjectId="GROUP-0" uuid=userGroupUuid defaultApplicationObjectKey="defaultUsersGroup" name=request.formatDesignObjectNameFromBundle("GROUP", "objectTemplate.group.users") description=(descriptionKeyPrefix?has_content)?string(request.getTextWithKey(descriptionKeyPrefix + ".object.group.description.users"), '') adminGroups="[\"${adminGroupUuid}\"]" memberGroups="[\"${adminGroupUuid}\"]" triggers=userTriggers replaceable=replaceable />, <@groupHelper.newGroup request=request recipeObjectId="GROUP-1" uuid=adminGroupUuid defaultApplicationObjectKey="defaultAdminsGroup" name=request.formatDesignObjectNameFromBundle("GROUP", "objectTemplate.group.admins") description=(descriptionKeyPrefix?has_content)?string(request.getTextWithKey(descriptionKeyPrefix + ".object.group.description.admins"), '') adminGroups="[\"${adminGroupUuid}\"]" memberGroups=hasAdminMemberGroups?then("[\"${request.additionalMetadata.additionalAdminMemberGroups}\"]", "") triggers=adminTriggers replaceable=replaceable /> <#-- This macro creates a new rule folder with common settings across all initial recipes --> <#macro newRuleFolder request ruleFolderUuid adminGroupUuid userGroupUuid descriptionKeyPrefix="" triggers="" replaceable=true> <@ruleFolderHelper.newRuleFolder request=request recipeObjectId="RULE_FOLDER-0" uuid=ruleFolderUuid name=request.formatDesignObjectNameFromBundle("RULE_FOLDER", "objectTemplate.folder.rule") description=(descriptionKeyPrefix?has_content)?string(request.getTextWithKey(descriptionKeyPrefix + ".object.ruleFolder.description"), '') adminGroups="[\"${adminGroupUuid}\"]" readerGroups="[\"${userGroupUuid}\"]" triggers=triggers replaceable=replaceable />