using Microsoft.AspNetCore.Identity; using Fengling.Platform.Domain.AggregatesModel.GatewayAggregate; namespace Fengling.Platform.Infrastructure; /// /// 集群存储接口 /// public interface IClusterStore { Task FindByIdAsync(string? id, CancellationToken cancellationToken = default); Task FindByClusterIdAsync(string clusterId, CancellationToken cancellationToken = default); Task> GetAllAsync(CancellationToken cancellationToken = default); Task> GetPagedAsync(int page, int pageSize, string? clusterId = null, string? name = null, int? status = null, CancellationToken cancellationToken = default); Task GetCountAsync(string? clusterId = null, string? name = null, int? status = null, CancellationToken cancellationToken = default); Task CreateAsync(GwCluster cluster, CancellationToken cancellationToken = default); Task UpdateAsync(GwCluster cluster, CancellationToken cancellationToken = default); Task DeleteAsync(GwCluster cluster, CancellationToken cancellationToken = default); // Destination management Task AddDestinationAsync(string clusterId, GwDestination destination, CancellationToken cancellationToken = default); Task UpdateDestinationAsync(string clusterId, string destinationId, GwDestination destination, CancellationToken cancellationToken = default); Task RemoveDestinationAsync(string clusterId, string destinationId, CancellationToken cancellationToken = default); }