summaryrefslogtreecommitdiffstats
path: root/src/server/Utilities
diff options
context:
space:
mode:
Diffstat (limited to 'src/server/Utilities')
-rw-r--r--src/server/Utilities/ConnectionStrings.cs22
-rw-r--r--src/server/Utilities/HandleGithubCreatingTicket.cs30
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;
+ }
+}