package com.ruoyi.web.report.service;

import com.ruoyi.web.report.domain.meta.ReportColumnMetaVo;
import com.ruoyi.web.report.domain.meta.ReportAssetMetricVo;
import com.ruoyi.web.report.domain.meta.ReportAssetTemplateVo;
import com.ruoyi.web.report.domain.meta.ReportTableMetaVo;

import java.util.List;

/**
 * 低代码设计器元数据服务。
 */
public interface IReportMetaService {
    /**
     * 获取可选业务表。
     *
     * @return 表列表
     */
    List<ReportTableMetaVo> listTables();

    /**
     * 获取指定表可选字段。
     *
     * @param tableName 表名
     * @return 字段列表
     */
    List<ReportColumnMetaVo> listColumns(String tableName);

    /**
     * 资产中心模板列表。
     *
     * @return 模板列表
     */
    List<ReportAssetTemplateVo> listAssetTemplates();

    /**
     * 资产中心指标列表。
     *
     * @return 指标列表
     */
    List<ReportAssetMetricVo> listAssetMetrics();
}
