using Microsoft.AspNetCore.Identity;
using Fengling.Platform.Domain.AggregatesModel.GatewayAggregate;
namespace Fengling.Platform.Infrastructure;
///
/// 路由存储接口
///
public interface IRouteStore
{
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? serviceName = null, RouteStatus? status = null, CancellationToken cancellationToken = default);
Task GetCountAsync(string? serviceName = null,
RouteStatus? status = null, CancellationToken cancellationToken = default);
Task CreateAsync(GwRoute route, CancellationToken cancellationToken = default);
Task UpdateAsync(GwRoute route, CancellationToken cancellationToken = default);
Task DeleteAsync(GwRoute route, CancellationToken cancellationToken = default);
}