feat: setup workspaces

This commit is contained in:
Henry
2024-03-02 14:32:32 +00:00
parent ac54348503
commit 855b8af7db
23 changed files with 15560 additions and 31 deletions

View File

@@ -3,6 +3,7 @@ import { cardRouter } from "~/server/api/routers/card";
import { labelRouter } from "~/server/api/routers/label";
import { listRouter } from "~/server/api/routers/list";
import { importRouter } from "~/server/api/routers/import";
import { workspaceRouter } from "~/server/api/routers/workspace";
import { createTRPCRouter } from "~/server/api/trpc";
/**
@@ -16,6 +17,7 @@ export const appRouter = createTRPCRouter({
label: labelRouter,
list: listRouter,
import: importRouter,
workspace: workspaceRouter,
});
// export type definition of API

View File

@@ -0,0 +1,24 @@
import { and, eq, isNull } from "drizzle-orm";
import { workspaces } from "~/server/db/schema";
import {
createTRPCRouter,
publicProcedure,
} from "~/server/api/trpc";
export const workspaceRouter = createTRPCRouter({
all: publicProcedure.query(({ ctx }) => {
const userId = ctx.session?.user.id;
if (!userId) return;
return ctx.db.query.workspaces.findMany({
where: and(eq(workspaces.createdBy, userId), isNull(workspaces.deletedAt)),
columns: {
publicId: true,
name: true,
},
});
}),
});