Merge pull request #1391 from MathMan05/Dec

This commit is contained in:
Cyber 2025-11-18 18:52:51 +01:00 committed by GitHub
commit 5c5d62a174
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
6 changed files with 8 additions and 20 deletions

Binary file not shown.

Binary file not shown.

View File

@ -17,12 +17,7 @@
*/ */
import { route } from "@spacebar/api"; import { route } from "@spacebar/api";
import { import { emitEvent, Member, User, UserDeleteEvent } from "@spacebar/util";
emitEvent,
Member,
User,
UserDeleteEvent,
} from "@spacebar/util";
import { Request, Response, Router } from "express"; import { Request, Response, Router } from "express";
import { PrivateUserProjection } from "@spacebar/schemas"; import { PrivateUserProjection } from "@spacebar/schemas";
@ -47,10 +42,8 @@ router.post(
where: { id: req.params.user_id }, where: { id: req.params.user_id },
select: [...PrivateUserProjection, "data"], select: [...PrivateUserProjection, "data"],
}); });
await Promise.all([ const members = await Member.find({ where: { id: req.params.user_id } });
Member.delete({ id: req.params.user_id }), await Promise.all([...members.map((member) => Member.removeFromGuild(member.id, member.guild_id)), User.delete({ id: req.params.user_id })]);
User.delete({ id: req.params.user_id }),
]);
// TODO: respect intents as USER_DELETE has potential to cause privacy issues // TODO: respect intents as USER_DELETE has potential to cause privacy issues
await emitEvent({ await emitEvent({

View File

@ -46,10 +46,7 @@ router.post(
if (user.data.hash) { if (user.data.hash) {
// guest accounts can delete accounts without password // guest accounts can delete accounts without password
correctpass = await bcrypt.compare( correctpass = await bcrypt.compare(req.body.password, user.data.hash);
req.body.password,
user.data.hash,
);
if (!correctpass) { if (!correctpass) {
throw new HTTPError(req.t("auth:login.INVALID_PASSWORD")); throw new HTTPError(req.t("auth:login.INVALID_PASSWORD"));
} }
@ -58,10 +55,8 @@ router.post(
// TODO: decrement guild member count // TODO: decrement guild member count
if (correctpass) { if (correctpass) {
await Promise.all([ const members = await Member.find({ where: { id: req.user_id } });
User.delete({ id: req.user_id }), await Promise.all([User.delete({ id: req.user_id }), ...members.map((member) => Member.removeFromGuild(member.id, member.guild_id))]);
Member.delete({ id: req.user_id }),
]);
res.sendStatus(204); res.sendStatus(204);
} else { } else {

View File

@ -77,7 +77,7 @@ router.delete(
} }
await Promise.all([ await Promise.all([
Member.delete({ id: req.user_id, guild_id: guild_id }), Member.removeFromGuild(req.user_id, guild_id),
emitEvent({ emitEvent({
event: "GUILD_DELETE", event: "GUILD_DELETE",
data: { data: {

View File

@ -178,7 +178,7 @@ export class Member extends BaseClassWithoutId {
id: user_id, id: user_id,
guild_id, guild_id,
}), }),
Guild.decrement({ id: guild_id }, "member_count", -1), Guild.decrement({ id: guild_id }, "member_count", 1),
emitEvent({ emitEvent({
event: "GUILD_DELETE", event: "GUILD_DELETE",