fix auth, update image

This commit is contained in:
Torben Haack 2024-10-10 15:33:11 +02:00
parent 4fec0fb433
commit b798040704
2 changed files with 19 additions and 3 deletions

Binary file not shown.

View File

@ -9,6 +9,13 @@ import { cookies } from "next/headers";
export const dynamic = "force-dynamic";
interface GithubEmailResponse {
email: string;
primary: boolean;
verified: boolean;
visibility: string;
}
export async function GET(request: Request): Promise<Response> {
const url = new URL(request.url);
const code = url.searchParams.get("code");
@ -35,7 +42,16 @@ export async function GET(request: Request): Promise<Response> {
});
const githubUser: GitHubUserResult = await githubUserResponse.json();
// Replace this with your own DB client.
// Sometimes email can be null in the user query.
if (githubUser.email === null || githubUser.email === undefined) {
const githubEmailResponse = await fetch("https://git.i.mercedes-benz.com/api/v3/user/emails", {
headers: {
Authorization: `Bearer ${tokens.accessToken}`,
},
});
const githubUserEmail: GithubEmailResponse[] = await githubEmailResponse.json();
githubUser.email = githubUserEmail[0].email;
}
const existingUser = await db.query.users.findFirst({
where: eq(users.github_id, githubUser.id),
});