diff --git a/packages/backend/src/db/queries/index.ts b/packages/backend/src/db/queries/index.ts index af7d8d6..b178167 100644 --- a/packages/backend/src/db/queries/index.ts +++ b/packages/backend/src/db/queries/index.ts @@ -2,5 +2,6 @@ export * from "./issues"; export * from "./organisations"; export * from "./projects"; export * from "./sessions"; +export * from "./sprints"; export * from "./timed-sessions"; export * from "./users"; diff --git a/packages/backend/src/db/queries/sprints.ts b/packages/backend/src/db/queries/sprints.ts new file mode 100644 index 0000000..79f087e --- /dev/null +++ b/packages/backend/src/db/queries/sprints.ts @@ -0,0 +1,27 @@ +import { Sprint } from "@issue/shared"; +import { eq } from "drizzle-orm"; +import { db } from "../client"; + +export async function createSprint( + projectId: number, + name: string, + color: string | undefined, + startDate: Date, + endDate: Date, +) { + const [sprint] = await db + .insert(Sprint) + .values({ + projectId, + name, + ...(color ? { color } : {}), + startDate, + endDate, + }) + .returning(); + return sprint; +} + +export async function getSprintsByProject(projectId: number) { + return await db.select().from(Sprint).where(eq(Sprint.projectId, projectId)); +}