Files
medusa-store/packages/admin/dashboard/src/lib/schemas.ts
Kasper Fabricius Kristensen 0fe1201435 feat(admin-sdk,admin-bundler,admin-shared,medusa): Restructure admin packages (#8988)
**What**
- Renames /admin-next -> /admin
- Renames @medusajs/admin-sdk -> @medusajs/admin-bundler
- Creates a new package called @medusajs/admin-sdk that will hold all tooling relevant to creating admin extensions. This is currently `defineRouteConfig` and `defineWidgetConfig`, but will eventually also export methods for adding custom fields, register translation, etc. 
  - cc: @shahednasser we should update the examples in the docs so these functions are imported from `@medusajs/admin-sdk`. People will also need to install the package in their project, as it's no longer a transient dependency.
  - cc: @olivermrbl we might want to publish a changelog when this is merged, as it is a breaking change, and will require people to import the `defineXConfig` from the new package instead of `@medusajs/admin-shared`.
- Updates CODEOWNERS so /admin packages does not require a review from the UI team.
2024-09-04 19:00:25 +00:00

37 lines
973 B
TypeScript

import i18n from "i18next"
import { z } from "zod"
export const AddressSchema = z.object({
first_name: z.string().min(1),
last_name: z.string().min(1),
company: z.string().optional(),
address_1: z.string().min(1),
address_2: z.string().optional(),
city: z.string().min(1),
postal_code: z.string().min(1),
province: z.string().optional(),
country_code: z.string().min(1),
phone: z.string().optional(),
})
export const EmailSchema = z.object({
email: z.string().email(),
})
export const TransferOwnershipSchema = z
.object({
current_owner_id: z.string().min(1),
new_owner_id: z
.string()
.min(1, i18n.t("transferOwnership.validation.required")),
})
.superRefine((data, ctx) => {
if (data.current_owner_id === data.new_owner_id) {
return ctx.addIssue({
code: z.ZodIssueCode.custom,
path: ["new_owner_id"],
message: i18n.t("transferOwnership.validation.mustBeDifferent"),
})
}
})