|
|
|
|
@ -3,7 +3,9 @@ import { RestClientV5 } from 'bybit-api'
|
|
|
|
|
import { z } from 'zod'
|
|
|
|
|
|
|
|
|
|
export const POST = async ({ locals, request }) => {
|
|
|
|
|
const body = await request.json()
|
|
|
|
|
const text = await request.text()
|
|
|
|
|
|
|
|
|
|
const body = JSON.parse(text)
|
|
|
|
|
|
|
|
|
|
const flatSchema = z.object({
|
|
|
|
|
type: z.literal('Flat'),
|
|
|
|
|
@ -26,9 +28,7 @@ export const POST = async ({ locals, request }) => {
|
|
|
|
|
takeProfitPercent: z.string().optional(),
|
|
|
|
|
stopLossPercent: z.string().optional(),
|
|
|
|
|
})
|
|
|
|
|
const form = z
|
|
|
|
|
.discriminatedUnion('type', [flatSchema, percentSchema])
|
|
|
|
|
.safeParse(body)
|
|
|
|
|
const form = z.union([flatSchema, percentSchema]).safeParse(body)
|
|
|
|
|
|
|
|
|
|
if (!form.success) {
|
|
|
|
|
console.log(form.error)
|
|
|
|
|
|