Skip to content

Commit 6d76858

Browse files
committed
fix(flows): move datetime picker action schema out of use server module
1 parent a61eede commit 6d76858

3 files changed

Lines changed: 19 additions & 8 deletions

File tree

apps/builder/__tests__/submit-date-time-action.test.ts

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,9 +27,12 @@ vi.mock("@chatbotx.io/worker-config", () => ({
2727
integrationQueue: { add: mocks.integrationQueueAdd },
2828
}))
2929

30-
const { submitDateTime, submitDateTimeRequestSchema } = await import(
30+
const { submitDateTime } = await import(
3131
"../src/app/extensions/datetime-picker/actions/submit-date-time.action"
3232
)
33+
const { submitDateTimeRequestSchema } = await import(
34+
"../src/features/get-user-data-webview/schemas/action"
35+
)
3336

3437
const VALID_PAYLOAD = {
3538
workspaceId: "workspace-1",

apps/builder/src/app/extensions/datetime-picker/actions/submit-date-time.action.ts

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -6,15 +6,12 @@ import {
66
IntegrationJobAction,
77
integrationQueue,
88
} from "@chatbotx.io/worker-config"
9-
import { z } from "zod"
9+
import {
10+
type SubmitDateTimeInput,
11+
submitDateTimeRequestSchema,
12+
} from "@/features/get-user-data-webview/schemas/action"
1013
import { actionClient } from "@/lib/safe-action"
1114

12-
export const submitDateTimeRequestSchema = z.object({
13-
token: z.string().min(1),
14-
selectedValue: z.iso.datetime(),
15-
})
16-
type SubmitDateTimeInput = z.infer<typeof submitDateTimeRequestSchema>
17-
1815
export const submitDateTimeAction = actionClient
1916
.inputSchema(submitDateTimeRequestSchema)
2017
.action(async ({ parsedInput }) => submitDateTime(parsedInput))
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
import { z } from "zod"
2+
3+
// Lives outside the server-action file on purpose: Next.js only allows async
4+
// function exports from a "use server" module (mirrors booking-webview's
5+
// schemas/action.ts).
6+
export const submitDateTimeRequestSchema = z.object({
7+
token: z.string().min(1),
8+
selectedValue: z.iso.datetime(),
9+
})
10+
11+
export type SubmitDateTimeInput = z.infer<typeof submitDateTimeRequestSchema>

0 commit comments

Comments
 (0)