You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

55 lines
1.8 KiB

using System.Collections.Generic;
using System.Threading.Tasks;
using CoreAgent.Domain.Entities;
namespace CoreAgent.Domain.Interfaces
{
/// <summary>
/// 网络配置仓储接口
/// </summary>
public interface INetworkConfigurationRepository
{
/// <summary>
/// 创建网络配置
/// </summary>
/// <param name="configKey">配置键值</param>
/// <param name="ragConfig">RAN配置文件路径</param>
/// <param name="coreOrImsConfigs">核心网和IMS配置列表</param>
/// <param name="apn">APN配置</param>
/// <param name="band">频段配置</param>
/// <param name="comment">配置说明</param>
/// <returns>创建的网络配置</returns>
Task<NetworkConfiguration> CreateAsync(
string configKey,
string ragConfig,
List<CoreImsConfig> coreOrImsConfigs,
string apn,
List<string> band,
string comment = null);
/// <summary>
/// 保存网络配置
/// </summary>
/// <param name="configuration">网络配置</param>
Task SaveAsync(NetworkConfiguration configuration);
/// <summary>
/// 删除网络配置
/// </summary>
/// <param name="configKey">配置键值</param>
Task DeleteAsync(string configKey);
/// <summary>
/// 获取所有网络配置
/// </summary>
/// <returns>网络配置列表</returns>
Task<List<NetworkConfiguration>> GetAllAsync();
/// <summary>
/// 根据配置键获取网络配置
/// </summary>
/// <param name="configKey">配置键值</param>
/// <returns>网络配置</returns>
Task<NetworkConfiguration> GetByConfigKeyAsync(string configKey);
}
}