Selaa lähdekoodia

♻️ refactor(orders): adjust RouteSnapshotSchema position and update price type

- move RouteSnapshotSchema definition above OrderCreateSchema for better code organization
- change price field type from z.number() to z.coerce.number() in RouteSnapshotSchema to ensure proper number conversion from string inputs
yourname 3 kuukautta sitten
vanhempi
sitoutus
98063f1cc5
1 muutettua tiedostoa jossa 15 lisäystä ja 13 poistoa
  1. 15 13
      packages/server/src/modules/orders/order.schema.ts

+ 15 - 13
packages/server/src/modules/orders/order.schema.ts

@@ -1,13 +1,27 @@
 import { z } from 'zod';
 import { OrderStatus, PaymentStatus } from '../../share/order.types';
 
+
+
+// 路线快照Schema
+export const RouteSnapshotSchema = z.object({
+  id: z.number(),
+  name: z.string(),
+  pickupPoint: z.string(),
+  dropoffPoint: z.string(),
+  departureTime: z.coerce.date(),
+  price: z.coerce.number(),
+  vehicleType: z.string(),
+  travelMode: z.string()
+});
+
 // 创建订单Schema
 export const OrderCreateSchema = z.object({
   routeId: z.number().int().positive(),
   passengerCount: z.number().int().min(1),
   totalAmount: z.number().positive(),
   passengerSnapshots: z.array(z.any()),
-  routeSnapshot: z.any(),
+  routeSnapshot: RouteSnapshotSchema,
   createdBy: z.number().int().positive().optional()
 });
 
@@ -32,18 +46,6 @@ export const OrderListSchema = z.object({
   search: z.string().optional()
 });
 
-// 路线快照Schema
-export const RouteSnapshotSchema = z.object({
-  id: z.number(),
-  name: z.string(),
-  pickupPoint: z.string(),
-  dropoffPoint: z.string(),
-  departureTime: z.coerce.date(),
-  price: z.number(),
-  vehicleType: z.string(),
-  travelMode: z.string()
-});
-
 // 订单响应Schema
 export const OrderResponseSchema = z.object({
   id: z.number(),