chore: make apis nullable (#7763)

what:

- makes top level attributes of each object an optional field in the http layer where possible

RESOLVES CORE-2229
This commit is contained in:
Riqwan Thamir
2024-06-20 12:10:59 +02:00
committed by GitHub
parent 33c4cd34cc
commit f61557712c
64 changed files with 431 additions and 416 deletions
@@ -1,6 +1,6 @@
import { createFindParams, createSelectParams } from "../../utils/validators"
import { AddressPayload, BigNumberInput } from "../../utils/common-validators"
import { z } from "zod"
import { AddressPayload, BigNumberInput } from "../../utils/common-validators"
import { createFindParams, createSelectParams } from "../../utils/validators"
export type AdminGetOrderParamsType = z.infer<typeof AdminGetOrderParams>
export const AdminGetOrderParams = createSelectParams()
@@ -23,8 +23,8 @@ enum Status {
}
const ShippingMethod = z.object({
shipping_method_id: z.string().optional(),
order_id: z.string().optional(),
shipping_method_id: z.string().nullish(),
order_id: z.string().nullish(),
name: z.string(),
option_id: z.string(),
data: z.record(z.string(), z.unknown()).optional(),
@@ -33,13 +33,13 @@ const ShippingMethod = z.object({
const Item = z
.object({
title: z.string().optional(),
sku: z.string().optional(),
barcode: z.string().optional(),
variant_id: z.string().optional(),
unit_price: BigNumberInput.optional(),
title: z.string().nullish(),
sku: z.string().nullish(),
barcode: z.string().nullish(),
variant_id: z.string().nullish(),
unit_price: BigNumberInput.nullish(),
quantity: z.number(),
metadata: z.record(z.string(), z.unknown()).optional(),
metadata: z.record(z.unknown()).nullish(),
})
.refine((data) => {
if (!data.variant_id) {
@@ -53,18 +53,18 @@ export type AdminCreateDraftOrderType = z.infer<typeof AdminCreateDraftOrder>
export const AdminCreateDraftOrder = z
.object({
status: z.nativeEnum(Status).optional(),
sales_channel_id: z.string().optional(),
email: z.string().optional(),
customer_id: z.string().optional(),
sales_channel_id: z.string().nullish(),
email: z.string().nullish(),
customer_id: z.string().nullish(),
billing_address: AddressPayload.optional(),
shipping_address: AddressPayload.optional(),
items: z.array(Item).optional(),
region_id: z.string(),
promo_codes: z.array(z.string()).optional(),
currency_code: z.string().optional(),
currency_code: z.string().nullish(),
no_notification_order: z.boolean().optional(),
shipping_methods: z.array(ShippingMethod),
metadata: z.record(z.string(), z.unknown()).optional(),
metadata: z.record(z.unknown()).nullish(),
})
.strict()
.refine(