**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.
37 lines
973 B
TypeScript
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"),
|
|
})
|
|
}
|
|
})
|