perchitis

This commit is contained in:
Julian 2023-04-26 14:38:03 -04:00
parent dfaab3a290
commit d6f21728da
Signed by: NotNite
GPG Key ID: BD91A5402CCEB08A
3 changed files with 11 additions and 7 deletions

View File

@ -74,7 +74,7 @@ export async function POST(request: Request) {
); );
} }
let avatarBuf: Buffer | undefined; let avatarBuf: Buffer | null | undefined;
if (avatarBase64 !== null && typeof avatarBase64 === "string") { if (avatarBase64 !== null && typeof avatarBase64 === "string") {
avatarBuf = Buffer.from(avatarBase64, "base64"); avatarBuf = Buffer.from(avatarBase64, "base64");
@ -112,7 +112,7 @@ export async function POST(request: Request) {
} }
} }
await ldap.createUser(username, displayName, email, avatarBuf); await ldap.createUser(username, displayName, email, avatarBuf ?? undefined);
await ldap.setPassword(username, password); await ldap.setPassword(username, password);
const outputUser = await prisma.user.update({ const outputUser = await prisma.user.update({

View File

@ -5,7 +5,7 @@ import { getLogger } from "@/logger";
type RequestBody = { type RequestBody = {
displayName?: string; displayName?: string;
email?: string; email?: string;
avatarBase64?: string; avatar?: string;
}; };
export async function POST(request: Request) { export async function POST(request: Request) {
@ -20,8 +20,11 @@ export async function POST(request: Request) {
return new Response(null, { status: 409 }); return new Response(null, { status: 409 });
} }
const { displayName, email, avatarBase64 } = const {
(await request.json()) as RequestBody; displayName,
email,
avatar: avatarBase64
} = (await request.json()) as RequestBody;
let changeDisplayName = false; let changeDisplayName = false;
if ( if (
@ -77,7 +80,7 @@ export async function POST(request: Request) {
username: user.username, username: user.username,
displayName: changeDisplayName ? displayName : null, displayName: changeDisplayName ? displayName : null,
email: changeEmail ? email : null, email: changeEmail ? email : null,
avatar: avatarBuf ? avatarBuf.toString("base64") : null avatar: avatarBuf ? `${avatarBuf.length} bytes` : null
}, },
"updated user" "updated user"
); );

View File

@ -10,7 +10,7 @@ export type DiscordAccessTokenResponse = {
export type DiscordUserResponse = { export type DiscordUserResponse = {
id: string; id: string;
avatar: string; avatar: string | null;
}; };
export type DiscordGuildResponse = { export type DiscordGuildResponse = {
@ -49,6 +49,7 @@ export async function getDiscordAvatar(token: string) {
}); });
const res: DiscordUserResponse = await req.json(); const res: DiscordUserResponse = await req.json();
if (res.avatar === null) return null;
const file = `https://cdn.discordapp.com/avatars/${res.id}/${res.avatar}.png`; const file = `https://cdn.discordapp.com/avatars/${res.id}/${res.avatar}.png`;
const avatarReq = await fetch(file); const avatarReq = await fetch(file);