helpers.ts
Raw
1import type { ExpressionBuilder } from "kysely";
2import type { Database } from "./index.ts";
3
4export function issuesLabelFilter(
5 eb: ExpressionBuilder<Database, "issues">,
6 labelIds: number[],
7) {
8 return eb.exists(
9 eb
10 .selectFrom("issue_labels")
11 .select("issue_labels.issue_id")
12 .whereRef("issue_labels.issue_id", "=", "issues.id")
13 .where("issue_labels.label_id", "in", labelIds),
14 );
15}
16
17export function patchesLabelFilter(
18 eb: ExpressionBuilder<Database, "patches">,
19 labelIds: number[],
20) {
21 return eb.exists(
22 eb
23 .selectFrom("patch_labels")
24 .select("patch_labels.patch_id")
25 .whereRef("patch_labels.patch_id", "=", "patches.id")
26 .where("patch_labels.label_id", "in", labelIds),
27 );
28}
29