Add 'packages/backend/' from commit 'acce648ee5e7e3a3006451e637c0db654820cc48'

git-subtree-dir: packages/backend
git-subtree-mainline: d0babd62af
git-subtree-split: acce648ee5
This commit is contained in:
Oliver Bryan
2025-12-13 20:21:47 +00:00
33 changed files with 1306 additions and 0 deletions

View File

@@ -0,0 +1,40 @@
import { eq } from "drizzle-orm";
import { db } from "../client";
import { Issue, Project, User } from "../schema";
export async function createProject(blob: string, name: string, ownerId: number) {
const [project] = await db
.insert(Project)
.values({
blob,
name,
ownerId,
})
.returning();
return project;
}
export async function updateProject(
projectId: number,
updates: { blob?: string; name?: string; ownerId?: number },
) {
const [project] = await db.update(Project).set(updates).where(eq(Project.id, projectId)).returning();
return project;
}
export async function deleteProject(projectId: number) {
// delete all of the project's issues first
await db.delete(Issue).where(eq(Issue.projectId, projectId));
// delete actual project
await db.delete(Project).where(eq(Project.id, projectId));
}
export async function getProjectByID(projectId: number) {
const [project] = await db.select().from(Project).where(eq(Project.id, projectId));
return project;
}
export async function getProjectByBlob(projectBlob: string) {
const [project] = await db.select().from(Project).where(eq(Project.blob, projectBlob));
return project;
}