fix: snapshot current Discord profile on web shares
This commit is contained in:
@@ -6,6 +6,7 @@ import { db } from "@/db";
|
||||
import { users } from "@/db/schema";
|
||||
import type { SessionWithDiscord } from "@/lib/auth/auth";
|
||||
import { authOptions } from "@/lib/auth/auth-options";
|
||||
import { getDiscordMemberProfile } from "@/lib/discord/discord";
|
||||
import { ShareHttpError } from "@/lib/share/http-error";
|
||||
import { requireShareSessionIdentity } from "@/lib/share/session";
|
||||
|
||||
@@ -22,10 +23,17 @@ export async function requireShareAuthor() {
|
||||
.limit(1);
|
||||
if (!user) throw new ShareHttpError("Unauthorized", 401);
|
||||
|
||||
const profile = await getDiscordMemberProfile(discordId);
|
||||
|
||||
return {
|
||||
userId: user.id,
|
||||
discordId,
|
||||
displayName: user.name || session?.user?.name || "Discord user",
|
||||
avatarUrl: user.image || session?.user?.image || null,
|
||||
displayName:
|
||||
profile?.globalName?.trim() ||
|
||||
profile?.username ||
|
||||
user.name ||
|
||||
session?.user?.name ||
|
||||
"Discord user",
|
||||
avatarUrl: profile?.avatarUrl || user.image || session?.user?.image || null,
|
||||
};
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user