kaneo (minimalist kanban) fork to experiment adding a tangled integration
github.com/usekaneo/kaneo
1import { eq } from "drizzle-orm";
2import { HTTPException } from "hono/http-exception";
3import db from "../../database";
4import { labelTable } from "../../database/schema";
5import { removeLabelFromGitHub } from "../../plugins/github/utils/sync-label-to-github";
6
7async function deleteLabel(id: string) {
8 const label = await db.query.labelTable.findFirst({
9 where: (label, { eq }) => eq(label.id, id),
10 });
11
12 if (!label) {
13 throw new HTTPException(404, {
14 message: "Label not found",
15 });
16 }
17
18 const [deletedLabel] = await db
19 .delete(labelTable)
20 .where(eq(labelTable.id, id))
21 .returning();
22
23 if (deletedLabel?.taskId) {
24 removeLabelFromGitHub(deletedLabel.taskId, deletedLabel.name).catch(
25 (error) => {
26 console.error("Failed to remove label from GitHub:", error);
27 },
28 );
29 }
30
31 return deletedLabel;
32}
33
34export default deleteLabel;