using Microsoft.AspNetCore.Identity; using Fengling.Platform.Domain.AggregatesModel.GatewayAggregate; namespace Fengling.Platform.Infrastructure; /// /// 服务实例存储接口 /// public interface IInstanceStore { Task FindByIdAsync(long? id, CancellationToken cancellationToken = default); Task FindByClusterIdAsync(string clusterId, CancellationToken cancellationToken = default); Task FindByDestinationAsync(string clusterId, string destinationId, CancellationToken cancellationToken = default); Task> GetAllAsync(CancellationToken cancellationToken = default); Task> GetPagedAsync(int page, int pageSize, string? clusterId = null, InstanceHealth? health = null, InstanceStatus? status = null, CancellationToken cancellationToken = default); Task GetCountAsync(string? clusterId = null, InstanceHealth? health = null, InstanceStatus? status = null, CancellationToken cancellationToken = default); Task CreateAsync(GwServiceInstance instance, CancellationToken cancellationToken = default); Task UpdateAsync(GwServiceInstance instance, CancellationToken cancellationToken = default); Task DeleteAsync(GwServiceInstance instance, CancellationToken cancellationToken = default); }