20 lines
533 B
TypeScript
20 lines
533 B
TypeScript
import * as z from 'zod';
|
|
|
|
import { ZSlug } from '../shared/slug';
|
|
|
|
/**
|
|
* Route params + query schemas for the anonymous, SEO-indexable public course
|
|
* surface under `(org-site)/course/[courseSlug]`.
|
|
*/
|
|
|
|
export const ZPublicCourseBySlugParam = z.object({
|
|
courseSlug: ZSlug
|
|
});
|
|
export type TPublicCourseBySlugParam = z.infer<typeof ZPublicCourseBySlugParam>;
|
|
|
|
export const ZPublicCourseItemParam = z.object({
|
|
courseSlug: ZSlug,
|
|
itemSlug: ZSlug
|
|
});
|
|
export type TPublicCourseItemParam = z.infer<typeof ZPublicCourseItemParam>;
|