diff options
author | Tim <contact@bytim.eu> | 2025-04-21 15:36:15 +0200 |
---|---|---|
committer | Tim <contact@bytim.eu> | 2025-04-21 15:36:15 +0200 |
commit | a930e972917575c46ff9f59ab69d62be657ecac8 (patch) | |
tree | 9f599d78ec8b89f5d09214d637f303340e68cf5a /VPNAuth.Server/Api/UserInterface.cs | |
parent | 2d690226d9f86cc0fd50f8bfef87b883a7323355 (diff) | |
download | VPNAuth-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.cs | 45 |
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(); + } +} |