package com.jay.monitor.data.server.report.alert;

import com.jay.monitor.data.server.models.store.AlertPlatformConfig;
import com.jay.monitor.data.server.models.store.AlertRuleConfig;

import java.util.List;

/**
 * 告警数据定义
 *
 * @author liukaixiong
 * @date 2022/7/21 - 10:02
 */
public interface AlertDataService {
    /**
     * 根据项目获取所有匹配的告警规则
     *
     * @param project
     * @return
     */
    public List<AlertRuleConfig> getRuleList(String project);

    /**
     * 获取规则编号获取规则配置
     *
     * @param id
     * @return
     */
    public AlertRuleConfig getRuleId(String id);

    /**
     * 根据平台组编号获取平台组配置
     *
     * @param id
     * @return
     */
    public AlertPlatformConfig getAlertPlatform(String id);

    /**
     * 刷新平台编号
     *
     * @param id
     */
    public void refreshPlatformId(String id);

    /**
     * 强制关闭规则
     *
     * @param ruleId
     */
    public void forceCloseRule(String ruleId);

    /**
     * 刷新规则编号
     *
     * @param ruleId
     */
    public void refreshRuleId(String ruleId);

    /**
     * 刷新当前缓存
     */
    public void refreshCache();

}
