kaneo (minimalist kanban) fork to experiment adding a tangled integration
github.com/usekaneo/kaneo
1import { and, eq } from "drizzle-orm";
2import db from "../../database";
3import { integrationTable } from "../../database/schema";
4import {
5 defaultGitHubConfig,
6 type GitHubConfig,
7} from "../../plugins/github/config";
8
9async function getGithubIntegration(projectId: string) {
10 const integration = await db.query.integrationTable.findFirst({
11 where: and(
12 eq(integrationTable.projectId, projectId),
13 eq(integrationTable.type, "github"),
14 ),
15 });
16
17 if (!integration) {
18 return null;
19 }
20
21 const config = JSON.parse(integration.config) as GitHubConfig;
22
23 return {
24 id: integration.id,
25 projectId: integration.projectId,
26 repositoryOwner: config.repositoryOwner,
27 repositoryName: config.repositoryName,
28 installationId: config.installationId,
29 branchPattern: config.branchPattern || defaultGitHubConfig.branchPattern,
30 isActive: integration.isActive,
31 createdAt: integration.createdAt,
32 updatedAt: integration.updatedAt,
33 };
34}
35
36export default getGithubIntegration;