11import { EnumType } from 'json-to-graphql-query' ;
22import { z } from 'zod' ;
3+ import { OrderCustomer , orderCustomerInputRequest } from './customer' ;
34import {
45 CashPayment ,
56 cashPaymentInputRequest ,
@@ -81,39 +82,6 @@ export const orderItemInputRequest = z
8182 . strict ( ) ;
8283export type OrderItemInputRequest = z . infer < typeof orderItemInputRequest > ;
8384
84- export const addressInputRequest = z
85- . object ( {
86- type : z . enum ( [ 'delivery' , 'billing' , 'other' ] ) . transform ( ( val ) => new EnumType ( val ) ) ,
87- firstName : z . string ( ) . optional ( ) ,
88- middleName : z . string ( ) . optional ( ) ,
89- lastName : z . string ( ) . optional ( ) ,
90- street : z . string ( ) . optional ( ) ,
91- street2 : z . string ( ) . optional ( ) ,
92- streetNumber : z . string ( ) . optional ( ) ,
93- postalCode : z . string ( ) . optional ( ) ,
94- city : z . string ( ) . optional ( ) ,
95- state : z . string ( ) . optional ( ) ,
96- country : z . string ( ) . optional ( ) ,
97- phone : z . string ( ) . optional ( ) ,
98- email : z . string ( ) . optional ( ) ,
99- } )
100- . strict ( ) ;
101- export type AddressInputRequest = z . infer < typeof addressInputRequest > ;
102-
103- export const customerInputRequest = z
104- . object ( {
105- identifier : z . string ( ) . optional ( ) ,
106- firstName : z . string ( ) . optional ( ) ,
107- middleName : z . string ( ) . optional ( ) ,
108- lastName : z . string ( ) . optional ( ) ,
109- birthDate : z . date ( ) . optional ( ) ,
110- companyName : z . string ( ) . optional ( ) ,
111- taxNumber : z . string ( ) . optional ( ) ,
112- addresses : z . array ( addressInputRequest ) . optional ( ) ,
113- } )
114- . strict ( ) ;
115- export type CustomerInputRequest = z . infer < typeof customerInputRequest > ;
116-
11785export const paymentInputRequest = z
11886 . object ( {
11987 provider : paymentProvider ,
@@ -128,7 +96,7 @@ export type PaymentInputRequest = z.infer<typeof paymentInputRequest>;
12896
12997export const updateOrderInputRequest = z
13098 . object ( {
131- customer : customerInputRequest . optional ( ) ,
99+ customer : orderCustomerInputRequest . optional ( ) ,
132100 cart : z . array ( orderItemInputRequest ) . optional ( ) ,
133101 payment : z . array ( paymentInputRequest ) . optional ( ) ,
134102 total : priceInputRequest . optional ( ) ,
@@ -140,7 +108,7 @@ export type UpdateOrderInputRequest = z.infer<typeof updateOrderInputRequest>;
140108
141109export const createOrderInputRequest = updateOrderInputRequest
142110 . extend ( {
143- customer : customerInputRequest ,
111+ customer : orderCustomerInputRequest ,
144112 cart : z . array ( orderItemInputRequest ) ,
145113 createdAt : z . date ( ) . optional ( ) ,
146114 } )
@@ -162,7 +130,7 @@ export interface Order {
162130 createdAt : Date ;
163131 updatedAt : Date ;
164132 cart : OrderItem [ ] ;
165- customer : Customer ;
133+ customer : OrderCustomer ;
166134 payment ?: Payment [ ] ;
167135 total ?: Price ;
168136 additionnalInformation ?: string ;
@@ -182,12 +150,6 @@ export interface OrderItem {
182150 subTotal ?: Price ;
183151 meta ?: OrderMetadata [ ] ;
184152}
185- export type Address = AddressInputRequest ;
186-
187- export type Customer = Omit < CustomerInputRequest , 'addresses' > & {
188- addresses : Address [ ] ;
189- } ;
190-
191153export type Payment = KlarnaPayment | PaypalPayment | StripePayment | CashPayment | CustomPayment ;
192154
193155export interface Price {
0 commit comments