IActionParameterDefinitionRepository.cs 1.07 KB
using System.Collections.Generic;
using System.Threading;
using System.Threading.Tasks;
using Rcs.Domain.Entities;

namespace Rcs.Domain.Repositories;

/// <summary>
/// 动作参数定义仓储接口
/// </summary>
public interface IActionParameterDefinitionRepository : IRepository<ActionParameterDefinition>
{
    /// <summary>
    /// 根据动作配置ID获取所有参数
    /// </summary>
    Task<IEnumerable<ActionParameterDefinition>> GetByActionConfigIdAsync(
        Guid actionConfigId,
        CancellationToken cancellationToken = default);

    /// <summary>
    /// 根据动作配置ID获取所有必填参数
    /// </summary>
    Task<IEnumerable<ActionParameterDefinition>> GetMandatoryParametersAsync(
        Guid actionConfigId,
        CancellationToken cancellationToken = default);

    /// <summary>
    /// 根据动作配置ID和参数名称获取参数
    /// </summary>
    Task<ActionParameterDefinition?> GetByActionConfigIdAndNameAsync(
        Guid actionConfigId,
        string parameterName,
        CancellationToken cancellationToken = default);
}