blodemd 0.0.4 → 0.0.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +12 -1
- package/dev-server/app/[[...slug]]/page.tsx +139 -0
- package/dev-server/app/blodemd-dev/invalidate/route.ts +12 -0
- package/dev-server/app/blodemd-dev/static/[...path]/route.ts +32 -0
- package/dev-server/app/blodemd-dev/version/route.ts +14 -0
- package/dev-server/app/blodemd-internal/proxy/route.ts +86 -0
- package/dev-server/app/error.tsx +24 -0
- package/dev-server/app/globals.css +4 -0
- package/dev-server/app/layout.tsx +38 -0
- package/dev-server/app/not-found.tsx +18 -0
- package/dev-server/app/search/route.ts +17 -0
- package/dev-server/components/dev-reload-script.tsx +86 -0
- package/dev-server/components/providers.tsx +15 -0
- package/dev-server/lib/dev-state.ts +8 -0
- package/dev-server/lib/local-content-source.ts +103 -0
- package/dev-server/lib/local-runtime.tsx +558 -0
- package/dev-server/next.config.js +46 -0
- package/dev-server/package.json +57 -0
- package/dev-server/postcss.config.mjs +7 -0
- package/dev-server/public/glide-variable.woff2 +0 -0
- package/dev-server/tsconfig.json +49 -0
- package/dist/cli.mjs +299 -26
- package/dist/cli.mjs.map +1 -1
- package/docs/app/globals.css +455 -0
- package/docs/components/api/api-playground.tsx +295 -0
- package/docs/components/api/api-reference.tsx +121 -0
- package/docs/components/content/collection-index.tsx +114 -0
- package/docs/components/docs/contextual-menu.tsx +406 -0
- package/docs/components/docs/copy-page-menu.tsx +255 -0
- package/docs/components/docs/doc-header.tsx +192 -0
- package/docs/components/docs/doc-shell.tsx +289 -0
- package/docs/components/docs/doc-sidebar.tsx +206 -0
- package/docs/components/docs/doc-toc.tsx +45 -0
- package/docs/components/docs/mobile-nav.tsx +207 -0
- package/docs/components/mdx/accordion.tsx +83 -0
- package/docs/components/mdx/badge.tsx +79 -0
- package/docs/components/mdx/callout.tsx +88 -0
- package/docs/components/mdx/card.tsx +104 -0
- package/docs/components/mdx/code-block.tsx +75 -0
- package/docs/components/mdx/code-group.tsx +94 -0
- package/docs/components/mdx/color.tsx +87 -0
- package/docs/components/mdx/columns.tsx +25 -0
- package/docs/components/mdx/expandable.tsx +45 -0
- package/docs/components/mdx/field-layout.tsx +77 -0
- package/docs/components/mdx/frame.tsx +23 -0
- package/docs/components/mdx/get-text-content.ts +18 -0
- package/docs/components/mdx/icon.tsx +56 -0
- package/docs/components/mdx/index.tsx +96 -0
- package/docs/components/mdx/installer.tsx +20 -0
- package/docs/components/mdx/panel.tsx +11 -0
- package/docs/components/mdx/param-field.tsx +56 -0
- package/docs/components/mdx/preview.tsx +36 -0
- package/docs/components/mdx/prompt.tsx +63 -0
- package/docs/components/mdx/request-example.tsx +27 -0
- package/docs/components/mdx/response-field.tsx +42 -0
- package/docs/components/mdx/steps.tsx +92 -0
- package/docs/components/mdx/tabs.tsx +88 -0
- package/docs/components/mdx/tile.tsx +43 -0
- package/docs/components/mdx/tooltip.tsx +71 -0
- package/docs/components/mdx/tree.tsx +120 -0
- package/docs/components/mdx/type-table.tsx +71 -0
- package/docs/components/mdx/update.tsx +44 -0
- package/docs/components/mdx/video.tsx +12 -0
- package/docs/components/mdx/view.tsx +66 -0
- package/docs/components/providers.tsx +15 -0
- package/docs/components/ui/breadcrumb.tsx +92 -0
- package/docs/components/ui/button.tsx +90 -0
- package/docs/components/ui/card.tsx +92 -0
- package/docs/components/ui/command.tsx +139 -0
- package/docs/components/ui/dialog.tsx +97 -0
- package/docs/components/ui/field.tsx +237 -0
- package/docs/components/ui/input.tsx +105 -0
- package/docs/components/ui/label.tsx +22 -0
- package/docs/components/ui/popover.tsx +72 -0
- package/docs/components/ui/search.tsx +380 -0
- package/docs/components/ui/separator.tsx +26 -0
- package/docs/components/ui/sheet.tsx +104 -0
- package/docs/components/ui/sidebar.tsx +433 -0
- package/docs/components/ui/theme-toggle.tsx +62 -0
- package/docs/components/ui/tooltip.tsx +53 -0
- package/docs/lib/contextual-options.ts +193 -0
- package/docs/lib/docs-collection.ts +22 -0
- package/docs/lib/mdx.ts +90 -0
- package/docs/lib/navigation.ts +288 -0
- package/docs/lib/openapi.ts +158 -0
- package/docs/lib/routes.ts +10 -0
- package/docs/lib/server-cache.ts +83 -0
- package/docs/lib/shiki.ts +35 -0
- package/docs/lib/theme.ts +29 -0
- package/docs/lib/toc.ts +2 -0
- package/docs/lib/utils.ts +5 -0
- package/package.json +34 -3
- package/packages/@repo/common/dist/index.d.ts +9 -0
- package/packages/@repo/common/dist/index.d.ts.map +1 -0
- package/packages/@repo/common/dist/index.js +42 -0
- package/packages/@repo/common/package.json +34 -0
- package/packages/@repo/common/src/common.unit.test.ts +55 -0
- package/packages/@repo/common/src/index.ts +51 -0
- package/packages/@repo/contracts/dist/api-key.d.ts +30 -0
- package/packages/@repo/contracts/dist/api-key.d.ts.map +1 -0
- package/packages/@repo/contracts/dist/api-key.js +20 -0
- package/packages/@repo/contracts/dist/dates.d.ts +4 -0
- package/packages/@repo/contracts/dist/dates.d.ts.map +1 -0
- package/packages/@repo/contracts/dist/dates.js +2 -0
- package/packages/@repo/contracts/dist/deployment.d.ts +71 -0
- package/packages/@repo/contracts/dist/deployment.d.ts.map +1 -0
- package/packages/@repo/contracts/dist/deployment.js +46 -0
- package/packages/@repo/contracts/dist/domain.d.ts +94 -0
- package/packages/@repo/contracts/dist/domain.d.ts.map +1 -0
- package/packages/@repo/contracts/dist/domain.js +36 -0
- package/packages/@repo/contracts/dist/ids.d.ts +14 -0
- package/packages/@repo/contracts/dist/ids.d.ts.map +1 -0
- package/packages/@repo/contracts/dist/ids.js +10 -0
- package/packages/@repo/contracts/dist/index.d.ts +10 -0
- package/packages/@repo/contracts/dist/index.d.ts.map +1 -0
- package/packages/@repo/contracts/dist/index.js +11 -0
- package/packages/@repo/contracts/dist/pagination.d.ts +23 -0
- package/packages/@repo/contracts/dist/pagination.d.ts.map +1 -0
- package/packages/@repo/contracts/dist/pagination.js +15 -0
- package/packages/@repo/contracts/dist/project.d.ts +25 -0
- package/packages/@repo/contracts/dist/project.d.ts.map +1 -0
- package/packages/@repo/contracts/dist/project.js +23 -0
- package/packages/@repo/contracts/dist/tenant.d.ts +99 -0
- package/packages/@repo/contracts/dist/tenant.d.ts.map +1 -0
- package/packages/@repo/contracts/dist/tenant.js +36 -0
- package/packages/@repo/contracts/dist/user.d.ts +9 -0
- package/packages/@repo/contracts/dist/user.d.ts.map +1 -0
- package/packages/@repo/contracts/dist/user.js +9 -0
- package/packages/@repo/contracts/package.json +37 -0
- package/packages/@repo/contracts/src/api-key.ts +27 -0
- package/packages/@repo/contracts/src/dates.ts +4 -0
- package/packages/@repo/contracts/src/deployment.ts +73 -0
- package/packages/@repo/contracts/src/domain.ts +51 -0
- package/packages/@repo/contracts/src/ids.ts +22 -0
- package/packages/@repo/contracts/src/index.ts +11 -0
- package/packages/@repo/contracts/src/pagination.ts +21 -0
- package/packages/@repo/contracts/src/project.ts +30 -0
- package/packages/@repo/contracts/src/tenant.ts +54 -0
- package/packages/@repo/contracts/src/user.ts +12 -0
- package/packages/@repo/models/dist/docs-config.d.ts +985 -0
- package/packages/@repo/models/dist/docs-config.d.ts.map +1 -0
- package/packages/@repo/models/dist/docs-config.js +548 -0
- package/packages/@repo/models/dist/index.d.ts +3 -0
- package/packages/@repo/models/dist/index.d.ts.map +1 -0
- package/packages/@repo/models/dist/index.js +3 -0
- package/packages/@repo/models/dist/tenant.d.ts +25 -0
- package/packages/@repo/models/dist/tenant.d.ts.map +1 -0
- package/packages/@repo/models/dist/tenant.js +1 -0
- package/packages/@repo/models/package.json +37 -0
- package/packages/@repo/models/src/docs-config.ts +648 -0
- package/packages/@repo/models/src/index.ts +3 -0
- package/packages/@repo/models/src/tenant.ts +29 -0
- package/packages/@repo/prebuild/dist/index.d.ts +2 -0
- package/packages/@repo/prebuild/dist/index.d.ts.map +1 -0
- package/packages/@repo/prebuild/dist/index.js +2 -0
- package/packages/@repo/prebuild/dist/openapi.d.ts +43 -0
- package/packages/@repo/prebuild/dist/openapi.d.ts.map +1 -0
- package/packages/@repo/prebuild/dist/openapi.js +58 -0
- package/packages/@repo/prebuild/package.json +39 -0
- package/packages/@repo/prebuild/src/index.ts +2 -0
- package/packages/@repo/prebuild/src/openapi.ts +116 -0
- package/packages/@repo/previewing/dist/blob-source.d.ts +16 -0
- package/packages/@repo/previewing/dist/blob-source.d.ts.map +1 -0
- package/packages/@repo/previewing/dist/blob-source.js +110 -0
- package/packages/@repo/previewing/dist/content-source.d.ts +12 -0
- package/packages/@repo/previewing/dist/content-source.d.ts.map +1 -0
- package/packages/@repo/previewing/dist/content-source.js +1 -0
- package/packages/@repo/previewing/dist/fs-source.d.ts +11 -0
- package/packages/@repo/previewing/dist/fs-source.d.ts.map +1 -0
- package/packages/@repo/previewing/dist/fs-source.js +79 -0
- package/packages/@repo/previewing/dist/index.d.ts +120 -0
- package/packages/@repo/previewing/dist/index.d.ts.map +1 -0
- package/packages/@repo/previewing/dist/index.js +984 -0
- package/packages/@repo/previewing/package.json +41 -0
- package/packages/@repo/previewing/src/blob-source.ts +167 -0
- package/packages/@repo/previewing/src/content-source.ts +12 -0
- package/packages/@repo/previewing/src/fs-source.ts +111 -0
- package/packages/@repo/previewing/src/index.ts +1490 -0
- package/packages/@repo/previewing/src/index.unit.test.ts +290 -0
- package/packages/@repo/validation/dist/index.d.ts +12 -0
- package/packages/@repo/validation/dist/index.d.ts.map +1 -0
- package/packages/@repo/validation/dist/index.js +30 -0
- package/packages/@repo/validation/package.json +37 -0
- package/packages/@repo/validation/src/index.ts +59 -0
- package/packages/@repo/validation/src/mintlify-docs-schema.json +5016 -0
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
|
|
3
|
+
import { IsoDateSchema } from "./dates.js";
|
|
4
|
+
import { IdSchema, UrlSchema } from "./ids.js";
|
|
5
|
+
|
|
6
|
+
export const DeploymentStatusSchema = z.enum([
|
|
7
|
+
"Queued",
|
|
8
|
+
"Building",
|
|
9
|
+
"Successful",
|
|
10
|
+
"Failed",
|
|
11
|
+
]);
|
|
12
|
+
export type DeploymentStatus = z.infer<typeof DeploymentStatusSchema>;
|
|
13
|
+
|
|
14
|
+
export const DeploymentEnvironmentSchema = z.enum(["production", "preview"]);
|
|
15
|
+
export type DeploymentEnvironment = z.infer<typeof DeploymentEnvironmentSchema>;
|
|
16
|
+
|
|
17
|
+
export const DeploymentSchema = z.object({
|
|
18
|
+
branch: z.string().min(1),
|
|
19
|
+
changes: z.string().min(1).optional(),
|
|
20
|
+
commitMessage: z.string().min(1).optional(),
|
|
21
|
+
createdAt: IsoDateSchema,
|
|
22
|
+
environment: DeploymentEnvironmentSchema,
|
|
23
|
+
fileCount: z.number().int().nonnegative().optional(),
|
|
24
|
+
id: IdSchema,
|
|
25
|
+
manifestUrl: UrlSchema.optional(),
|
|
26
|
+
previewUrl: UrlSchema.optional(),
|
|
27
|
+
projectId: IdSchema,
|
|
28
|
+
promotedAt: IsoDateSchema.optional(),
|
|
29
|
+
status: DeploymentStatusSchema,
|
|
30
|
+
updatedAt: IsoDateSchema,
|
|
31
|
+
});
|
|
32
|
+
export type Deployment = z.infer<typeof DeploymentSchema>;
|
|
33
|
+
|
|
34
|
+
export const PublishDeploymentCreateSchema = z.object({
|
|
35
|
+
branch: z.string().min(1).optional(),
|
|
36
|
+
changes: z.string().min(1).optional(),
|
|
37
|
+
commitMessage: z.string().min(1).optional(),
|
|
38
|
+
environment: DeploymentEnvironmentSchema.optional(),
|
|
39
|
+
});
|
|
40
|
+
export type PublishDeploymentCreateInput = z.infer<
|
|
41
|
+
typeof PublishDeploymentCreateSchema
|
|
42
|
+
>;
|
|
43
|
+
|
|
44
|
+
export const PublishDeploymentFileSchema = z.object({
|
|
45
|
+
contentBase64: z.string().min(1),
|
|
46
|
+
contentType: z.string().min(1).optional(),
|
|
47
|
+
path: z.string().min(1),
|
|
48
|
+
});
|
|
49
|
+
export type PublishDeploymentFileInput = z.infer<
|
|
50
|
+
typeof PublishDeploymentFileSchema
|
|
51
|
+
>;
|
|
52
|
+
|
|
53
|
+
export const PublishDeploymentFileResponseSchema = z.object({
|
|
54
|
+
path: z.string().min(1),
|
|
55
|
+
url: UrlSchema,
|
|
56
|
+
});
|
|
57
|
+
export type PublishDeploymentFileResponse = z.infer<
|
|
58
|
+
typeof PublishDeploymentFileResponseSchema
|
|
59
|
+
>;
|
|
60
|
+
|
|
61
|
+
export const PublishDeploymentFilesBatchSchema = z.object({
|
|
62
|
+
files: z.array(PublishDeploymentFileSchema).min(1),
|
|
63
|
+
});
|
|
64
|
+
export type PublishDeploymentFilesBatchInput = z.infer<
|
|
65
|
+
typeof PublishDeploymentFilesBatchSchema
|
|
66
|
+
>;
|
|
67
|
+
|
|
68
|
+
export const PublishDeploymentFinalizeSchema = z.object({
|
|
69
|
+
promote: z.boolean().optional(),
|
|
70
|
+
});
|
|
71
|
+
export type PublishDeploymentFinalizeInput = z.infer<
|
|
72
|
+
typeof PublishDeploymentFinalizeSchema
|
|
73
|
+
>;
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
|
|
3
|
+
import { IsoDateSchema } from "./dates.js";
|
|
4
|
+
import { HostnameSchema, IdSchema, PathSchema } from "./ids.js";
|
|
5
|
+
|
|
6
|
+
export const DomainStatusSchema = z.enum([
|
|
7
|
+
"Valid Configuration",
|
|
8
|
+
"Pending Verification",
|
|
9
|
+
"Invalid Configuration",
|
|
10
|
+
]);
|
|
11
|
+
export type DomainStatus = z.infer<typeof DomainStatusSchema>;
|
|
12
|
+
|
|
13
|
+
export const DomainSchema = z.object({
|
|
14
|
+
createdAt: IsoDateSchema,
|
|
15
|
+
hostname: HostnameSchema,
|
|
16
|
+
id: IdSchema,
|
|
17
|
+
pathPrefix: PathSchema.optional(),
|
|
18
|
+
projectId: IdSchema,
|
|
19
|
+
status: DomainStatusSchema,
|
|
20
|
+
verifiedAt: IsoDateSchema.optional(),
|
|
21
|
+
});
|
|
22
|
+
export type Domain = z.infer<typeof DomainSchema>;
|
|
23
|
+
|
|
24
|
+
export const DomainVerificationRecordSchema = z.object({
|
|
25
|
+
name: z.string().min(1),
|
|
26
|
+
ttl: z.string().optional(),
|
|
27
|
+
type: z.enum(["A", "AAAA", "CNAME", "TXT", "MX", "NS", "CAA"]),
|
|
28
|
+
value: z.string().min(1),
|
|
29
|
+
});
|
|
30
|
+
export type DomainVerificationRecord = z.infer<
|
|
31
|
+
typeof DomainVerificationRecordSchema
|
|
32
|
+
>;
|
|
33
|
+
|
|
34
|
+
export const DomainVerificationSchema = z.object({
|
|
35
|
+
records: z.array(DomainVerificationRecordSchema),
|
|
36
|
+
verified: z.boolean(),
|
|
37
|
+
});
|
|
38
|
+
export type DomainVerification = z.infer<typeof DomainVerificationSchema>;
|
|
39
|
+
|
|
40
|
+
export const DomainCreateSchema = z.object({
|
|
41
|
+
hostname: HostnameSchema,
|
|
42
|
+
pathPrefix: PathSchema.optional(),
|
|
43
|
+
projectId: IdSchema,
|
|
44
|
+
});
|
|
45
|
+
export type DomainCreateInput = z.infer<typeof DomainCreateSchema>;
|
|
46
|
+
|
|
47
|
+
export const DomainCreateResponseSchema = z.object({
|
|
48
|
+
domain: DomainSchema,
|
|
49
|
+
verification: DomainVerificationSchema.optional(),
|
|
50
|
+
});
|
|
51
|
+
export type DomainCreateResponse = z.infer<typeof DomainCreateResponseSchema>;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
|
|
3
|
+
export const IdSchema = z.string().uuid();
|
|
4
|
+
export type Id = z.infer<typeof IdSchema>;
|
|
5
|
+
|
|
6
|
+
export const SlugSchema = z
|
|
7
|
+
.string()
|
|
8
|
+
.min(1)
|
|
9
|
+
.regex(/^[a-z0-9-]+$/);
|
|
10
|
+
export type Slug = z.infer<typeof SlugSchema>;
|
|
11
|
+
|
|
12
|
+
export const EmailSchema = z.string().email();
|
|
13
|
+
export type Email = z.infer<typeof EmailSchema>;
|
|
14
|
+
|
|
15
|
+
export const UrlSchema = z.string().url();
|
|
16
|
+
export type Url = z.infer<typeof UrlSchema>;
|
|
17
|
+
|
|
18
|
+
export const HostnameSchema = z.string().min(1);
|
|
19
|
+
export type Hostname = z.infer<typeof HostnameSchema>;
|
|
20
|
+
|
|
21
|
+
export const PathSchema = z.string().min(1);
|
|
22
|
+
export type Path = z.infer<typeof PathSchema>;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
// biome-ignore lint/performance/noBarrelFile: This is the main entry point for the package
|
|
2
|
+
// eslint-disable-next-line no-barrel-file
|
|
3
|
+
export * from "./api-key.js";
|
|
4
|
+
export * from "./dates.js";
|
|
5
|
+
export * from "./deployment.js";
|
|
6
|
+
export * from "./domain.js";
|
|
7
|
+
export * from "./ids.js";
|
|
8
|
+
export * from "./pagination.js";
|
|
9
|
+
export * from "./project.js";
|
|
10
|
+
export * from "./tenant.js";
|
|
11
|
+
export * from "./user.js";
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
|
|
3
|
+
export const PaginationSchema = z.object({
|
|
4
|
+
page: z.number().int().min(1),
|
|
5
|
+
pageSize: z.number().int().min(1).max(100),
|
|
6
|
+
});
|
|
7
|
+
export type Pagination = z.infer<typeof PaginationSchema>;
|
|
8
|
+
|
|
9
|
+
export const PageInfoSchema = z.object({
|
|
10
|
+
page: z.number().int().min(1),
|
|
11
|
+
pageSize: z.number().int().min(1),
|
|
12
|
+
total: z.number().int().min(0),
|
|
13
|
+
totalPages: z.number().int().min(0),
|
|
14
|
+
});
|
|
15
|
+
export type PageInfo = z.infer<typeof PageInfoSchema>;
|
|
16
|
+
|
|
17
|
+
export const createListResponseSchema = <T extends z.ZodTypeAny>(item: T) =>
|
|
18
|
+
z.object({
|
|
19
|
+
data: z.array(item),
|
|
20
|
+
pageInfo: PageInfoSchema.optional(),
|
|
21
|
+
});
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
|
|
3
|
+
import { IsoDateSchema } from "./dates.js";
|
|
4
|
+
import { IdSchema, SlugSchema } from "./ids.js";
|
|
5
|
+
|
|
6
|
+
export const ProjectSchema = z.object({
|
|
7
|
+
createdAt: IsoDateSchema,
|
|
8
|
+
deploymentName: z.string().min(1),
|
|
9
|
+
description: z.string().optional(),
|
|
10
|
+
id: IdSchema,
|
|
11
|
+
name: z.string().min(1),
|
|
12
|
+
slug: SlugSchema,
|
|
13
|
+
updatedAt: IsoDateSchema,
|
|
14
|
+
});
|
|
15
|
+
export type Project = z.infer<typeof ProjectSchema>;
|
|
16
|
+
|
|
17
|
+
export const ProjectCreateSchema = z.object({
|
|
18
|
+
deploymentName: z.string().min(1),
|
|
19
|
+
description: z.string().optional(),
|
|
20
|
+
name: z.string().min(1),
|
|
21
|
+
slug: SlugSchema,
|
|
22
|
+
});
|
|
23
|
+
export type ProjectCreateInput = z.infer<typeof ProjectCreateSchema>;
|
|
24
|
+
|
|
25
|
+
export const ProjectUpdateSchema = z.object({
|
|
26
|
+
deploymentName: z.string().min(1).optional(),
|
|
27
|
+
description: z.string().optional(),
|
|
28
|
+
name: z.string().min(1).optional(),
|
|
29
|
+
});
|
|
30
|
+
export type ProjectUpdateInput = z.infer<typeof ProjectUpdateSchema>;
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
|
|
3
|
+
import {
|
|
4
|
+
HostnameSchema,
|
|
5
|
+
IdSchema,
|
|
6
|
+
PathSchema,
|
|
7
|
+
SlugSchema,
|
|
8
|
+
UrlSchema,
|
|
9
|
+
} from "./ids.js";
|
|
10
|
+
|
|
11
|
+
export const TenantStatusSchema = z.enum(["active", "disabled"]);
|
|
12
|
+
export type TenantStatus = z.infer<typeof TenantStatusSchema>;
|
|
13
|
+
|
|
14
|
+
export const TenantSchema = z.object({
|
|
15
|
+
activeDeploymentId: IdSchema.optional(),
|
|
16
|
+
activeDeploymentManifestUrl: UrlSchema.optional(),
|
|
17
|
+
customDomains: z.array(HostnameSchema),
|
|
18
|
+
description: z.string().optional(),
|
|
19
|
+
id: IdSchema,
|
|
20
|
+
name: z.string().min(1),
|
|
21
|
+
pathPrefix: PathSchema.optional(),
|
|
22
|
+
primaryDomain: HostnameSchema,
|
|
23
|
+
slug: SlugSchema,
|
|
24
|
+
status: TenantStatusSchema,
|
|
25
|
+
subdomain: SlugSchema,
|
|
26
|
+
});
|
|
27
|
+
export type Tenant = z.infer<typeof TenantSchema>;
|
|
28
|
+
|
|
29
|
+
export const TenantResolutionSchema = z.object({
|
|
30
|
+
basePath: z.string(),
|
|
31
|
+
host: HostnameSchema,
|
|
32
|
+
rewrittenPath: z.string(),
|
|
33
|
+
strategy: z.enum(["preview", "custom-domain", "subdomain", "path"]),
|
|
34
|
+
tenant: TenantSchema,
|
|
35
|
+
});
|
|
36
|
+
export type TenantResolution = z.infer<typeof TenantResolutionSchema>;
|
|
37
|
+
|
|
38
|
+
const TenantEdgeRecordVersionSchema = z.literal(1);
|
|
39
|
+
|
|
40
|
+
export const TenantEdgeHostRecordSchema = z.object({
|
|
41
|
+
host: HostnameSchema,
|
|
42
|
+
pathPrefix: PathSchema.optional(),
|
|
43
|
+
strategy: z.enum(["custom-domain", "subdomain"]),
|
|
44
|
+
tenant: TenantSchema,
|
|
45
|
+
version: TenantEdgeRecordVersionSchema,
|
|
46
|
+
});
|
|
47
|
+
export type TenantEdgeHostRecord = z.infer<typeof TenantEdgeHostRecordSchema>;
|
|
48
|
+
|
|
49
|
+
export const TenantEdgeSlugRecordSchema = z.object({
|
|
50
|
+
slug: SlugSchema,
|
|
51
|
+
tenant: TenantSchema,
|
|
52
|
+
version: TenantEdgeRecordVersionSchema,
|
|
53
|
+
});
|
|
54
|
+
export type TenantEdgeSlugRecord = z.infer<typeof TenantEdgeSlugRecordSchema>;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
|
|
3
|
+
import { IsoDateSchema } from "./dates.js";
|
|
4
|
+
import { EmailSchema, IdSchema } from "./ids.js";
|
|
5
|
+
|
|
6
|
+
export const UserSchema = z.object({
|
|
7
|
+
createdAt: IsoDateSchema,
|
|
8
|
+
email: EmailSchema,
|
|
9
|
+
id: IdSchema,
|
|
10
|
+
name: z.string().nullable(),
|
|
11
|
+
});
|
|
12
|
+
export type User = z.infer<typeof UserSchema>;
|