Files
medusa-store/packages/medusa/src/api-v2/admin/pricing/validators.ts
T
Stevche Radevski 9bd2d30595 Chore/finish migration zod (#7098)
* chore: Finish migrating all http endpoints to zod

* chore: Final changes to fully migrate to zod in the HTTP layer
2024-04-19 09:36:44 +02:00

44 lines
1.2 KiB
TypeScript

import { createFindParams, createSelectParams } from "../../utils/validators"
import { z } from "zod"
export type AdminGetPricingRuleTypeParamsType = z.infer<
typeof AdminGetPricingRuleTypeParams
>
export const AdminGetPricingRuleTypeParams = createSelectParams()
export type AdminGetPricingRuleTypesParamsType = z.infer<
typeof AdminGetPricingRuleTypesParams
>
export const AdminGetPricingRuleTypesParams = createFindParams({
limit: 100,
offset: 0,
}).merge(
z.object({
rule_attribute: z.union([z.string(), z.array(z.string())]).optional(),
$and: z.lazy(() => AdminGetPricingRuleTypesParams.array()).optional(),
$or: z.lazy(() => AdminGetPricingRuleTypesParams.array()).optional(),
})
)
export type AdminCreatePricingRuleTypeType = z.infer<
typeof AdminCreatePricingRuleType
>
export const AdminCreatePricingRuleType = z
.object({
name: z.string(),
rule_attribute: z.string(),
default_priority: z.number(),
})
.strict()
export type AdminUpdatePricingRuleTypeType = z.infer<
typeof AdminUpdatePricingRuleType
>
export const AdminUpdatePricingRuleType = z
.object({
name: z.string().optional(),
rule_attribute: z.string().optional(),
default_priority: z.number().optional(),
})
.strict()