diff options
Diffstat (limited to 'src/server/Utilities')
| -rw-r--r-- | src/server/Utilities/ConnectionStrings.cs | 22 | ||||
| -rw-r--r-- | src/server/Utilities/HandleGithubCreatingTicket.cs | 30 |
2 files changed, 52 insertions, 0 deletions
diff --git a/src/server/Utilities/ConnectionStrings.cs b/src/server/Utilities/ConnectionStrings.cs new file mode 100644 index 0000000..8ea8f70 --- /dev/null +++ b/src/server/Utilities/ConnectionStrings.cs @@ -0,0 +1,22 @@ +namespace IOL.BookmarkThing.Server.Utilities; + +public static class ConnectionStrings +{ + public static string AppDatabaseConnectionString(IConfiguration Configuration) { + var host = Configuration.GetValue<string>("DB_HOST"); + var port = Configuration.GetValue<string>("DB_PORT"); + var database = Configuration.GetValue<string>("DB_NAME"); + var user = Configuration.GetValue<string>("DB_USER"); + var password = Configuration.GetValue<string>("DB_PASSWORD"); + return $"Server={host};Port={port};Database={database};User Id={user};Password={password}"; + } + + public static string QuartzDatabaseConnectionString(IConfiguration Configuration) { + var host = Configuration.GetValue<string>("QUARTZ_DB_HOST"); + var port = Configuration.GetValue<string>("QUARTZ_DB_PORT"); + var database = Configuration.GetValue<string>("QUARTZ_DB_NAME"); + var user = Configuration.GetValue<string>("QUARTZ_DB_USER"); + var password = Configuration.GetValue<string>("QUARTZ_DB_PASSWORD"); + return $"Server={host};Port={port};Database={database};User Id={user};Password={password}"; + } +} diff --git a/src/server/Utilities/HandleGithubCreatingTicket.cs b/src/server/Utilities/HandleGithubCreatingTicket.cs new file mode 100644 index 0000000..3ead322 --- /dev/null +++ b/src/server/Utilities/HandleGithubCreatingTicket.cs @@ -0,0 +1,30 @@ +using Microsoft.AspNetCore.Authentication.OAuth; +using Npgsql; + +namespace IOL.BookmarkThing.Server.Utilities; + +public static class HandleGithubCreatingTicket +{ + public static Task Handle(OAuthCreatingTicketContext context, IConfiguration configuration) { + var ghid = context.Identity?.FindFirst(p => p.Type == AppClaims.GITHUB_ID); + if (ghid == default) { + return default; + } + + var connstring = ConnectionStrings.AppDatabaseConnectionString(configuration); + var connection = new NpgsqlConnection(connstring); + connection.Open(); + var query = new NpgsqlCommand(@$"SELECT user_id FROM github_user_mappings WHERE github_id='{ghid}'", connection); + var x = query.ExecuteReader(); + foreach (var row in x) { + Console.WriteLine(JsonSerializer.Serialize(row)); + } + + // var claims = context.Identity.Claims.ToList(); + // foreach (var claim in claims) { + // context.Identity.RemoveClaim(claim); + // } + + return Task.CompletedTask; + } +} |
