aboutsummaryrefslogtreecommitdiff
path: root/VPNAuth.Server/Api/UserInterface.cs
diff options
context:
space:
mode:
authorTim <contact@bytim.eu>2025-04-21 15:36:15 +0200
committerTim <contact@bytim.eu>2025-04-21 15:36:15 +0200
commita930e972917575c46ff9f59ab69d62be657ecac8 (patch)
tree9f599d78ec8b89f5d09214d637f303340e68cf5a /VPNAuth.Server/Api/UserInterface.cs
parent2d690226d9f86cc0fd50f8bfef87b883a7323355 (diff)
downloadVPNAuth-a930e972917575c46ff9f59ab69d62be657ecac8.tar.xz
VPNAuth-a930e972917575c46ff9f59ab69d62be657ecac8.zip
Move api handler out of Program.cs
Diffstat (limited to 'VPNAuth.Server/Api/UserInterface.cs')
-rw-r--r--VPNAuth.Server/Api/UserInterface.cs45
1 files changed, 45 insertions, 0 deletions
diff --git a/VPNAuth.Server/Api/UserInterface.cs b/VPNAuth.Server/Api/UserInterface.cs
new file mode 100644
index 0000000..274f9b1
--- /dev/null
+++ b/VPNAuth.Server/Api/UserInterface.cs
@@ -0,0 +1,45 @@
+using VPNAuth.Server.Database;
+
+namespace VPNAuth.Server.Api;
+
+public static class UserInterface
+{
+ public static async Task UserSettingsHandler(HttpContext context)
+ {
+ using var db = new Database.Database();
+
+ ConfigUser? configUser = context.GetUser();
+
+ if (configUser == null)
+ {
+ context.Response.StatusCode = StatusCodes.Status401Unauthorized;
+ }
+
+ UserInformation? userInformation = db.UserInformation
+ .Where(user => user.Sub == configUser!.Username)
+ .ToList()
+ .FirstOrDefault() ?? db.Add(new UserInformation
+ {
+ Sub = configUser!.Username
+ }).Entity;
+
+ if (context.Request.Form.ContainsKey("given-name"))
+ userInformation.GivenName = context.Request.Form["given-name"]!;
+
+ if (context.Request.Form.ContainsKey("family-name"))
+ userInformation.FamilyName = context.Request.Form["family-name"]!;
+
+ if (context.Request.Form.ContainsKey("preferred-username"))
+ userInformation.PreferredUsername = context.Request.Form["preferred-username"]!;
+
+ if (context.Request.Form.ContainsKey("email"))
+ userInformation.Email = context.Request.Form["email"]!;
+
+ if (context.Request.Form.ContainsKey("picture"))
+ userInformation.Picture = context.Request.Form["picture"]!;
+
+ userInformation.Name = userInformation.GivenName + " " + userInformation.FamilyName;
+
+ db.SaveChanges();
+ }
+}