completionId: cgen-543deb37a9844b0187dcb5d6b2caece6
cgen-543deb37a9844b0187dcb5d6b2caece6
This commit is contained in:
parent
9f127907fc
commit
214b05d846
1 changed files with 58 additions and 38 deletions
|
|
@ -116,52 +116,72 @@ export default async function handler(
|
|||
|
||||
// PUT - Update role mapping
|
||||
if (req.method === "PUT") {
|
||||
const { id, arm, discord_role, server_id, user_type } = req.body;
|
||||
try {
|
||||
const { id, arm, discord_role, server_id, user_type } = req.body;
|
||||
|
||||
if (!id) {
|
||||
return res.status(400).json({ error: "id is required" });
|
||||
if (!id) {
|
||||
return res.status(400).json({ error: "id is required" });
|
||||
}
|
||||
|
||||
const updateData: any = {};
|
||||
if (arm) updateData.arm = arm;
|
||||
if (discord_role) updateData.discord_role = discord_role;
|
||||
if (server_id !== undefined) updateData.server_id = server_id;
|
||||
if (user_type) updateData.user_type = user_type;
|
||||
|
||||
const { data, error } = await supabase
|
||||
.from("discord_role_mappings")
|
||||
.update(updateData)
|
||||
.eq("id", id)
|
||||
.select()
|
||||
.single();
|
||||
|
||||
if (error) {
|
||||
console.error("Supabase error:", error);
|
||||
return res.status(500).json({
|
||||
error: `Failed to update mapping: ${error.message}`,
|
||||
});
|
||||
}
|
||||
|
||||
return res.status(200).json(data);
|
||||
} catch (updateErr: any) {
|
||||
console.error("Update error:", updateErr);
|
||||
return res.status(500).json({
|
||||
error: `Update error: ${updateErr?.message || "Unknown error"}`,
|
||||
});
|
||||
}
|
||||
|
||||
const updateData: any = {};
|
||||
if (arm) updateData.arm = arm;
|
||||
if (discord_role) updateData.discord_role = discord_role;
|
||||
if (server_id !== undefined) updateData.server_id = server_id;
|
||||
if (user_type) updateData.user_type = user_type;
|
||||
|
||||
const { data, error } = await supabase
|
||||
.from("discord_role_mappings")
|
||||
.update(updateData)
|
||||
.eq("id", id)
|
||||
.select()
|
||||
.single();
|
||||
|
||||
if (error) {
|
||||
console.error("Supabase error:", error);
|
||||
return res.status(500).json({ error: "Failed to update mapping" });
|
||||
}
|
||||
|
||||
return res.status(200).json(data);
|
||||
}
|
||||
|
||||
// DELETE - Delete role mapping
|
||||
if (req.method === "DELETE") {
|
||||
const { id } = req.query;
|
||||
try {
|
||||
const { id } = req.query;
|
||||
|
||||
if (!id) {
|
||||
return res.status(400).json({ error: "id query parameter is required" });
|
||||
if (!id) {
|
||||
return res
|
||||
.status(400)
|
||||
.json({ error: "id query parameter is required" });
|
||||
}
|
||||
|
||||
const { error } = await supabase
|
||||
.from("discord_role_mappings")
|
||||
.delete()
|
||||
.eq("id", id);
|
||||
|
||||
if (error) {
|
||||
console.error("Supabase error:", error);
|
||||
return res.status(500).json({
|
||||
error: `Failed to delete mapping: ${error.message}`,
|
||||
});
|
||||
}
|
||||
|
||||
return res.status(200).json({ success: true });
|
||||
} catch (deleteErr: any) {
|
||||
console.error("Delete error:", deleteErr);
|
||||
return res.status(500).json({
|
||||
error: `Delete error: ${deleteErr?.message || "Unknown error"}`,
|
||||
});
|
||||
}
|
||||
|
||||
const { error } = await supabase
|
||||
.from("discord_role_mappings")
|
||||
.delete()
|
||||
.eq("id", id);
|
||||
|
||||
if (error) {
|
||||
console.error("Supabase error:", error);
|
||||
return res.status(500).json({ error: "Failed to delete mapping" });
|
||||
}
|
||||
|
||||
return res.status(200).json({ success: true });
|
||||
}
|
||||
|
||||
return res.status(405).json({ error: "Method not allowed" });
|
||||
|
|
|
|||
Loading…
Reference in a new issue