summaryrefslogtreecommitdiff
path: root/src/marlin.web/Controllers/VCSController.cs
diff options
context:
space:
mode:
authorMelodi <62381002+Melodi17@users.noreply.github.com>2026-09-14 06:15:40 +1000
committerMelodi <62381002+Melodi17@users.noreply.github.com>2026-09-14 06:15:40 +1000
commit88ee626cb3686dc176cd7911b073c4e65fa54d34 (patch)
treeffd4d27de8b6cce5a43add9fa4222b1d50f1e500 /src/marlin.web/Controllers/VCSController.cs
parentdf0737e55afeb5c01eb39909605970d1d3a73ffc (diff)
feat: ui cleanup
Diffstat (limited to 'src/marlin.web/Controllers/VCSController.cs')
-rw-r--r--src/marlin.web/Controllers/VCSController.cs43
1 files changed, 33 insertions, 10 deletions
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<IActionResult> 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<IActionResult> 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<IActionResult> 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<IActionResult> Create()
{
@@ -107,6 +129,7 @@ public class VCSController(ApplicationDbContext dbContext, VersionControlSyncSer
public async Task<IActionResult> CreatePost(VersionControlSource vcs, CancellationToken ct)
{
vcs.Id = Guid.Empty;
+ vcs.MainBranch = "";
await dbContext.AddAsync(vcs, ct);
await dbContext.SaveChangesAsync(ct);