From 88ee626cb3686dc176cd7911b073c4e65fa54d34 Mon Sep 17 00:00:00 2001 From: Melodi <62381002+Melodi17@users.noreply.github.com> Date: Mon, 14 Sep 2026 06:15:40 +1000 Subject: feat: ui cleanup --- src/marlin.web/Controllers/VCSController.cs | 43 ++++++++++++++++++++++------- 1 file changed, 33 insertions(+), 10 deletions(-) (limited to 'src/marlin.web/Controllers/VCSController.cs') diff --git a/src/marlin.web/Controllers/VCSController.cs b/src/marlin.web/Controllers/VCSController.cs index 8086e99..10ef59b 100644 --- a/src/marlin.web/Controllers/VCSController.cs +++ b/src/marlin.web/Controllers/VCSController.cs @@ -22,8 +22,6 @@ public class VCSController(ApplicationDbContext dbContext, VersionControlSyncSer return this.View(items); } - public record SecretOption(Guid Id, string Label); - [HttpGet("details/{id}")] public async Task Details(Guid id, CancellationToken ct) { @@ -37,12 +35,7 @@ public class VCSController(ApplicationDbContext dbContext, VersionControlSyncSer if (item == null) return this.NotFound(); - var secretOptions = await dbContext.Secrets - .Where(x => x.SourceId == id) - .Select(x => new SecretOption(x.Id, x.Label)) - .ToListAsync(ct); - - return this.View((item, secretOptions)); + return this.View(item); } [HttpGet("details/{sourceId}/{commitId}/blobs")] @@ -87,9 +80,7 @@ public class VCSController(ApplicationDbContext dbContext, VersionControlSyncSer item.UpstreamUrl = vcs.UpstreamUrl; item.BranchFilter = vcs.BranchFilter; - item.MainBranch = vcs.MainBranch; item.MinPollingInterval = vcs.MinPollingInterval; - item.AccessSecretId = vcs.AccessSecretId; await dbContext.SaveChangesAsync(ct); await syncService.FetchSources(ct); @@ -97,6 +88,37 @@ public class VCSController(ApplicationDbContext dbContext, VersionControlSyncSer return this.RedirectToAction("List"); } + [HttpPost("details/{sourceId}/secrets/access")] + public async Task SetAccessSecret(Guid sourceId, Guid? secretId, CancellationToken ct) + { + var item = await dbContext.Sources + .FirstOrDefaultAsync(x => x.Id == sourceId, ct); + + if (item == null) + return this.NotFound(); + + item.AccessSecretId = secretId; + await dbContext.SaveChangesAsync(ct); + await syncService.FetchSources(ct); + + return this.RedirectToAction("ListSecret", new { sourceId }); + } + + [HttpPost("details/{sourceId}/main-branch")] + public async Task SetMainBranch(Guid sourceId, string branchName, CancellationToken ct) + { + var item = await dbContext.Sources + .FirstOrDefaultAsync(x => x.Id == sourceId, ct); + + if (item == null) + return this.NotFound(); + + item.MainBranch = branchName; + await dbContext.SaveChangesAsync(ct); + + return this.RedirectToAction("Details", new { id = sourceId }); + } + [HttpGet("create")] public async Task Create() { @@ -107,6 +129,7 @@ public class VCSController(ApplicationDbContext dbContext, VersionControlSyncSer public async Task CreatePost(VersionControlSource vcs, CancellationToken ct) { vcs.Id = Guid.Empty; + vcs.MainBranch = ""; await dbContext.AddAsync(vcs, ct); await dbContext.SaveChangesAsync(ct); -- cgit v1.3.1