feat: public workspace

This commit is contained in:
Henry
2025-01-04 18:25:05 +00:00
parent 34cabb5f16
commit f1b0860734
4 changed files with 151 additions and 0 deletions

View File

@@ -64,6 +64,29 @@ export const workspaceRouter = createTRPCRouter({
code: "NOT_FOUND",
});
return result;
}),
bySlug: publicProcedure
.meta({
openapi: {
summary: "Get a workspace by slug",
method: "GET",
path: "/workspaces/slug/{workspaceSlug}",
description: "Retrieves a workspace by its slug",
tags: ["Workspaces"],
protect: true,
},
})
.input(z.object({ workspaceSlug: z.string().min(3).max(24) }))
.output(
z.custom<Awaited<ReturnType<typeof workspaceRepo.getBySlugWithBoards>>>(),
)
.query(async ({ ctx, input }) => {
const result = await workspaceRepo.getBySlugWithBoards(
ctx.db,
input.workspaceSlug,
);
return result;
}),
create: protectedProcedure