summaryrefslogtreecommitdiffstats
path: root/src/server/Utilities/HandleGithubCreatingTicket.cs
blob: 3ead322e069c8255d7cb56b79a4a6bbf47d3f6ac (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
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;
	}
}