feat: Rework first account to be register is admin and no Standard users get created

This commit is contained in:
2026-01-04 17:58:26 +01:00
parent eec7f40e72
commit c5a3ba2b40
21 changed files with 3276 additions and 151 deletions
@@ -0,0 +1,51 @@
@page "/AdminSettings/CouchLogSettings"
@rendermode InteractiveServer
@using CouchLog.Data
@using Microsoft.EntityFrameworkCore
@using Microsoft.AspNetCore.Components.Forms
@inject ApplicationDbContext CouchLogDB
<h3>CouchLog Settings</h3>
@if (accountsSettings is null)
{
<p>Lade Einstellungen…</p>
}
else
{
<EditForm Model="accountsSettings">
<div class="form-check form-switch">
<InputCheckbox class="form-check-input"
role="switch"
id="IsRegistrationallowedInput"
Value="accountsSettings.IsRegistrationAllowed"
ValueChanged="OnRegistrationChanged"
ValueExpression="() => accountsSettings.IsRegistrationAllowed" />
<label class="form-check-label" for="IsRegistrationallowedInput">
Is Registration allowed
</label>
</div>
</EditForm>
}
@code {
private AccountsSettings? accountsSettings;
protected override async Task OnInitializedAsync()
{
accountsSettings = await CouchLogDB.AccountsSettings.FirstAsync();
}
private async Task OnRegistrationChanged(bool value)
{
accountsSettings!.IsRegistrationAllowed = value;
CouchLogDB.AccountsSettings.Update(accountsSettings);
await CouchLogDB.SaveChangesAsync();
}
}
@@ -9,7 +9,6 @@
@inject ApplicationDbContext CouchLogDB
@inject UserManager<ApplicationUser> UserManager
@inject RoleManager<IdentityRole> RoleManager
@inject AuthenticationStateProvider AuthenticationStateProvider
@inject NavigationManager NavigationManager
@@ -4,6 +4,9 @@
@inject SignInManager<ApplicationUser> SignInManager
<ul class="nav nav-pills flex-column">
<li class="nav-item">
<NavLink class="nav-link" href="/AdminSettings/CouchLogSettings">CouchLog Settings</NavLink>
</li>
<li class="nav-item">
<NavLink class="nav-link" href="/AdminSettings/UserManagement" Match="NavLinkMatch.All">User Management</NavLink>
</li>
@@ -11,8 +14,5 @@
<li class="nav-item">
<NavLink class="nav-link" href=""></NavLink>
</li>
<li class="nav-item">
<NavLink class="nav-link" href=""></NavLink>
</li>
-->
</ul>