Added cache setting to config page

This commit is contained in:
henry 2025-07-05 20:17:45 -04:00
parent f3f599c5df
commit f06994b3c2
1 changed files with 14 additions and 1 deletions

View File

@ -31,6 +31,14 @@
<div class="text-danger">Please enter a positive integer.</div> <div class="text-danger">Please enter a positive integer.</div>
} }
</div> </div>
<div class="mb-3">
<label for="cacheMillis">Cache Milliseconds</label>
<TextInput Id="cacheMillis" @bind-Value="config.CacheMilliseconds" Type="TextInputType.Number" />
@if (!isCacheMillisValid)
{
<div class="text-danger">Please enter a positive integer or zero.</div>
}
</div>
<div class="mb-3"> <div class="mb-3">
<Switch Id="rollingExpiration" @bind-Value="config.RollingExpiration" Label="Rolling Expiration" /> <Switch Id="rollingExpiration" @bind-Value="config.RollingExpiration" Label="Rolling Expiration" />
</div> </div>
@ -46,6 +54,7 @@
private bool isCapacityLimitValid = true; private bool isCapacityLimitValid = true;
private bool isActivitySecondsValid = true; private bool isActivitySecondsValid = true;
private bool isExpirationSecondsValid = true; private bool isExpirationSecondsValid = true;
private bool isCacheMillisValid = true;
private string? successMessage; private string? successMessage;
protected override void OnInitialized() protected override void OnInitialized()
@ -56,18 +65,20 @@
ActivitySeconds = (current.ActivitySeconds ?? 0).ToString(), ActivitySeconds = (current.ActivitySeconds ?? 0).ToString(),
CapacityLimit = (current.CapacityLimit ?? 0).ToString(), CapacityLimit = (current.CapacityLimit ?? 0).ToString(),
ExpirationSeconds = (current.ExpirationSeconds ?? 0).ToString(), ExpirationSeconds = (current.ExpirationSeconds ?? 0).ToString(),
CacheMilliseconds = (current.CacheMilliseconds ?? 0).ToString(),
RollingExpiration = current.RollingExpiration ?? false RollingExpiration = current.RollingExpiration ?? false
}; };
ValidateInputs(); ValidateInputs();
} }
private bool IsFormValid => isCapacityLimitValid && isActivitySecondsValid && isExpirationSecondsValid; private bool IsFormValid => isCapacityLimitValid && isActivitySecondsValid && isExpirationSecondsValid && isCacheMillisValid;
private void ValidateInputs() private void ValidateInputs()
{ {
isCapacityLimitValid = int.TryParse(config.CapacityLimit, out var cap) && cap > 0; isCapacityLimitValid = int.TryParse(config.CapacityLimit, out var cap) && cap > 0;
isActivitySecondsValid = int.TryParse(config.ActivitySeconds, out var act) && act > 0; isActivitySecondsValid = int.TryParse(config.ActivitySeconds, out var act) && act > 0;
isExpirationSecondsValid = int.TryParse(config.ExpirationSeconds, out var exp) && exp > 0; isExpirationSecondsValid = int.TryParse(config.ExpirationSeconds, out var exp) && exp > 0;
isCacheMillisValid = int.TryParse(config.CacheMilliseconds, out var cache) && cache >= 0;
} }
private async Task HandleValidSubmit() private async Task HandleValidSubmit()
@ -81,6 +92,7 @@
ActivitySeconds = int.Parse(config.ActivitySeconds), ActivitySeconds = int.Parse(config.ActivitySeconds),
CapacityLimit = int.Parse(config.CapacityLimit), CapacityLimit = int.Parse(config.CapacityLimit),
ExpirationSeconds = int.Parse(config.ExpirationSeconds), ExpirationSeconds = int.Parse(config.ExpirationSeconds),
CacheMilliseconds = int.Parse(config.CacheMilliseconds),
RollingExpiration = config.RollingExpiration RollingExpiration = config.RollingExpiration
})); }));
successMessage = "Configuration updated successfully."; successMessage = "Configuration updated successfully.";
@ -91,6 +103,7 @@
public string CapacityLimit { get; set; } = ""; public string CapacityLimit { get; set; } = "";
public string ActivitySeconds { get; set; } = ""; public string ActivitySeconds { get; set; } = "";
public string ExpirationSeconds { get; set; } = ""; public string ExpirationSeconds { get; set; } = "";
public string CacheMilliseconds { get; set; } = "";
public bool RollingExpiration { get; set; } public bool RollingExpiration { get; set; }
} }
} }