- Updated PlatformDbContext: removed GwTenant/GwServiceInstance DbSets, added GwCluster with EF Core config - Created IClusterStore interface with CRUD and Destination management methods - Created ClusterStore<TContext> implementation with soft delete and embedded Destinations support - Deleted obsolete IInstanceStore and InstanceStore (replaced by IClusterStore) - Updated Extensions.cs and GatewayExtensions.cs to register IClusterStore Plan 03 of Phase 03 complete.
28 lines
1.6 KiB
C#
28 lines
1.6 KiB
C#
using Microsoft.AspNetCore.Identity;
|
|
|
|
using Fengling.Platform.Domain.AggregatesModel.GatewayAggregate;
|
|
|
|
namespace Fengling.Platform.Infrastructure;
|
|
|
|
/// <summary>
|
|
/// 集群存储接口
|
|
/// </summary>
|
|
public interface IClusterStore
|
|
{
|
|
Task<GwCluster?> FindByIdAsync(string? id, CancellationToken cancellationToken = default);
|
|
Task<GwCluster?> FindByClusterIdAsync(string clusterId, CancellationToken cancellationToken = default);
|
|
Task<IList<GwCluster>> GetAllAsync(CancellationToken cancellationToken = default);
|
|
Task<IList<GwCluster>> GetPagedAsync(int page, int pageSize, string? clusterId = null,
|
|
string? name = null, int? status = null, CancellationToken cancellationToken = default);
|
|
Task<int> GetCountAsync(string? clusterId = null, string? name = null,
|
|
int? status = null, CancellationToken cancellationToken = default);
|
|
Task<IdentityResult> CreateAsync(GwCluster cluster, CancellationToken cancellationToken = default);
|
|
Task<IdentityResult> UpdateAsync(GwCluster cluster, CancellationToken cancellationToken = default);
|
|
Task<IdentityResult> DeleteAsync(GwCluster cluster, CancellationToken cancellationToken = default);
|
|
|
|
// Destination management
|
|
Task<GwCluster?> AddDestinationAsync(string clusterId, GwDestination destination, CancellationToken cancellationToken = default);
|
|
Task<GwCluster?> UpdateDestinationAsync(string clusterId, string destinationId, GwDestination destination, CancellationToken cancellationToken = default);
|
|
Task<GwCluster?> RemoveDestinationAsync(string clusterId, string destinationId, CancellationToken cancellationToken = default);
|
|
}
|