feat: board slugs

This commit is contained in:
Henry
2025-01-05 16:21:11 +00:00
parent fa9be9d280
commit d98df1d2c6
13 changed files with 1795 additions and 60 deletions

View File

@@ -138,13 +138,20 @@ export const boardRouter = createTRPCRouter({
.input(
z.object({
boardPublicId: z.string().min(12),
name: z.string().min(1),
name: z.string().min(1).optional(),
slug: z
.string()
.min(3)
.max(60)
.regex(/^(?![-]+$)[a-zA-Z0-9-]+$/)
.optional(),
}),
)
.output(z.custom<Awaited<ReturnType<typeof boardRepo.update>>>())
.mutation(async ({ ctx, input }) => {
const result = await boardRepo.update(ctx.db, {
name: input.name,
slug: input.slug,
boardPublicId: input.boardPublicId,
});

View File

@@ -77,7 +77,15 @@ export const workspaceRouter = createTRPCRouter({
protect: true,
},
})
.input(z.object({ workspaceSlug: z.string().min(3).max(24) }))
.input(
z.object({
workspaceSlug: z
.string()
.min(3)
.max(24)
.regex(/^(?![-]+$)[a-zA-Z0-9-]+$/),
}),
)
.output(
z.custom<Awaited<ReturnType<typeof workspaceRepo.getBySlugWithBoards>>>(),
)
@@ -144,7 +152,12 @@ export const workspaceRouter = createTRPCRouter({
z.object({
workspacePublicId: z.string().min(12),
name: z.string().min(3).max(24).optional(),
slug: z.string().min(3).max(24).optional(),
slug: z
.string()
.min(3)
.max(24)
.regex(/^(?![-]+$)[a-zA-Z0-9-]+$/)
.optional(),
description: z.string().min(3).max(280).optional(),
}),
)
@@ -225,7 +238,15 @@ export const workspaceRouter = createTRPCRouter({
protect: true,
},
})
.input(z.object({ workspaceSlug: z.string().min(3).max(24) }))
.input(
z.object({
workspaceSlug: z
.string()
.min(3)
.max(24)
.regex(/^(?![-]+$)[a-zA-Z0-9-]+$/),
}),
)
.output(
z.object({
isAvailable: z.boolean(),