basic models for admin state

This commit is contained in:
Rhywden
2026-08-18 12:22:28 +02:00
parent d19e4995c6
commit 0ee89b08f1
11 changed files with 56 additions and 3 deletions
+5
View File
@@ -0,0 +1,5 @@
namespace Wollmilchsau.Models;
public sealed record ElementUser
{
}
+5
View File
@@ -0,0 +1,5 @@
namespace Wollmilchsau.Models;
public sealed record LdapUser
{
}
+5
View File
@@ -0,0 +1,5 @@
namespace Wollmilchsau.Models;
public sealed record MoodleUser
{
}
+5
View File
@@ -0,0 +1,5 @@
namespace Wollmilchsau.Models;
public sealed record MsolUser
{
}
+5
View File
@@ -25,6 +25,11 @@ builder.Services.AddHttpClient("matrix_synapse", client =>
"Bearer",
builder.Configuration["Matrix:Synapse:BearerToken"] ?? throw new ConfigurationException("Matrix:Synapse:BearerToken"));
});
builder.Services.AddStackExchangeRedisCache(options =>
{
options.Configuration = builder.Configuration.GetConnectionString("cache") ?? throw new ConfigurationException("ConnectionStrings:cache");
options.InstanceName = "OneForAll:";
});
builder.Services.AddMudServices();
@@ -0,0 +1,6 @@
namespace Wollmilchsau.Store.AdminStore;
public sealed record GetAllMoodleUsers();
public sealed record GetAllElementUsers();
public sealed record GetAllLdapUsers();
public sealed record GetAllMsolUsers();
@@ -0,0 +1,5 @@
namespace Wollmilchsau.Store.AdminStore;
public class AdminEffects
{
}
@@ -0,0 +1,5 @@
namespace Wollmilchsau.Store.AdminStore;
public class AdminReducers
{
}
@@ -1,4 +1,6 @@
using Fluxor;
using System.Collections.Immutable;
using Wollmilchsau.Models;
namespace Wollmilchsau.Store.AdminStore;
@@ -6,4 +8,8 @@ namespace Wollmilchsau.Store.AdminStore;
public sealed record AdminState
{
public AdminState() { }
public ImmutableDictionary<Guid, ElementUser> ElementUsers { get; init; } = [];
public ImmutableDictionary<Guid, MoodleUser> MoodleUsers { get; init; } = [];
public ImmutableDictionary<Guid, LdapUser> LdapUsers { get; init; } = [];
public ImmutableDictionary<Guid, MsolUser> MsolUsers { get; init; } = [];
}
+4 -3
View File
@@ -1,4 +1,4 @@
<Project Sdk="Microsoft.NET.Sdk.Web">
<Project Sdk="Microsoft.NET.Sdk.Web">
<PropertyGroup>
<TargetFramework>net10.0</TargetFramework>
@@ -14,11 +14,12 @@
<PackageReference Include="Hangfire" Version="1.8.24" />
<PackageReference Include="Hangfire.AspNetCore" Version="1.8.24" />
<PackageReference Include="Hangfire.Redis.StackExchange" Version="1.12.0" />
<PackageReference Include="Marten.AspNetCore" Version="9.25.0" />
<PackageReference Include="Marten.AspNetCore" Version="9.27.0" />
<PackageReference Include="Microsoft.AspNetCore.Authentication.OpenIdConnect" Version="10.0.11" />
<PackageReference Include="Microsoft.Extensions.Caching.StackExchangeRedis" Version="10.0.11" />
<PackageReference Include="Microsoft.Graph" Version="6.5.0" />
<PackageReference Include="MudBlazor" Version="9.8.0" />
<PackageReference Include="StackExchange.Redis" Version="2.8.31" />
<PackageReference Include="StackExchange.Redis" Version="3.1.13" />
<PackageReference Include="System.DirectoryServices.Protocols" Version="10.0.11" />
</ItemGroup>
@@ -20,6 +20,11 @@
"BearerToken": "mct_pheE3gW6GR1HIg1z47ZVHGb1dwwIXq_Gsoev1"
}
},
"Moodle": {
"BaseUrl": "https://moodle.bs18.de/webservice/rest/server.php",
"WsToken": "893de4687f2c4b9598b64ae2900bab2f"
},
"ConnectionStrings": {
"Marten": "Host=lxc-db3;Port=5432;Database=oneforall_dev;Username=OneForAll;Password=ia9vgM6F9kUt",
"RedisCache": "lxc-matrix:6379"