D7net
Home
Console
Upload
information
Create File
Create Folder
About
Tools
:
/
usr
/
share
/
grafana
/
public
/
app
/
features
/
alerting
/
unified
/
utils
/
Filename :
templates.ts
back
Copy
import { now } from 'lodash'; export function ensureDefine(templateName: string, templateContent: string): string { // notification template content must be wrapped in {{ define "name" }} tag, // but this is not obvious because user also has to provide name separately in the form. // so if user does not manually add {{ define }} tag, we do it automatically let content = templateContent.trim(); if (!content.match(/\{\{\s*define/)) { const indentedContent = content .split('\n') .map((line) => ' ' + line) .join('\n'); content = `{{ define "${templateName}" }}\n${indentedContent}\n{{ end }}`; } return content; } export function updateDefinesWithUniqueValue(templateContent: string): string { const getNewValue = (match_: string, originalDefineName: string) => { return `{{ define "${originalDefineName}_NEW_${now()}" }}`; }; return templateContent.replace(/\{\{\s*define\s*\"(?<defineName>.*)\"\s*\}\}/g, getNewValue); }