using EntKube.Provisioning.Domain; namespace EntKube.Provisioning.Infrastructure; /// /// In-memory implementation of the service instance repository for local development. /// Production will use EF Core with PostgreSQL. /// public class InMemoryServiceInstanceRepository : IServiceInstanceRepository { private readonly List instances = new(); public Task GetByIdAsync(Guid id, CancellationToken ct = default) { ServiceInstance? instance = instances.FirstOrDefault(i => i.Id == id); return Task.FromResult(instance); } public Task> GetByClusterIdAsync(Guid clusterId, CancellationToken ct = default) { IReadOnlyList result = instances.Where(i => i.ClusterId == clusterId).ToList().AsReadOnly(); return Task.FromResult(result); } public Task> GetAllAsync(CancellationToken ct = default) { IReadOnlyList result = instances.AsReadOnly(); return Task.FromResult(result); } public Task AddAsync(ServiceInstance instance, CancellationToken ct = default) { instances.Add(instance); return Task.CompletedTask; } public Task UpdateAsync(ServiceInstance instance, CancellationToken ct = default) { return Task.CompletedTask; } }