namespace marlin.web.Models; using core.models; using Data; using Microsoft.EntityFrameworkCore; public class DatabaseSourceSecretStore(ApplicationDbContext dbContext) : ISourceSecretStore { public async Task GetAsync(Guid id, CancellationToken ct) { return await dbContext.Secrets .FirstOrDefaultAsync(x => x.Id == id, cancellationToken: ct); } } public class VersionControlSecret : ISecret { public Guid Id { get; set; } public Guid SourceId { get; set; } public VersionControlSource Source { get; set; } public bool MayReveal { get; set; } public string? Kind { get; set; } public string Label { get; set; } public Dictionary Content { get; set; } }