Berechtigungen werden nun beim Verbinden überprüft, Bannen wird nun im Piloten-fenster gelogt

This commit is contained in:
PxlLoewe
2025-06-23 23:30:12 -07:00
parent dabcad2525
commit 2e5340d8be
14 changed files with 224 additions and 39 deletions

View File

@@ -136,7 +136,7 @@ router.delete("/:id", async (req, res) => {
const aircraft = await prisma.connectedAircraft.update({
where: { id: Number(id) },
data: { logoutTime: new Date() },
include: bann ? { User: true } : undefined,
include: { User: true },
});
if (!aircraft) {
@@ -149,7 +149,7 @@ router.delete("/:id", async (req, res) => {
io.to(`user:${aircraft.userId}`).emit("notification", {
type: "admin-message",
message: `Du wurdest von ${getPublicUser(req.user).publicId} ${until ? `bis zum ${new Date(until).toLocaleString()} ` : ""} ${
status === "ban" ? "gebannt" : "gekickt"
status === "ban" ? "gekickt, deine Rechte wurden entzogen!" : "gekickt"
}`,
status,
data: { admin: getPublicUser(req.user), reason },
@@ -162,7 +162,7 @@ router.delete("/:id", async (req, res) => {
where: { id: aircraft.userId },
data: {
permissions: {
set: req.user.permissions.filter((p) => p !== "PILOT"),
set: aircraft.User.permissions.filter((p) => p !== "PILOT"),
},
},
});
@@ -170,7 +170,7 @@ router.delete("/:id", async (req, res) => {
await prisma.penalty.create({
data: {
userId: aircraft.userId,
type: bann ? (until ? "TIME_BAN" : "BAN") : "KICK",
type: bann ? (until ? "TIME_BAN" : "PERMISSIONS_REVOCED") : "KICK",
until: until ? new Date(until) : new Date(Date.now() + 1000 * 60 * 60 * 24 * 365 * 50),
reason: reason,
createdUserId: req.user.id,