From 0ee89b08f1d48f5fd728962beb7b14d0fcee302b Mon Sep 17 00:00:00 2001 From: Rhywden Date: Tue, 18 Aug 2026 12:22:28 +0200 Subject: [PATCH] basic models for admin state --- Wollmilchsau/Models/ElementUser.cs | 5 +++++ Wollmilchsau/Models/LdapUser.cs | 5 +++++ Wollmilchsau/Models/MoodleUser.cs | 5 +++++ Wollmilchsau/Models/MsolUser.cs | 5 +++++ Wollmilchsau/Program.cs | 5 +++++ Wollmilchsau/Store/AdminStore/AdminActions.cs | 6 ++++++ Wollmilchsau/Store/AdminStore/AdminEffects.cs | 5 +++++ Wollmilchsau/Store/AdminStore/AdminReducers.cs | 5 +++++ Wollmilchsau/Store/AdminStore/AdminState.cs | 6 ++++++ Wollmilchsau/Wollmilchsau.csproj | 7 ++++--- Wollmilchsau/appsettings.Development.json | 5 +++++ 11 files changed, 56 insertions(+), 3 deletions(-) create mode 100644 Wollmilchsau/Models/ElementUser.cs create mode 100644 Wollmilchsau/Models/LdapUser.cs create mode 100644 Wollmilchsau/Models/MoodleUser.cs create mode 100644 Wollmilchsau/Models/MsolUser.cs create mode 100644 Wollmilchsau/Store/AdminStore/AdminActions.cs create mode 100644 Wollmilchsau/Store/AdminStore/AdminEffects.cs create mode 100644 Wollmilchsau/Store/AdminStore/AdminReducers.cs diff --git a/Wollmilchsau/Models/ElementUser.cs b/Wollmilchsau/Models/ElementUser.cs new file mode 100644 index 0000000..6db2116 --- /dev/null +++ b/Wollmilchsau/Models/ElementUser.cs @@ -0,0 +1,5 @@ +namespace Wollmilchsau.Models; + +public sealed record ElementUser +{ +} diff --git a/Wollmilchsau/Models/LdapUser.cs b/Wollmilchsau/Models/LdapUser.cs new file mode 100644 index 0000000..fd2a43d --- /dev/null +++ b/Wollmilchsau/Models/LdapUser.cs @@ -0,0 +1,5 @@ +namespace Wollmilchsau.Models; + +public sealed record LdapUser +{ +} diff --git a/Wollmilchsau/Models/MoodleUser.cs b/Wollmilchsau/Models/MoodleUser.cs new file mode 100644 index 0000000..8c44414 --- /dev/null +++ b/Wollmilchsau/Models/MoodleUser.cs @@ -0,0 +1,5 @@ +namespace Wollmilchsau.Models; + +public sealed record MoodleUser +{ +} diff --git a/Wollmilchsau/Models/MsolUser.cs b/Wollmilchsau/Models/MsolUser.cs new file mode 100644 index 0000000..f1e529b --- /dev/null +++ b/Wollmilchsau/Models/MsolUser.cs @@ -0,0 +1,5 @@ +namespace Wollmilchsau.Models; + +public sealed record MsolUser +{ +} diff --git a/Wollmilchsau/Program.cs b/Wollmilchsau/Program.cs index 57f70ad..1e129ab 100644 --- a/Wollmilchsau/Program.cs +++ b/Wollmilchsau/Program.cs @@ -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(); diff --git a/Wollmilchsau/Store/AdminStore/AdminActions.cs b/Wollmilchsau/Store/AdminStore/AdminActions.cs new file mode 100644 index 0000000..b74f90e --- /dev/null +++ b/Wollmilchsau/Store/AdminStore/AdminActions.cs @@ -0,0 +1,6 @@ +namespace Wollmilchsau.Store.AdminStore; + +public sealed record GetAllMoodleUsers(); +public sealed record GetAllElementUsers(); +public sealed record GetAllLdapUsers(); +public sealed record GetAllMsolUsers(); \ No newline at end of file diff --git a/Wollmilchsau/Store/AdminStore/AdminEffects.cs b/Wollmilchsau/Store/AdminStore/AdminEffects.cs new file mode 100644 index 0000000..7892e70 --- /dev/null +++ b/Wollmilchsau/Store/AdminStore/AdminEffects.cs @@ -0,0 +1,5 @@ +namespace Wollmilchsau.Store.AdminStore; + +public class AdminEffects +{ +} diff --git a/Wollmilchsau/Store/AdminStore/AdminReducers.cs b/Wollmilchsau/Store/AdminStore/AdminReducers.cs new file mode 100644 index 0000000..e8bbd29 --- /dev/null +++ b/Wollmilchsau/Store/AdminStore/AdminReducers.cs @@ -0,0 +1,5 @@ +namespace Wollmilchsau.Store.AdminStore; + +public class AdminReducers +{ +} diff --git a/Wollmilchsau/Store/AdminStore/AdminState.cs b/Wollmilchsau/Store/AdminStore/AdminState.cs index 49fd4a6..90a73d4 100644 --- a/Wollmilchsau/Store/AdminStore/AdminState.cs +++ b/Wollmilchsau/Store/AdminStore/AdminState.cs @@ -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 ElementUsers { get; init; } = []; + public ImmutableDictionary MoodleUsers { get; init; } = []; + public ImmutableDictionary LdapUsers { get; init; } = []; + public ImmutableDictionary MsolUsers { get; init; } = []; } diff --git a/Wollmilchsau/Wollmilchsau.csproj b/Wollmilchsau/Wollmilchsau.csproj index 6ceaad5..f3840d0 100644 --- a/Wollmilchsau/Wollmilchsau.csproj +++ b/Wollmilchsau/Wollmilchsau.csproj @@ -1,4 +1,4 @@ - + net10.0 @@ -14,11 +14,12 @@ - + + - + diff --git a/Wollmilchsau/appsettings.Development.json b/Wollmilchsau/appsettings.Development.json index ee749c4..3c961aa 100644 --- a/Wollmilchsau/appsettings.Development.json +++ b/Wollmilchsau/appsettings.Development.json @@ -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"