diff --git a/.changeset/beige-rockets-scream.md b/.changeset/beige-rockets-scream.md new file mode 100644 index 0000000000000..66796ed002f13 --- /dev/null +++ b/.changeset/beige-rockets-scream.md @@ -0,0 +1,5 @@ +--- +"@medusajs/dashboard": patch +--- + +fix(dashboard): Add missing inventory_item.list.\* widgets diff --git a/.changeset/big-horses-sneeze.md b/.changeset/big-horses-sneeze.md new file mode 100644 index 0000000000000..e294a5c0dd03e --- /dev/null +++ b/.changeset/big-horses-sneeze.md @@ -0,0 +1,5 @@ +--- +"@medusajs/dashboard": patch +--- + +fix(dashboard): Ensure Breadcrumbs don't display stale data diff --git a/.changeset/gentle-dancers-count.md b/.changeset/gentle-dancers-count.md new file mode 100644 index 0000000000000..aa70f11cab91d --- /dev/null +++ b/.changeset/gentle-dancers-count.md @@ -0,0 +1,5 @@ +--- +"@medusajs/medusa": patch +--- + +fix: do not update the .env.template file with the database name diff --git a/.changeset/good-yaks-draw.md b/.changeset/good-yaks-draw.md new file mode 100644 index 0000000000000..34c8d40e5cf16 --- /dev/null +++ b/.changeset/good-yaks-draw.md @@ -0,0 +1,5 @@ +--- +"@medusajs/auth-google": patch +--- + +feature: Add email to google provider-identity metadata diff --git a/.changeset/honest-chefs-attend.md b/.changeset/honest-chefs-attend.md new file mode 100644 index 0000000000000..ee5c391feb7bd --- /dev/null +++ b/.changeset/honest-chefs-attend.md @@ -0,0 +1,5 @@ +--- +"@medusajs/core-flows": patch +--- + +Order edit quantity diff diff --git a/.changeset/mean-rice-cough.md b/.changeset/mean-rice-cough.md new file mode 100644 index 0000000000000..511e96c69f030 --- /dev/null +++ b/.changeset/mean-rice-cough.md @@ -0,0 +1,6 @@ +--- +"@medusajs/admin-shared": patch +"@medusajs/dashboard": patch +--- + +fix(admin-shared,dashboard): Add missing Injection Zones and remove unused zones" diff --git a/.changeset/orange-donkeys-hammer.md b/.changeset/orange-donkeys-hammer.md new file mode 100644 index 0000000000000..aa67ea5a14ef3 --- /dev/null +++ b/.changeset/orange-donkeys-hammer.md @@ -0,0 +1,8 @@ +--- +"@medusajs/event-bus-local": patch +"@medusajs/event-bus-redis": patch +"@medusajs/orchestration": patch +"@medusajs/utils": patch +--- + +Improve event bus error handling diff --git a/.changeset/proud-pigs-deny.md b/.changeset/proud-pigs-deny.md new file mode 100644 index 0000000000000..bf11e3066d7e7 --- /dev/null +++ b/.changeset/proud-pigs-deny.md @@ -0,0 +1,28 @@ +--- +"@medusajs/api-key": patch +"@medusajs/auth": patch +"@medusajs/cart": patch +"@medusajs/currency": patch +"@medusajs/file": patch +"@medusajs/fulfillment": patch +"@medusajs/index": patch +"@medusajs/inventory": patch +"@medusajs/locking": patch +"@medusajs/notification": patch +"@medusajs/order": patch +"@medusajs/payment": patch +"@medusajs/pricing": patch +"@medusajs/product": patch +"@medusajs/promotion": patch +"@medusajs/region": patch +"@medusajs/sales-channel": patch +"@medusajs/stock-location": patch +"@medusajs/store": patch +"@medusajs/tax": patch +"@medusajs/user": patch +"@medusajs/workflow-engine-inmemory": patch +"@medusajs/workflow-engine-redis": patch +"@medusajs/locking-postgres": patch +--- + +Fix/mikro orm cli wrapper diff --git a/.changeset/rich-pumpkins-lie.md b/.changeset/rich-pumpkins-lie.md new file mode 100644 index 0000000000000..49ae17a49a420 --- /dev/null +++ b/.changeset/rich-pumpkins-lie.md @@ -0,0 +1,5 @@ +--- +"@medusajs/file-local": patch +--- + +Throw error from local file provider diff --git a/.changeset/rude-cooks-knock.md b/.changeset/rude-cooks-knock.md new file mode 100644 index 0000000000000..a436f56e49681 --- /dev/null +++ b/.changeset/rude-cooks-knock.md @@ -0,0 +1,5 @@ +--- +"@medusajs/dashboard": patch +--- + +fix(dashboard): Fix active nav link styling for built-in routes diff --git a/.changeset/thirty-lamps-collect.md b/.changeset/thirty-lamps-collect.md new file mode 100644 index 0000000000000..9b62cebb36aff --- /dev/null +++ b/.changeset/thirty-lamps-collect.md @@ -0,0 +1,6 @@ +--- +"@medusajs/core-flows": patch +"@medusajs/medusa": patch +--- + +Create Order before payment capture diff --git a/.github/workflows/docs-test.yml b/.github/workflows/docs-test.yml index 62fa900dfaf5a..5482a64686bec 100644 --- a/.github/workflows/docs-test.yml +++ b/.github/workflows/docs-test.yml @@ -39,6 +39,7 @@ jobs: run: yarn build env: NEXT_PUBLIC_BASE_URL: "http://localhost:3000" + NEXT_PUBLIC_BASE_PATH: /api NEXT_PUBLIC_DOCS_URL: "https://medusa-docs.vercel.app" NEXT_PUBLIC_UI_URL: "https://docs-ui.vercel.app" # TODO change once we have actual URLs @@ -317,7 +318,7 @@ jobs: - name: Get Directories to Scan if: ${{ steps.pr-files.outputs.files_lt_threshold == 'true' }} working-directory: www/vale - run: ./get-files.sh api-reference app/_mdx + run: ./get-files.sh api-reference markdown id: directories - name: Vale Linter diff --git a/integration-tests/http/__tests__/order-edits/order-edits.spec.ts b/integration-tests/http/__tests__/order-edits/order-edits.spec.ts index 9790780b1215c..80f4fa4d7bd6e 100644 --- a/integration-tests/http/__tests__/order-edits/order-edits.spec.ts +++ b/integration-tests/http/__tests__/order-edits/order-edits.spec.ts @@ -1,10 +1,10 @@ +import { medusaIntegrationTestRunner } from "@medusajs/test-utils" import { ContainerRegistrationKeys, Modules, OrderChangeStatus, RuleOperator, } from "@medusajs/utils" -import { medusaIntegrationTestRunner } from "@medusajs/test-utils" import { adminHeaders, createAdminUser, @@ -418,6 +418,31 @@ medusaIntegrationTestRunner({ expect(result.summary.current_order_total).toEqual(124) expect(result.summary.original_order_total).toEqual(60) + const updatedItem = result.items.find((i) => i.id === item.id) + expect(updatedItem.actions).toEqual([ + expect.objectContaining({ + details: expect.objectContaining({ + quantity: 2, + unit_price: 25, + quantity_diff: 0, + }), + }), + expect.objectContaining({ + details: expect.objectContaining({ + quantity: 3, + unit_price: 25, + quantity_diff: 1, + }), + }), + expect.objectContaining({ + details: expect.objectContaining({ + quantity: 3, + unit_price: 30, + quantity_diff: 1, + }), + }), + ]) + // Remove the item by setting the quantity to 0 result = ( await api.post( diff --git a/packages/admin/admin-shared/src/extensions/widgets/constants.ts b/packages/admin/admin-shared/src/extensions/widgets/constants.ts index 9a3a4ab313b25..b4a83fc1a97cc 100644 --- a/packages/admin/admin-shared/src/extensions/widgets/constants.ts +++ b/packages/admin/admin-shared/src/extensions/widgets/constants.ts @@ -7,15 +7,6 @@ const ORDER_INJECTION_ZONES = [ "order.list.after", ] as const -const DRAFT_ORDER_INJECTION_ZONES = [ - "draft_order.list.before", - "draft_order.list.after", - "draft_order.details.side.before", - "draft_order.details.side.after", - "draft_order.details.before", - "draft_order.details.after", -] as const - const CUSTOMER_INJECTION_ZONES = [ "customer.details.before", "customer.details.after", @@ -39,6 +30,13 @@ const PRODUCT_INJECTION_ZONES = [ "product.details.side.after", ] as const +const PRODUCT_VARIANT_INJECTION_ZONES = [ + "product_variant.details.before", + "product_variant.details.after", + "product_variant.details.side.before", + "product_variant.details.side.after", +] as const + const PRODUCT_COLLECTION_INJECTION_ZONES = [ "product_collection.details.before", "product_collection.details.after", @@ -96,15 +94,6 @@ const CAMPAIGN_INJECTION_ZONES = [ "campaign.list.after", ] as const -const GIFT_CARD_INJECTION_ZONES = [ - "gift_card.details.before", - "gift_card.details.after", - "gift_card.list.before", - "gift_card.list.after", - "custom_gift_card.before", - "custom_gift_card.after", -] as const - const USER_INJECTION_ZONES = [ "user.details.before", "user.details.after", @@ -204,15 +193,16 @@ const INVENTORY_ITEM_INJECTION_ZONES = [ */ export const INJECTION_ZONES = [ ...ORDER_INJECTION_ZONES, - ...DRAFT_ORDER_INJECTION_ZONES, ...CUSTOMER_INJECTION_ZONES, ...CUSTOMER_GROUP_INJECTION_ZONES, ...PRODUCT_INJECTION_ZONES, + ...PRODUCT_VARIANT_INJECTION_ZONES, ...PRODUCT_COLLECTION_INJECTION_ZONES, ...PRODUCT_CATEGORY_INJECTION_ZONES, + ...PRODUCT_TYPE_INJECTION_ZONES, + ...PRODUCT_TAG_INJECTION_ZONES, ...PRICE_LIST_INJECTION_ZONES, ...PROMOTION_INJECTION_ZONES, - ...GIFT_CARD_INJECTION_ZONES, ...USER_INJECTION_ZONES, ...STORE_INJECTION_ZONES, ...PROFILE_INJECTION_ZONES, @@ -226,8 +216,6 @@ export const INJECTION_ZONES = [ ...WORKFLOW_INJECTION_ZONES, ...CAMPAIGN_INJECTION_ZONES, ...TAX_INJECTION_ZONES, - ...PRODUCT_TYPE_INJECTION_ZONES, - ...PRODUCT_TAG_INJECTION_ZONES, ...RETURN_REASON_INJECTION_ZONES, ...INVENTORY_ITEM_INJECTION_ZONES, ] as const diff --git a/packages/admin/dashboard/src/components/layout/nav-item/nav-item.tsx b/packages/admin/dashboard/src/components/layout/nav-item/nav-item.tsx index 562ff1be3c9d3..89ddc174b5b5e 100644 --- a/packages/admin/dashboard/src/components/layout/nav-item/nav-item.tsx +++ b/packages/admin/dashboard/src/components/layout/nav-item/nav-item.tsx @@ -99,20 +99,27 @@ export const NavItem = ({ const navLinkClassNames = useCallback( ({ + to, isActive, isNested = false, isSetting = false, }: { + to: string isActive: boolean isNested?: boolean isSetting?: boolean - }) => - clx(BASE_NAV_LINK_CLASSES, { + }) => { + if (["core", "setting"].includes(type)) { + isActive = pathname.startsWith(to) + } + + return clx(BASE_NAV_LINK_CLASSES, { [NESTED_NAV_LINK_CLASSES]: isNested, [ACTIVE_NAV_LINK_CLASSES]: isActive, [SETTING_NAV_LINK_CLASSES]: isSetting, - }), - [] + }) + }, + [type, pathname] ) const isSetting = type === "setting" @@ -130,11 +137,11 @@ export const NavItem = ({ } : undefined } - className={(props) => - clx(navLinkClassNames({ ...props, isSetting }), { + className={({ isActive }) => { + return clx(navLinkClassNames({ isActive, isSetting, to }), { "max-lg:hidden": !!items?.length, }) - } + }} > {type !== "setting" && (
@@ -169,15 +176,16 @@ export const NavItem = ({ - clx( + className={({ isActive }) => { + return clx( navLinkClassNames({ - ...props, - isNested: true, + to, + isActive, isSetting, + isNested: true, }) ) - } + }} > {label} @@ -192,15 +200,16 @@ export const NavItem = ({ - clx( + className={({ isActive }) => { + return clx( navLinkClassNames({ - ...props, - isNested: true, + to: item.to, + isActive, isSetting, + isNested: true, }) ) - } + }} > {item.label} diff --git a/packages/admin/dashboard/src/components/layout/shell/shell.tsx b/packages/admin/dashboard/src/components/layout/shell/shell.tsx index 727a790a7b710..26c7603cb570c 100644 --- a/packages/admin/dashboard/src/components/layout/shell/shell.tsx +++ b/packages/admin/dashboard/src/components/layout/shell/shell.tsx @@ -2,7 +2,7 @@ import * as Dialog from "@radix-ui/react-dialog" import { SidebarLeft, TriangleRightMini, XMark } from "@medusajs/icons" import { IconButton, clx } from "@medusajs/ui" -import { PropsWithChildren } from "react" +import { PropsWithChildren, ReactNode } from "react" import { useTranslation } from "react-i18next" import { Link, Outlet, UIMatch, useMatches } from "react-router-dom" @@ -45,18 +45,20 @@ const Gutter = ({ children }: PropsWithChildren) => { const Breadcrumbs = () => { const matches = useMatches() as unknown as UIMatch< unknown, - { crumb?: (data?: unknown) => string } + { + breadcrumb?: (match?: UIMatch) => string | ReactNode + } >[] const crumbs = matches - .filter((match) => Boolean(match.handle?.crumb)) + .filter((match) => match.handle?.breadcrumb) .map((match) => { const handle = match.handle - let label: string | null = null + let label: string | ReactNode | undefined = undefined try { - label = handle.crumb!(match.data) + label = handle.breadcrumb?.(match) } catch (error) { // noop } @@ -70,7 +72,7 @@ const Breadcrumbs = () => { path: match.pathname, } }) - .filter(Boolean) as { label: string; path: string }[] + .filter(Boolean) as { label: string | ReactNode; path: string }[] return (
    , options?: Omit< - UseQueryOptions, + UseQueryOptions< + HttpTypes.AdminProductResponse, + FetchError, + HttpTypes.AdminProductResponse, + QueryKey + >, "queryFn" | "queryKey" > ) => { @@ -302,9 +307,13 @@ export const useUpdateProduct = ( ) => { return useMutation({ mutationFn: (payload) => sdk.admin.product.update(id, payload), - onSuccess: (data, variables, context) => { - queryClient.invalidateQueries({ queryKey: productsQueryKeys.lists() }) - queryClient.invalidateQueries({ queryKey: productsQueryKeys.detail(id) }) + onSuccess: async (data, variables, context) => { + await queryClient.invalidateQueries({ + queryKey: productsQueryKeys.lists(), + }) + await queryClient.invalidateQueries({ + queryKey: productsQueryKeys.detail(id), + }) options?.onSuccess?.(data, variables, context) }, diff --git a/packages/admin/dashboard/src/hooks/api/shipping-profiles.tsx b/packages/admin/dashboard/src/hooks/api/shipping-profiles.tsx index 07aa0d860ca67..c7834e37e20f4 100644 --- a/packages/admin/dashboard/src/hooks/api/shipping-profiles.tsx +++ b/packages/admin/dashboard/src/hooks/api/shipping-profiles.tsx @@ -40,11 +40,14 @@ export const useCreateShippingProfile = ( export const useShippingProfile = ( id: string, query?: Record, - options?: UseQueryOptions< - HttpTypes.AdminShippingProfileResponse, - FetchError, - HttpTypes.AdminShippingProfileResponse, - QueryKey + options?: Omit< + UseQueryOptions< + HttpTypes.AdminShippingProfileResponse, + FetchError, + HttpTypes.AdminShippingProfileResponse, + QueryKey + >, + "queryFn" | "queryKey" > ) => { const { data, ...rest } = useQuery({ diff --git a/packages/admin/dashboard/src/i18n/languages.ts b/packages/admin/dashboard/src/i18n/languages.ts index 9ef2d24e3b433..214ea5f120582 100644 --- a/packages/admin/dashboard/src/i18n/languages.ts +++ b/packages/admin/dashboard/src/i18n/languages.ts @@ -1,4 +1,4 @@ -import { enUS, pl } from "date-fns/locale" +import { de, enUS, pl, tr } from "date-fns/locale" import { Language } from "./types" export const languages: Language[] = [ @@ -8,10 +8,22 @@ export const languages: Language[] = [ ltr: true, date_locale: enUS, }, + { + code: "de", + display_name: "Deutsch", + ltr: true, + date_locale: de, + }, { code: "pl", - display_name: "Polish", + display_name: "Polski", ltr: true, date_locale: pl, }, + { + code: "tr", + display_name: "Türkçe", + ltr: true, + date_locale: tr, + }, ] diff --git a/packages/admin/dashboard/src/i18n/translations/de.json b/packages/admin/dashboard/src/i18n/translations/de.json new file mode 100644 index 0000000000000..f433dfc43537d --- /dev/null +++ b/packages/admin/dashboard/src/i18n/translations/de.json @@ -0,0 +1,2755 @@ +{ + "$schema": "./$schema.json", + "general": { + "ascending": "Aufsteigend", + "descending": "Absteigend", + "add": "Hinzufügen", + "start": "Start", + "end": "Ende", + "open": "Offen", + "close": "Schließen", + "apply": "Anwenden", + "range": "Reichweite", + "search": "Suchen", + "of": "von", + "results": "Ergebnisse", + "pages": "Seiten", + "next": "Nächste", + "prev": "Vorher", + "is": "Ist", + "timeline": "Zeitleiste", + "success": "Erfolg", + "warning": "Warnung", + "tip": "Tipp", + "error": "Fehler", + "select": "Wählen", + "selected": "Ausgewählt", + "enabled": "Ermöglicht", + "disabled": "Deaktiviert", + "expired": "Abgelaufen", + "active": "Aktiv", + "revoked": "Widerrufen", + "new": "Neu", + "modified": "Geändert", + "added": "Hinzugefügt", + "removed": "ENTFERNT", + "admin": "Admin", + "store": "Speichern", + "details": "Einzelheiten", + "items_one": "{{count}} Artikel", + "items_other": "{{count}} Artikel", + "countSelected": "{{count}} ausgewählt", + "countOfTotalSelected": "{{count}} von {{total}} ausgewählt", + "plusCount": "+ {{count}}", + "plusCountMore": "+ {{count}} mehr", + "areYouSure": "Bist du sicher?", + "noRecordsFound": "Keine Datensätze gefunden", + "typeToConfirm": "Bitte geben Sie zur Bestätigung {val} ein:", + "noResultsTitle": "Keine Ergebnisse", + "noResultsMessage": "Versuchen Sie, die Filter oder die Suchabfrage zu ändern", + "noSearchResults": "Keine Suchergebnisse", + "noSearchResultsFor": "Keine Suchergebnisse für <0>'{{query}}'", + "noRecordsTitle": "Keine Aufzeichnungen", + "noRecordsMessage": "Es sind keine Datensätze vorhanden", + "unsavedChangesTitle": "Sind Sie sicher, dass Sie dieses Formular verlassen möchten?", + "unsavedChangesDescription": "Sie haben nicht gespeicherte Änderungen, die verloren gehen, wenn Sie dieses Formular verlassen.", + "includesTaxTooltip": "Die Preise in dieser Spalte verstehen sich inklusive Mehrwertsteuer.", + "excludesTaxTooltip": "Die Preise in dieser Spalte verstehen sich exklusive Mehrwertsteuer.", + "noMoreData": "Keine Daten mehr" + }, + "json": { + "header": "JSON", + "numberOfKeys_one": "{{count}} Schlüssel", + "numberOfKeys_other": "{{count}} Schlüssel", + "drawer": { + "header_one": "JSON <0>· {{count}} Schlüssel", + "header_other": "JSON <0>· {{count}} Schlüssel", + "description": "Sehen Sie sich die JSON-Daten für dieses Objekt an." + } + }, + "metadata": { + "header": "Metadaten", + "numberOfKeys_one": "{{count}} Schlüssel", + "numberOfKeys_other": "{{count}} Schlüssel", + "edit": { + "header": "Metadaten bearbeiten", + "description": "Bearbeiten Sie die Metadaten für dieses Objekt.", + "successToast": "Metadaten wurden erfolgreich aktualisiert.", + "actions": { + "insertRowAbove": "Zeile oben einfügen", + "insertRowBelow": "Zeile unten einfügen", + "deleteRow": "Zeile löschen" + }, + "labels": { + "key": "Schlüssel", + "value": "Wert" + }, + "complexRow": { + "label": "Einige Zeilen sind deaktiviert", + "description": "Dieses Objekt enthält nicht-primitive Metadaten wie Arrays oder Objekte, die hier nicht bearbeitet werden können. Um die deaktivierten Zeilen zu bearbeiten, verwenden Sie direkt die API.", + "tooltip": "Diese Zeile ist deaktiviert, da sie nicht-primitive Daten enthält." + } + } + }, + "validation": { + "mustBeInt": "Der Wert muss eine ganze Zahl sein.", + "mustBePositive": "Der Wert muss eine positive Zahl sein." + }, + "actions": { + "save": "Speichern", + "saveAsDraft": "Als Entwurf speichern", + "copy": "Kopie", + "copied": "Kopiert", + "duplicate": "Duplikat", + "publish": "Veröffentlichen", + "create": "Erstellen", + "delete": "Löschen", + "remove": "Entfernen", + "revoke": "Widerrufen", + "cancel": "Stornieren", + "forceConfirm": "Bestätigung erzwingen", + "continueEdit": "Bearbeiten Sie weiter", + "enable": "Aktivieren", + "disable": "Deaktivieren", + "undo": "Rückgängig machen", + "complete": "Vollständig", + "viewDetails": "Details anzeigen", + "back": "Zurück", + "close": "Schließen", + "showMore": "Mehr anzeigen", + "continue": "Weitermachen", + "continueWithEmail": "Fahren Sie mit E-Mail fort", + "idCopiedToClipboard": "ID in die Zwischenablage kopiert", + "addReason": "Grund hinzufügen", + "addNote": "Notiz hinzufügen", + "reset": "Zurücksetzen", + "confirm": "Bestätigen", + "edit": "Bearbeiten", + "addItems": "Elemente hinzufügen", + "download": "Herunterladen", + "clear": "Klar", + "clearAll": "Alles löschen", + "apply": "Anwenden", + "add": "Hinzufügen", + "select": "Wählen", + "browse": "Durchsuchen", + "logout": "Abmelden", + "hide": "Verstecken", + "export": "Export", + "import": "Import" + }, + "operators": { + "in": "In" + }, + "app": { + "search": { + "label": "Suchen", + "title": "Suchen", + "description": "Durchsuchen Sie Ihren gesamten Shop, einschließlich Bestellungen, Produkte, Kunden und mehr.", + "allAreas": "Alle Bereiche", + "navigation": "Navigation", + "openResult": "Ergebnis öffnen", + "showMore": "Mehr anzeigen", + "placeholder": "Springe zu oder finde etwas...", + "noResultsTitle": "Keine Ergebnisse gefunden", + "noResultsMessage": "Wir konnten nichts finden, was Ihrer Suche entspricht.", + "emptySearchTitle": "Geben Sie ein, um zu suchen", + "emptySearchMessage": "Geben Sie ein Schlüsselwort oder eine Phrase ein, die Sie erkunden möchten.", + "loadMore": "Laden Sie {{count}} mehr", + "groups": { + "all": "Alle Bereiche", + "customer": "Kunden", + "customerGroup": "Kundengruppen", + "product": "Produkte", + "productVariant": "Produktvarianten", + "inventory": "Inventar", + "reservation": "Reservierungen", + "category": "Kategorien", + "collection": "Sammlungen", + "order": "Bestellungen", + "promotion": "Werbeaktionen", + "campaign": "Kampagnen", + "priceList": "Preislisten", + "user": "Benutzer", + "region": "Regionen", + "taxRegion": "Steuerregionen", + "returnReason": "Rückgabegründe", + "salesChannel": "Vertriebskanäle", + "productType": "Produkttypen", + "productTag": "Produkt-Tags", + "location": "Standorte", + "shippingProfile": "Versandprofile", + "publishableApiKey": "Veröffentlichbare API-Schlüssel", + "secretApiKey": "Geheime API-Schlüssel", + "command": "Befehle", + "navigation": "Navigation" + } + }, + "keyboardShortcuts": { + "pageShortcut": "Springe zu", + "settingShortcut": "Einstellungen", + "commandShortcut": "Befehle", + "then": "Dann", + "navigation": { + "goToOrders": "Bestellungen", + "goToProducts": "Produkte", + "goToCollections": "Sammlungen", + "goToCategories": "Kategorien", + "goToCustomers": "Kunden", + "goToCustomerGroups": "Kundengruppen", + "goToInventory": "Inventar", + "goToReservations": "Reservierungen", + "goToPriceLists": "Preislisten", + "goToPromotions": "Werbeaktionen", + "goToCampaigns": "Kampagnen" + }, + "settings": { + "goToSettings": "Einstellungen", + "goToStore": "Speichern", + "goToUsers": "Benutzer", + "goToRegions": "Regionen", + "goToTaxRegions": "Steuerregionen", + "goToSalesChannels": "Vertriebskanäle", + "goToProductTypes": "Produkttypen", + "goToLocations": "Standorte", + "goToPublishableApiKeys": "Veröffentlichbare API-Schlüssel", + "goToSecretApiKeys": "Geheime API-Schlüssel", + "goToWorkflows": "Arbeitsabläufe", + "goToProfile": "Profil", + "goToReturnReasons": "Rückgabegründe" + } + }, + "menus": { + "user": { + "documentation": "Dokumentation", + "changelog": "Änderungsprotokoll", + "shortcuts": "Verknüpfungen", + "profileSettings": "Profileinstellungen", + "theme": { + "label": "Thema", + "dark": "Dunkel", + "light": "Licht", + "system": "System" + } + }, + "store": { + "label": "Speichern", + "storeSettings": "Einstellungen speichern" + }, + "actions": { + "logout": "Abmelden" + } + }, + "nav": { + "accessibility": { + "title": "Navigation", + "description": "Navigationsmenü für das Dashboard." + }, + "common": { + "extensions": "Erweiterungen" + }, + "main": { + "store": "Speichern", + "storeSettings": "Einstellungen speichern" + }, + "settings": { + "header": "Einstellungen", + "general": "Allgemein", + "developer": "Entwickler", + "myAccount": "Mein Konto" + } + } + }, + "dataGrid": { + "columns": { + "view": "Sicht", + "resetToDefault": "Auf Standard zurücksetzen", + "disabled": "Das Ändern der sichtbaren Spalten ist deaktiviert." + }, + "shortcuts": { + "label": "Verknüpfungen", + "commands": { + "undo": "Rückgängig machen", + "redo": "Wiederholen", + "copy": "Kopie", + "paste": "Paste", + "edit": "Bearbeiten", + "delete": "Löschen", + "clear": "Klar", + "moveUp": "Bewegen Sie sich nach oben", + "moveDown": "Bewegen Sie sich nach unten", + "moveLeft": "Bewegen Sie sich nach links", + "moveRight": "Bewegen Sie sich nach rechts", + "moveTop": "Nach oben verschieben", + "moveBottom": "Nach unten bewegen", + "selectDown": "Wählen Sie nach unten", + "selectUp": "Wählen Sie nach oben", + "selectColumnDown": "Spalte nach unten auswählen", + "selectColumnUp": "Spalte nach oben auswählen", + "focusToolbar": "Fokus-Symbolleiste", + "focusCancel": "Fokus abbrechen" + } + }, + "errors": { + "fixError": "Fehler beheben", + "count_one": "{{count}} Fehler", + "count_other": "{{count}} Fehler" + } + }, + "filters": { + "date": { + "today": "Heute", + "lastSevenDays": "Letzte 7 Tage", + "lastThirtyDays": "Letzte 30 Tage", + "lastNinetyDays": "Letzte 90 Tage", + "lastTwelveMonths": "Letzte 12 Monate", + "custom": "Benutzerdefiniert", + "from": "Von", + "to": "Bis" + }, + "compare": { + "lessThan": "Weniger als", + "greaterThan": "Größer als", + "exact": "Genau", + "range": "Reichweite", + "lessThanLabel": "kleiner als {{value}}", + "greaterThanLabel": "größer als {{value}}", + "andLabel": "Und" + }, + "addFilter": "Filter hinzufügen" + }, + "errorBoundary": { + "badRequestTitle": "400 – Ungültige Anfrage", + "badRequestMessage": "Die Anfrage konnte aufgrund einer fehlerhaften Syntax vom Server nicht verstanden werden.", + "notFoundTitle": "404 – Unter dieser Adresse gibt es keine Seite", + "notFoundMessage": "Überprüfen Sie die URL und versuchen Sie es erneut, oder verwenden Sie die Suchleiste, um das Gesuchte zu finden.", + "internalServerErrorTitle": "500 – Interner Serverfehler", + "internalServerErrorMessage": "Auf dem Server ist ein unerwarteter Fehler aufgetreten. Bitte versuchen Sie es später noch einmal.", + "defaultTitle": "Es ist ein Fehler aufgetreten", + "defaultMessage": "Beim Rendern dieser Seite ist ein unerwarteter Fehler aufgetreten.", + "noMatchMessage": "Die gesuchte Seite existiert nicht.", + "backToDashboard": "Zurück zum Dashboard" + }, + "addresses": { + "shippingAddress": { + "header": "Lieferadresse", + "editHeader": "Lieferadresse bearbeiten", + "editLabel": "Lieferadresse", + "label": "Lieferadresse" + }, + "billingAddress": { + "header": "Rechnungsadresse", + "editHeader": "Rechnungsadresse bearbeiten", + "editLabel": "Rechnungsadresse", + "label": "Rechnungsadresse", + "sameAsShipping": "Entspricht der Lieferadresse" + }, + "contactHeading": "Kontakt", + "locationHeading": "Standort" + }, + "email": { + "editHeader": "E-Mail bearbeiten", + "editLabel": "E-Mail", + "label": "E-Mail" + }, + "transferOwnership": { + "header": "Eigentum übertragen", + "label": "Eigentum übertragen", + "details": { + "order": "Bestelldetails", + "draft": "Entwurfsdetails" + }, + "currentOwner": { + "label": "Aktueller Besitzer", + "hint": "Der aktuelle Eigentümer der Bestellung." + }, + "newOwner": { + "label": "Neuer Besitzer", + "hint": "Der neue Eigentümer, an den die Bestellung übertragen werden soll." + }, + "validation": { + "mustBeDifferent": "Der neue Eigentümer muss sich vom aktuellen Eigentümer unterscheiden.", + "required": "Neuer Eigentümer ist erforderlich." + } + }, + "sales_channels": { + "availableIn": "Verfügbar in <0>{{x}} von <1>{{y}} Vertriebskanälen" + }, + "products": { + "domain": "Produkte", + "list": { + "noRecordsMessage": "Erstellen Sie Ihr erstes Produkt, um mit dem Verkauf zu beginnen." + }, + "edit": { + "header": "Produkt bearbeiten", + "description": "Produktdetails bearbeiten.", + "successToast": "Produkz {{title}} angepasst." + }, + "create": { + "header": "Allgemein", + "tabs": { + "details": "Details", + "organize": "Organisierren", + "variants": "Varianten", + "inventory": "Inventar-Kits" + }, + "errors": { + "variants": "Bitte wählen Sie mindestens eine Variante aus.", + "options": "Bitte erstellen Sie mindestens eine Option.", + "uniqueSku": "Die SKU muss eindeutig sein." + }, + "inventory": { + "heading": "Inventar-Kits", + "label": "Fügen Sie Inventargegenstände zum Inventarkit der Variante hinzu.", + "itemPlaceholder": "Wählen Sie den Inventargegenstand aus", + "quantityPlaceholder": "Wie viele davon werden für den Bausatz benötigt?" + }, + "variants": { + "header": "Varianten", + "subHeadingTitle": "Ja, es handelt sich um ein Produkt mit Varianten", + "subHeadingDescription": "Wenn diese Option deaktiviert ist, erstellen wir eine Standardvariante für Sie", + "optionTitle": { + "placeholder": "Größe" + }, + "optionValues": { + "placeholder": "Klein, Mittel, Groß" + }, + "productVariants": { + "label": "Produktvarianten", + "hint": "Dieses Ranking wirkt sich auf die Reihenfolge der Varianten in Ihrem Store aus.", + "alert": "Fügen Sie Optionen hinzu, um Varianten zu erstellen.", + "tip": "Varianten, die nicht aktiviert sind, werden nicht erstellt. Sie können nachträglich jederzeit Varianten erstellen und bearbeiten, diese Liste passt jedoch zu den Variationen in Ihren Produktoptionen." + }, + "productOptions": { + "label": "Produktoptionen", + "hint": "Definieren Sie die Optionen für das Produkt, z.B. Farbe, Größe usw." + } + }, + "successToast": "Produkt {{title}} wurde erfolgreich erstellt." + }, + "export": { + "header": "Produktliste exportieren", + "description": "Exportieren Sie die Produktliste in eine CSV-Datei.", + "success": { + "title": "Wir bearbeiten Export ab", + "description": "Der Datenexport kann einige Minuten dauern. Wir benachrichtigen Sie, wenn wir fertig sind." + }, + "filters": { + "title": "Filter", + "description": "Wenden Sie Filter in der Tabellenübersicht an, um diese Ansicht anzupassen" + }, + "columns": { + "title": "Spalten", + "description": "Passen Sie die exportierten Daten an spezifische Anforderungen an" + } + }, + "import": { + "header": "Produktliste importieren", + "uploadLabel": "Produkte importieren", + "uploadHint": "Ziehen Sie eine CSV-Datei per Drag-and-Drop oder klicken Sie zum Hochladen", + "description": "Importieren Sie Produkte, indem Sie eine CSV-Datei in einem vordefinierten Format bereitstellen", + "template": { + "title": "Sie sind sich nicht sicher, wie Sie Ihre Liste ordnen sollen?", + "description": "Laden Sie die Vorlage unten herunter, um sicherzustellen, dass Sie das richtige Format befolgen." + }, + "upload": { + "title": "Laden Sie eine CSV-Datei hoch", + "description": "Durch Importe können Sie Produkte hinzufügen oder aktualisieren. Um vorhandene Produkte zu aktualisieren, müssen Sie das vorhandene Handle und die vorhandene ID verwenden. Um vorhandene Varianten zu aktualisieren, müssen Sie die vorhandene ID verwenden. Bevor wir Produkte importieren, werden Sie um eine Bestätigung gebeten.", + "preprocessing": "Vorverarbeitung...", + "productsToCreate": "Es werden Produkte erstellt", + "productsToUpdate": "Produkte werden aktualisiert" + }, + "success": { + "title": "Wir bearbeiten Ihren Import", + "description": "Das Importieren der Daten kann eine Weile dauern. Wir benachrichtigen Sie, wenn wir fertig sind." + } + }, + "deleteWarning": "Sie sind dabei, das Produkt {{title}} zu löschen. Diese Aktion kann nicht rückgängig gemacht werden.", + "variants": "Varianten", + "attributes": "Attribute", + "editAttributes": "Attribute bearbeiten", + "editOptions": "Optionen bearbeiten", + "editPrices": "Preise bearbeiten", + "media": { + "label": "Medien", + "editHint": "Fügen Sie dem Produkt Medien hinzu, um es in Ihrem Schaufenster zu präsentieren.", + "makeThumbnail": "Miniaturbild erstellen", + "uploadImagesLabel": "Bilder hochladen", + "uploadImagesHint": "Ziehen Sie Bilder per Drag-and-Drop hierher oder klicken Sie zum Hochladen.", + "invalidFileType": "{{name}}' ist kein unterstützter Dateityp. Unterstützte Dateitypen sind: {{types}}.", + "failedToUpload": "Das Hochladen der hinzugefügten Medien ist fehlgeschlagen. Bitte versuchen Sie es erneut.", + "deleteWarning_one": "Sie sind dabei, {{count}} Bild zu löschen. Diese Aktion kann nicht rückgängig gemacht werden.", + "deleteWarning_other": "Sie sind dabei, {{count}} Bilder zu löschen. Diese Aktion kann nicht rückgängig gemacht werden.", + "deleteWarningWithThumbnail_one": "Sie sind dabei, {{count}} Bild einschließlich der Miniaturansicht zu löschen. Diese Aktion kann nicht rückgängig gemacht werden.", + "deleteWarningWithThumbnail_other": "Sie sind dabei, {{count}} Bilder einschließlich der Miniaturansicht zu löschen. Diese Aktion kann nicht rückgängig gemacht werden.", + "thumbnailTooltip": "Miniaturansicht", + "galleryLabel": "Galerie", + "downloadImageLabel": "Aktuelles Bild herunterladen", + "deleteImageLabel": "Aktuelles Bild löschen", + "emptyState": { + "header": "Noch keine Medien", + "description": "Fügen Sie dem Produkt Medien hinzu, um es in Ihrem Schaufenster zu präsentieren.", + "action": "Medien hinzufügen" + } + }, + "discountableHint": "Wenn diese Option deaktiviert ist, werden auf dieses Produkt keine Rabatte gewährt.", + "noSalesChannels": "In keinem Vertriebskanal verfügbar", + "variantCount_one": "{{count}} Variante", + "variantCount_other": "{{count}} Varianten", + "deleteVariantWarning": "Sie sind dabei, die Variante {{title}} zu löschen. Diese Aktion kann nicht rückgängig gemacht werden.", + "productStatus": { + "draft": "Entwurf", + "published": "Veröffentlicht", + "proposed": "Vorgeschlagen", + "rejected": "Abgelehnt" + }, + "fields": { + "title": { + "label": "Titel", + "hint": "Geben Sie Ihrem Produkt einen kurzen und klaren Titel.<0/>50-60 Zeichen ist die empfohlene Länge für Suchmaschinen." + }, + "subtitle": { + "label": "Untertitel" + }, + "handle": { + "label": "Handhaben", + "tooltip": "Der Handle wird verwendet, um auf das Produkt in Ihrer Storefront zu verweisen. Wenn nicht angegeben, wird das Handle aus dem Produkttitel generiert." + }, + "description": { + "label": "Beschreibung", + "hint": "Geben Sie Ihrem Produkt eine kurze und klare Beschreibung.<0/>120-160 Zeichen ist die empfohlene Länge für Suchmaschinen." + }, + "discountable": { + "label": "Rabattierbar", + "hint": "Wenn diese Option deaktiviert ist, werden auf dieses Produkt keine Rabatte gewährt" + }, + "type": { + "label": "Typ" + }, + "collection": { + "label": "Sammlung" + }, + "categories": { + "label": "Kategorien" + }, + "tags": { + "label": "Schlagworte" + }, + "sales_channels": { + "label": "Vertriebskanäle", + "hint": "Dieses Produkt ist nur dann im Standard-Vertriebskanal verfügbar, wenn es unberührt bleibt." + }, + "countryOrigin": { + "label": "Ursprungsland" + }, + "material": { + "label": "Material" + }, + "width": { + "label": "Breite" + }, + "length": { + "label": "Länge" + }, + "height": { + "label": "Höhe" + }, + "weight": { + "label": "Gewicht" + }, + "options": { + "label": "Produktoptionen", + "hint": "Mithilfe von Optionen werden Farbe, Größe usw. des Produkts definiert", + "add": "Option hinzufügen", + "optionTitle": "Optionstitel", + "optionTitlePlaceholder": "Farbe", + "variations": "Variationen (durch Kommas getrennt)", + "variantionsPlaceholder": "Rot, Blau, Grün" + }, + "variants": { + "label": "Produktvarianten", + "hint": "Varianten, die nicht aktiviert sind, werden nicht erstellt. Diese Rangfolge wirkt sich auf die Rangfolge der Varianten in Ihrem Frontend aus." + }, + "mid_code": { + "label": "Mittlerer Code" + }, + "hs_code": { + "label": "HS-Code" + } + }, + "variant": { + "edit": { + "header": "Variante bearbeiten", + "success": "Produktvariante erfolgreich bearbeitet" + }, + "create": { + "header": "Variantendetails" + }, + "deleteWarning": "Möchten Sie diese Variante wirklich löschen?", + "pricesPagination": "1 – {{current}} von {{total}} Preisen", + "tableItemAvailable": "{{availableCount}} verfügbar", + "tableItem_one": "{{availableCount}} verfügbar am Standort {{locationCount}}", + "tableItem_other": "{{availableCount}} an {{locationCount}} Standorten verfügbar", + "inventory": { + "notManaged": "Nicht verwaltet", + "manageItems": "Verwalten Sie Inventargegenstände", + "notManagedDesc": "Für diese Variante wird kein Lagerbestand verwaltet. Aktivieren Sie „Inventar verwalten“, um den Bestand der Variante zu verfolgen.", + "manageKit": "Inventar-Kit verwalten", + "navigateToItem": "Gehen Sie zum Inventargegenstand", + "actions": { + "inventoryItems": "Gehen Sie zum Inventargegenstand", + "inventoryKit": "Inventargegenstände anzeigen" + }, + "inventoryKit": "Inventar-Kit", + "inventoryKitHint": "Besteht diese Variante aus mehreren Inventargegenständen?", + "validation": { + "itemId": "Bitte wählen Sie den Inventarartikel aus.", + "quantity": "Menge ist erforderlich. Bitte geben Sie eine positive Zahl ein." + }, + "header": "Lager und Inventar", + "editItemDetails": "Artikeldetails bearbeiten", + "manageInventoryLabel": "Inventar verwalten", + "manageInventoryHint": "Wenn diese Option aktiviert ist, ändern wir die Lagerbestandsmenge für Sie, wenn Bestellungen und Retouren erstellt werden.", + "allowBackordersLabel": "Rückstände zulassen", + "allowBackordersHint": "Wenn diese Option aktiviert ist, können Kunden die Variante auch dann kaufen, wenn keine verfügbare Menge vorhanden ist.", + "toast": { + "levelsBatch": "Lagerbestände aktualisiert.", + "update": "Inventarartikel erfolgreich aktualisiert.", + "updateLevel": "Der Lagerbestand wurde erfolgreich aktualisiert.", + "itemsManageSuccess": "Inventargegenstände wurden erfolgreich aktualisiert." + } + } + }, + "options": { + "header": "Optionen", + "edit": { + "header": "Option bearbeiten", + "successToast": "Option {{title}} wurde erfolgreich aktualisiert." + }, + "create": { + "header": "Option erstellen", + "successToast": "Option {{title}} wurde erfolgreich erstellt." + }, + "deleteWarning": "Sie sind dabei, die Produktoption zu löschen: {{title}}. Diese Aktion kann nicht rückgängig gemacht werden." + }, + "organization": { + "header": "Organisieren", + "edit": { + "header": "Organisation bearbeiten", + "toasts": { + "success": "Die Organisation von {{title}} wurde erfolgreich aktualisiert." + } + } + }, + "toasts": { + "delete": { + "success": { + "header": "Produkt gelöscht", + "description": "{{title}} wurde erfolgreich gelöscht." + }, + "error": { + "header": "Das Produkt konnte nicht gelöscht werden" + } + } + } + }, + "collections": { + "domain": "Sammlungen", + "subtitle": "Organisieren Sie Produkte in Sammlungen.", + "createCollection": "Sammlung erstellen", + "createCollectionHint": "Erstellen Sie eine neue Sammlung, um Ihre Produkte zu organisieren.", + "createSuccess": "Sammlung erfolgreich erstellt.", + "editCollection": "Sammlung bearbeiten", + "handleTooltip": "Das Handle wird verwendet, um auf die Sammlung in Ihrer Storefront zu verweisen. Wenn nicht angegeben, wird das Handle aus dem Sammlungstitel generiert.", + "deleteWarning": "Sie sind dabei, die Sammlung {{title}} zu löschen. Diese Aktion kann nicht rückgängig gemacht werden.", + "removeSingleProductWarning": "Sie sind dabei, das Produkt {{title}} aus der Sammlung zu entfernen. Diese Aktion kann nicht rückgängig gemacht werden.", + "removeProductsWarning_one": "Sie sind dabei, {{count}} Produkt aus der Sammlung zu entfernen. Diese Aktion kann nicht rückgängig gemacht werden.", + "removeProductsWarning_other": "Sie sind dabei, {{count}} Produkte aus der Sammlung zu entfernen. Diese Aktion kann nicht rückgängig gemacht werden.", + "products": { + "list": { + "noRecordsMessage": "Es sind keine Produkte in der Sammlung vorhanden." + }, + "add": { + "successToast_one": "Das Produkt wurde erfolgreich zur Sammlung hinzugefügt.", + "successToast_other": "Produkte wurden erfolgreich zur Sammlung hinzugefügt." + }, + "remove": { + "successToast_one": "Das Produkt wurde erfolgreich aus der Sammlung entfernt.", + "successToast_other": "Produkte wurden erfolgreich aus der Sammlung entfernt." + } + } + }, + "categories": { + "domain": "Kategorien", + "subtitle": "Organisieren Sie Produkte in Kategorien und verwalten Sie die Rangfolge und Hierarchie dieser Kategorien.", + "create": { + "header": "Kategorie erstellen", + "hint": "Erstellen Sie eine neue Kategorie, um Ihre Produkte zu organisieren.", + "tabs": { + "details": "Einzelheiten", + "organize": "Ranking organisieren" + }, + "successToast": "Kategorie {{name}} wurde erfolgreich erstellt." + }, + "edit": { + "header": "Kategorie bearbeiten", + "description": "Bearbeiten Sie die Kategorie, um ihre Details zu aktualisieren.", + "successToast": "Die Kategorie wurde erfolgreich aktualisiert." + }, + "delete": { + "confirmation": "Sie sind dabei, die Kategorie {{name}} zu löschen. Diese Aktion kann nicht rückgängig gemacht werden.", + "successToast": "Kategorie {{name}} wurde erfolgreich gelöscht." + }, + "products": { + "add": { + "disabledTooltip": "Das Produkt ist bereits in dieser Kategorie.", + "successToast_one": "{{count}} Produkt zur Kategorie hinzugefügt.", + "successToast_other": "{{count}} Produkte zur Kategorie hinzugefügt." + }, + "remove": { + "confirmation_one": "Sie sind dabei, {{count}} Produkt aus der Kategorie zu entfernen. Diese Aktion kann nicht rückgängig gemacht werden.", + "confirmation_other": "Sie sind dabei, {{count}} Produkte aus der Kategorie zu entfernen. Diese Aktion kann nicht rückgängig gemacht werden.", + "successToast_one": "{{count}} Produkt aus der Kategorie entfernt.", + "successToast_other": "{{count}} Produkte aus der Kategorie entfernt." + }, + "list": { + "noRecordsMessage": "Es gibt keine Produkte in der Kategorie." + } + }, + "organize": { + "header": "Organisieren", + "action": "Ranking bearbeiten" + }, + "fields": { + "visibility": { + "label": "Sichtweite", + "internal": "Intern", + "public": "Öffentlich" + }, + "status": { + "label": "Status", + "active": "Aktiv", + "inactive": "Inaktiv" + }, + "path": { + "label": "Weg", + "tooltip": "Zeigt den vollständigen Pfad der Kategorie an." + }, + "children": { + "label": "Kinder" + }, + "new": { + "label": "Neu" + } + } + }, + "inventory": { + "domain": "Inventar", + "subtitle": "Verwalten Sie Ihre Inventargegenstände", + "reserved": "Reserviert", + "available": "Verfügbar", + "locationLevels": "Standorte", + "associatedVariants": "Zugehörige Varianten", + "manageLocations": "Standorte verwalten", + "deleteWarning": "Sie sind dabei, einen Inventarartikel zu löschen. Diese Aktion kann nicht rückgängig gemacht werden.", + "editItemDetails": "Artikeldetails bearbeiten", + "create": { + "title": "Inventarartikel erstellen", + "details": "Einzelheiten", + "availability": "Verfügbarkeit", + "locations": "Standorte", + "attributes": "Attribute", + "requiresShipping": "Erfordert Versand", + "requiresShippingHint": "Ist für den Lagerartikel ein Versand erforderlich?", + "successToast": "Der Inventarartikel wurde erfolgreich erstellt." + }, + "reservation": { + "header": "Reservierung von {{itemName}}", + "editItemDetails": "Reservierung bearbeiten", + "lineItemId": "Werbebuchungs-ID", + "orderID": "Bestell-ID", + "description": "Beschreibung", + "location": "Standort", + "inStockAtLocation": "An diesem Standort auf Lager", + "availableAtLocation": "Verfügbar an diesem Standort", + "reservedAtLocation": "An diesem Standort reserviert", + "reservedAmount": "Reservebetrag", + "create": "Reservierung erstellen", + "itemToReserve": "Artikel zum Reservieren", + "quantityPlaceholder": "Wie viel möchten Sie reservieren?", + "descriptionPlaceholder": "Um welche Art von Reservierung handelt es sich?", + "successToast": "Die Reservierung wurde erfolgreich erstellt.", + "updateSuccessToast": "Die Reservierung wurde erfolgreich aktualisiert.", + "deleteSuccessToast": "Die Reservierung wurde erfolgreich gelöscht.", + "errors": { + "noAvaliableQuantity": "Der Lagerort hat keine verfügbare Menge.", + "quantityOutOfRange": "Die Mindestmenge beträgt 1 und die Höchstmenge beträgt {{max}}." + } + }, + "toast": { + "updateLocations": "Standorte erfolgreich aktualisiert.", + "updateLevel": "Der Lagerbestand wurde erfolgreich aktualisiert.", + "updateItem": "Inventarartikel erfolgreich aktualisiert." + } + }, + "giftCards": { + "domain": "Geschenkkarten", + "editGiftCard": "Geschenkkarte bearbeiten", + "createGiftCard": "Geschenkkarte erstellen", + "createGiftCardHint": "Erstellen Sie manuell eine Geschenkkarte, die als Zahlungsmethode in Ihrem Shop verwendet werden kann.", + "selectRegionFirst": "Wählen Sie zunächst eine Region aus", + "deleteGiftCardWarning": "Sie sind dabei, die Geschenkkarte {{code}} zu löschen. Diese Aktion kann nicht rückgängig gemacht werden.", + "balanceHigherThanValue": "Der Saldo darf nicht höher sein als der ursprüngliche Betrag.", + "balanceLowerThanZero": "Der Saldo darf nicht negativ sein.", + "expiryDateHint": "Länder haben unterschiedliche Gesetze bezüglich des Ablaufdatums von Geschenkkarten. Informieren Sie sich unbedingt über die örtlichen Vorschriften, bevor Sie ein Ablaufdatum festlegen.", + "regionHint": "Wenn Sie die Region der Geschenkkarte ändern, ändert sich auch deren Währung, was möglicherweise Auswirkungen auf den Geldwert hat.", + "enabledHint": "Geben Sie an, ob die Geschenkkarte aktiviert oder deaktiviert ist.", + "balance": "Gleichgewicht", + "currentBalance": "Aktueller Kontostand", + "initialBalance": "Anfangssaldo", + "personalMessage": "Persönliche Nachricht", + "recipient": "Empfänger" + }, + "customers": { + "domain": "Kunden", + "list": { + "noRecordsMessage": "Ihre Kunden werden hier angezeigt." + }, + "create": { + "header": "Kunde anlegen", + "hint": "Erstellen Sie einen neuen Kunden und verwalten Sie dessen Daten.", + "successToast": "Der Kunde {{email}} wurde erfolgreich erstellt." + }, + "groups": { + "label": "Kundengruppen", + "remove": "Sind Sie sicher, dass Sie den Kunden aus der Kundengruppe „{{name}}“ entfernen möchten?", + "removeMany": "Sind Sie sicher, dass Sie Kunden aus den folgenden Kundengruppen gewinnen möchten: {{groups}}?", + "alreadyAddedTooltip": "Der Kunde ist bereits in dieser Kundengruppe.", + "list": { + "noRecordsMessage": "Dieser Kunde gehört keiner Gruppe an." + }, + "add": { + "success": "Kunde hinzugefügt zu: {{groups}}.", + "list": { + "noRecordsMessage": "Bitte erstellen Sie zunächst eine Kundengruppe." + } + }, + "removed": { + "success": "Kunde entfernt aus: {{groups}}.", + "list": { + "noRecordsMessage": "Bitte erstellen Sie zunächst eine Kundengruppe." + } + } + }, + "edit": { + "header": "Kunde bearbeiten", + "emailDisabledTooltip": "Die E-Mail-Adresse kann für registrierte Kunden nicht geändert werden.", + "successToast": "Der Kunde {{email}} wurde erfolgreich aktualisiert." + }, + "delete": { + "title": "Kunde löschen", + "description": "Sie sind dabei, den Kunden {{email}} zu löschen. Diese Aktion kann nicht rückgängig gemacht werden.", + "successToast": "Der Kunde {{email}} wurde erfolgreich gelöscht." + }, + "fields": { + "guest": "Gast", + "registered": "Eingetragen", + "groups": "Gruppen" + }, + "registered": "Eingetragen", + "guest": "Gast", + "hasAccount": "Hat Konto" + }, + "customerGroups": { + "domain": "Kundengruppen", + "subtitle": "Organisieren Sie Kunden in Gruppen. Für Gruppen können unterschiedliche Aktionen und Preise gelten.", + "create": { + "header": "Kundengruppe erstellen", + "hint": "Erstellen Sie eine neue Kundengruppe, um Ihre Kunden zu segmentieren.", + "successToast": "Die Kundengruppe {{name}} wurde erfolgreich erstellt." + }, + "edit": { + "header": "Kundengruppe bearbeiten", + "successToast": "Die Kundengruppe {{name}} wurde erfolgreich aktualisiert." + }, + "delete": { + "title": "Kundengruppe löschen", + "description": "Sie sind dabei, die Kundengruppe {{name}} zu löschen. Diese Aktion kann nicht rückgängig gemacht werden.", + "successToast": "Die Kundengruppe {{name}} wurde erfolgreich gelöscht." + }, + "customers": { + "alreadyAddedTooltip": "Der Kunde wurde bereits zur Gruppe hinzugefügt.", + "add": { + "successToast_one": "Der Kunde wurde erfolgreich zur Gruppe hinzugefügt.", + "successToast_other": "Kunden wurden erfolgreich zur Gruppe hinzugefügt.", + "list": { + "noRecordsMessage": "Erstellen Sie zunächst einen Kunden." + } + }, + "remove": { + "title_one": "Kunde entfernen", + "title_other": "Kunden entfernen", + "description_one": "Sie sind dabei, {{count}} Kunden aus der Kundengruppe zu entfernen. Diese Aktion kann nicht rückgängig gemacht werden.", + "description_other": "Sie sind dabei, {{count}} Kunden aus der Kundengruppe zu entfernen. Diese Aktion kann nicht rückgängig gemacht werden." + }, + "list": { + "noRecordsMessage": "Diese Gruppe hat keine Kunden." + } + } + }, + "orders": { + "domain": "Bestellungen", + "claim": "Beanspruchen", + "exchange": "Austausch", + "return": "Zurückkehren", + "cancelWarning": "Sie sind dabei, die Bestellung {{id}} zu stornieren. Diese Aktion kann nicht rückgängig gemacht werden.", + "onDateFromSalesChannel": "{{date}} von {{salesChannel}}", + "list": { + "noRecordsMessage": "Ihre Bestellungen werden hier angezeigt." + }, + "summary": { + "requestReturn": "Rücksendung anfordern", + "allocateItems": "Artikel zuordnen", + "editOrder": "Bestellung bearbeiten", + "editOrderContinue": "Bearbeiten Sie die Bestellung weiter", + "inventoryKit": "Besteht aus {{count}}x Inventargegenständen", + "itemTotal": "Artikelsumme", + "shippingTotal": "Versand insgesamt", + "discountTotal": "Rabatt insgesamt", + "taxTotalIncl": "Steuersumme (inklusive)", + "itemSubtotal": "Zwischensumme des Artikels", + "shippingSubtotal": "Versand-Zwischensumme", + "discountSubtotal": "Rabatt-Zwischensumme", + "taxTotal": "Steuersumme" + }, + "payment": { + "title": "Zahlungen", + "isReadyToBeCaptured": "Die Zahlung <0/> kann erfasst werden.", + "totalPaidByCustomer": "Vom Kunden bezahlter Gesamtbetrag", + "capture": "Zahlung erfassen", + "capture_short": "Erfassen", + "refund": "Erstattung", + "markAsPaid": "Als bezahlt markieren", + "statusLabel": "Zahlungsstatus", + "statusTitle": "Zahlungsstatus", + "status": { + "notPaid": "Nicht bezahlt", + "authorized": "Autorisiert", + "partiallyAuthorized": "Teilweise autorisiert", + "awaiting": "Warten", + "captured": "Gefangen", + "partiallyRefunded": "Teilweise erstattet", + "partiallyCaptured": "Teilweise erfasst", + "refunded": "Erstattet", + "canceled": "Abgesagt", + "requiresAction": "Erfordert Maßnahmen" + }, + "capturePayment": "Die Zahlung von {{amount}} wird erfasst.", + "capturePaymentSuccess": "Die Zahlung von {{amount}} wurde erfolgreich erfasst", + "markAsPaidPayment": "Die Zahlung von {{amount}} wird als bezahlt markiert.", + "markAsPaidPaymentSuccess": "Zahlung von {{amount}} erfolgreich als bezahlt markiert", + "createRefund": "Rückerstattung erstellen", + "refundPaymentSuccess": "Rückerstattung des Betrags {{amount}} erfolgreich", + "createRefundWrongQuantity": "Die Menge sollte eine Zahl zwischen 1 und {{number}} sein.", + "refundAmount": "Rückerstattung von {{ Betrag }}", + "paymentLink": "Zahlungslink für {{ Betrag }} kopieren", + "selectPaymentToRefund": "Wählen Sie die Zahlung zur Rückerstattung aus" + }, + "edits": { + "title": "Bestellung bearbeiten", + "confirm": "Bestätigen Sie Bearbeiten", + "confirmText": "Sie sind dabei, eine Bestellbearbeitung zu bestätigen. Diese Aktion kann nicht rückgängig gemacht werden.", + "cancel": "Bearbeiten abbrechen", + "currentItems": "Aktuelle Artikel", + "currentItemsDescription": "Artikelmenge anpassen oder entfernen.", + "addItemsDescription": "Sie können der Bestellung neue Artikel hinzufügen.", + "addItems": "Elemente hinzufügen", + "amountPaid": "Gezahlter Betrag", + "newTotal": "Neue Summe", + "differenceDue": "Differenz fällig", + "create": "Bestellung bearbeiten", + "currentTotal": "Aktuelle Gesamtsumme", + "noteHint": "Fügen Sie eine interne Notiz für die Bearbeitung hinzu", + "cancelSuccessToast": "Auftragsbearbeitung abgebrochen", + "createSuccessToast": "Anfrage zur Auftragsbearbeitung erstellt", + "activeChangeError": "Für die Bestellung gibt es bereits eine aktive Bestelländerung (Rückgabe, Reklamation, Umtausch usw.). Bitte schließen Sie die Änderung ab oder brechen Sie sie ab, bevor Sie die Bestellung bearbeiten.", + "panel": { + "title": "Auftragsbearbeitung angefordert", + "titlePending": "Auftragsbearbeitung steht aus" + }, + "toast": { + "canceledSuccessfully": "Auftragsbearbeitung abgebrochen", + "confirmedSuccessfully": "Auftragsbearbeitung bestätigt" + }, + "validation": { + "quantityLowerThanFulfillment": "Die Menge kann nicht kleiner oder gleich der erfüllten Menge sein" + } + }, + "returns": { + "create": "Retoure erstellen", + "confirm": "Bestätigen Sie die Rückgabe", + "confirmText": "Sie sind dabei, eine Rücksendung zu bestätigen. Diese Aktion kann nicht rückgängig gemacht werden.", + "inbound": "Eingehend", + "outbound": "Ausgehend", + "sendNotification": "Benachrichtigung senden", + "sendNotificationHint": "Benachrichtigen Sie den Kunden über die Rücksendung.", + "returnTotal": "Gesamtrückgabe", + "inboundTotal": "Eingehende Summe", + "refundAmount": "Rückerstattungsbetrag", + "outstandingAmount": "Ausstehender Betrag", + "reason": "Grund", + "reasonHint": "Wählen Sie aus, warum der Kunde Artikel zurückgeben möchte.", + "note": "Notiz", + "noInventoryLevel": "Kein Lagerbestand", + "noInventoryLevelDesc": "Der ausgewählte Standort verfügt über keinen Lagerbestand für die ausgewählten Artikel. Die Rücksendung kann angefordert werden, kann jedoch erst dann entgegengenommen werden, wenn ein Lagerbestand für den ausgewählten Standort erstellt wurde.", + "noteHint": "Sie können frei tippen, wenn Sie etwas spezifizieren möchten.", + "location": "Standort", + "locationHint": "Wählen Sie den Ort aus, an den Sie die Artikel zurückgeben möchten.", + "inboundShipping": "Rückversand", + "inboundShippingHint": "Wählen Sie die Methode aus, die Sie verwenden möchten.", + "returnableQuantityLabel": "Rückgabemenge", + "refundableAmountLabel": "Rückerstattungsbetrag", + "returnRequestedInfo": "Rückgabe von {{requestedItemsCount}}x Artikeln angefordert", + "returnReceivedInfo": "{{requestedItemsCount}}x Artikel wurden erhalten zurückgegeben", + "itemReceived": "Erhaltene Artikel", + "returnRequested": "Rückgabe erbeten", + "damagedItemReceived": "Beschädigte Artikel erhalten", + "damagedItemsReturned": "{{quantity}}x beschädigte Artikel zurückgegeben", + "activeChangeError": "Für diese Bestellung wird gerade eine aktive Auftragsänderung durchgeführt. Bitte schließen Sie die Änderung zunächst ab oder verwerfen Sie sie.", + "cancel": { + "title": "Rückgabe abbrechen", + "description": "Sind Sie sicher, dass Sie die Rückgabeanfrage stornieren möchten?" + }, + "placeholders": { + "noReturnShippingOptions": { + "title": "Keine Rücksendeoptionen gefunden", + "hint": "Für den Standort wurden keine Rücksendeoptionen erstellt. Sie können eine unter Standort & Versand erstellen." + }, + "outboundShippingOptions": { + "title": "Keine Optionen für den ausgehenden Versand gefunden", + "hint": "Für den Standort wurden keine ausgehenden Versandoptionen erstellt. Sie können eine unter Standort & Versand erstellen." + } + }, + "receive": { + "action": "Artikel erhalten", + "receiveItems": "{{ returnType }} {{ id }}", + "restockAll": "Alle Artikel wieder auffüllen", + "itemsLabel": "Erhaltene Artikel", + "title": "Erhalten Sie Artikel für #{{returnId}}", + "sendNotificationHint": "Benachrichtigen Sie den Kunden über den Erhalt der Rücksendung.", + "inventoryWarning": "Bitte beachten Sie, dass wir die Lagerbestände basierend auf Ihrer Eingabe oben automatisch anpassen.", + "writeOffInputLabel": "Wie viele der Gegenstände sind beschädigt?", + "toast": { + "success": "Rücksendung erfolgreich erhalten.", + "errorLargeValue": "Die Menge ist größer als die angeforderte Artikelmenge.", + "errorNegativeValue": "Die Menge darf kein negativer Wert sein.", + "errorLargeDamagedValue": "Die Menge der beschädigten Artikel + die Menge der unbeschädigten erhaltenen Artikel übersteigt die Gesamtmenge der Artikel in der Rücksendung. Bitte reduzieren Sie die Menge unbeschädigter Artikel." + } + }, + "toast": { + "canceledSuccessfully": "Rücksendung erfolgreich storniert", + "confirmedSuccessfully": "Rücksendung erfolgreich bestätigt" + }, + "panel": { + "title": "Rückkehr eingeleitet", + "description": "Es muss ein offener Rückgabeantrag ausgefüllt werden" + } + }, + "claims": { + "create": "Anspruch erstellen", + "confirm": "Anspruch bestätigen", + "confirmText": "Sie sind dabei, einen Anspruch zu bestätigen. Diese Aktion kann nicht rückgängig gemacht werden.", + "manage": "Anspruch verwalten", + "outbound": "Ausgehend", + "outboundItemAdded": "{{itemsCount}}x durch Anspruch hinzugefügt", + "outboundTotal": "Ausgehender Gesamtwert", + "outboundShipping": "Ausgehender Versand", + "outboundShippingHint": "Wählen Sie die Methode aus, die Sie verwenden möchten.", + "refundAmount": "Geschätzter Unterschied", + "activeChangeError": "Für diese Bestellung liegt eine aktive Bestelländerung vor. Bitte schließen Sie die vorherige Änderung ab oder verwerfen Sie sie.", + "actions": { + "cancelClaim": { + "successToast": "Der Anspruch wurde erfolgreich storniert." + } + }, + "cancel": { + "title": "Anspruch stornieren", + "description": "Sind Sie sicher, dass Sie den Anspruch stornieren möchten?" + }, + "tooltips": { + "onlyReturnShippingOptions": "Diese Liste enthält nur Optionen für den Rückversand." + }, + "toast": { + "canceledSuccessfully": "Anspruch erfolgreich storniert", + "confirmedSuccessfully": "Anspruch erfolgreich bestätigt" + }, + "panel": { + "title": "Klage eingeleitet", + "description": "Es muss ein offener Anspruchsantrag ausgefüllt werden" + } + }, + "exchanges": { + "create": "Exchange erstellen", + "manage": "Exchange verwalten", + "confirm": "Bestätigen Sie den Austausch", + "confirmText": "Sie sind dabei, einen Austausch zu bestätigen. Diese Aktion kann nicht rückgängig gemacht werden.", + "outbound": "Ausgehend", + "outboundItemAdded": "{{itemsCount}}x durch Austausch hinzugefügt", + "outboundTotal": "Ausgehender Gesamtwert", + "outboundShipping": "Ausgehender Versand", + "outboundShippingHint": "Wählen Sie die Methode aus, die Sie verwenden möchten.", + "refundAmount": "Geschätzter Unterschied", + "activeChangeError": "Für diese Bestellung liegt eine aktive Bestelländerung vor. Bitte schließen Sie die vorherige Änderung ab oder verwerfen Sie sie.", + "actions": { + "cancelExchange": { + "successToast": "Der Umtausch wurde erfolgreich abgebrochen." + } + }, + "cancel": { + "title": "Umtausch abbrechen", + "description": "Sind Sie sicher, dass Sie den Umtausch abbrechen möchten?" + }, + "tooltips": { + "onlyReturnShippingOptions": "Diese Liste enthält nur Optionen für den Rückversand." + }, + "toast": { + "canceledSuccessfully": "Der Umtausch wurde erfolgreich abgebrochen", + "confirmedSuccessfully": "Austausch erfolgreich bestätigt" + }, + "panel": { + "title": "Austausch eingeleitet", + "description": "Es muss eine offene Austauschanfrage ausgefüllt werden" + } + }, + "reservations": { + "allocatedLabel": "Zugewiesen", + "notAllocatedLabel": "Nicht zugeordnet" + }, + "allocateItems": { + "action": "Artikel zuordnen", + "title": "Bestellpositionen zuordnen", + "locationDescription": "Wählen Sie den Standort aus, von dem aus Sie zuweisen möchten.", + "itemsToAllocate": "Zuzuordnende Elemente", + "itemsToAllocateDesc": "Wählen Sie die Anzahl der Elemente aus, die Sie zuweisen möchten", + "search": "Elemente suchen", + "consistsOf": "Besteht aus {{num}}x Inventargegenständen", + "requires": "Benötigt {{num}} pro Variante", + "toast": { + "created": "Elemente erfolgreich zugewiesen" + }, + "error": { + "quantityNotAllocated": "Es sind nicht zugeordnete Elemente vorhanden." + } + }, + "shipment": { + "title": "Als Versand markieren", + "trackingNumber": "Tracking-Nummer", + "addTracking": "Tracking-Nummer hinzufügen", + "sendNotification": "Benachrichtigung senden", + "sendNotificationHint": "Benachrichtigen Sie den Kunden über diese Lieferung.", + "toastCreated": "Sendung erfolgreich erstellt." + }, + "fulfillment": { + "cancelWarning": "Sie sind im Begriff, eine Erfüllung zu stornieren. Diese Aktion kann nicht rückgängig gemacht werden.", + "markAsDeliveredWarning": "Sie sind dabei, die Erfüllung als geliefert zu markieren. Diese Aktion kann nicht rückgängig gemacht werden.", + "unfulfilledItems": "Unerfüllte Artikel", + "statusLabel": "Erfüllungsstatus", + "statusTitle": "Erfüllungsstatus", + "fulfillItems": "Artikel erfüllen", + "awaitingFulfillmentBadge": "Warten auf Erfüllung", + "requiresShipping": "Erfordert Versand", + "number": "Erfüllung #{{number}}", + "itemsToFulfill": "Zu erfüllende Gegenstände", + "create": "Schaffen Sie Erfüllung", + "available": "Verfügbar", + "inStock": "Auf Lager", + "markAsShipped": "Als versendet markieren", + "markAsDelivered": "Als geliefert markieren", + "itemsToFulfillDesc": "Wählen Sie die zu erfüllenden Artikel und Mengen aus", + "locationDescription": "Wählen Sie den Standort aus, von dem aus Sie Artikel versenden möchten.", + "sendNotificationHint": "Benachrichtigen Sie Kunden über die erstellte Erfüllung.", + "methodDescription": "Wählen Sie eine andere Versandart als die vom Kunden ausgewählte", + "error": { + "wrongQuantity": "Es steht nur ein Artikel zur Erfüllung zur Verfügung", + "wrongQuantity_other": "Die Menge sollte eine Zahl zwischen 1 und {{number}} sein.", + "noItems": "Keine zu erfüllenden Punkte." + }, + "status": { + "notFulfilled": "Nicht erfüllt", + "partiallyFulfilled": "Teilweise erfüllt", + "fulfilled": "Erfüllt", + "partiallyShipped": "Teilweise versandt", + "shipped": "Ausgeliefert", + "delivered": "Geliefert", + "partiallyDelivered": "Teilweise geliefert", + "partiallyReturned": "Teilweise zurückgegeben", + "returned": "Zurückgegeben", + "canceled": "Abgesagt", + "requiresAction": "Erfordert Maßnahmen" + }, + "toast": { + "created": "Erfüllung erfolgreich erstellt", + "canceled": "Die Erfüllung wurde erfolgreich abgebrochen", + "fulfillmentShipped": "Eine bereits versandte Erfüllung kann nicht storniert werden", + "fulfillmentDelivered": "Die Erfüllung wurde als erfolgreich geliefert markiert" + }, + "trackingLabel": "Verfolgung", + "shippingFromLabel": "Versand ab", + "itemsLabel": "Artikel" + }, + "refund": { + "title": "Rückerstattung erstellen", + "sendNotificationHint": "Benachrichtigen Sie Kunden über die erstellte Rückerstattung.", + "systemPayment": "Systemzahlung", + "systemPaymentDesc": "Eine oder mehrere Ihrer Zahlungen sind eine Systemzahlung. Beachten Sie, dass Medusa für solche Zahlungen keine Einziehungen und Rückerstattungen übernimmt.", + "error": { + "amountToLarge": "Es kann nicht mehr als der ursprüngliche Bestellbetrag erstattet werden.", + "amountNegative": "Der Rückerstattungsbetrag muss eine positive Zahl sein.", + "reasonRequired": "Bitte wählen Sie einen Rückerstattungsgrund aus." + } + }, + "customer": { + "contactLabel": "Kontakt", + "editEmail": "E-Mail bearbeiten", + "transferOwnership": "Eigentum übertragen", + "editBillingAddress": "Rechnungsadresse bearbeiten", + "editShippingAddress": "Lieferadresse bearbeiten" + }, + "activity": { + "header": "Aktivität", + "showMoreActivities_one": "{{count}} weitere Aktivität anzeigen", + "showMoreActivities_other": "{{count}} weitere Aktivitäten anzeigen", + "comment": { + "label": "Kommentar", + "placeholder": "Hinterlassen Sie einen Kommentar", + "addButtonText": "Kommentar hinzufügen", + "deleteButtonText": "Kommentar löschen" + }, + "events": { + "common": { + "toReturn": "Zurückkehren", + "toSend": "Zum Versenden" + }, + "placed": { + "title": "Bestellung aufgegeben", + "fromSalesChannel": "von {{salesChannel}}" + }, + "canceled": { + "title": "Bestellung storniert" + }, + "payment": { + "awaiting": "Warten auf Zahlung", + "captured": "Zahlung erfasst", + "canceled": "Zahlung storniert", + "refunded": "Zahlung zurückerstattet" + }, + "fulfillment": { + "created": "Artikel erfüllt", + "canceled": "Erfüllung abgesagt", + "shipped": "Artikel versendet", + "delivered": "Gelieferte Artikel", + "items_one": "{{count}} Artikel", + "items_other": "{{count}} Artikel" + }, + "return": { + "created": "Rückgabe #{{returnId}} angefordert", + "canceled": "Rückgabe #{{returnId}} abgebrochen", + "received": "Rückgabe #{{returnId}} erhalten", + "items_one": "{{count}} Artikel zurückgegeben", + "items_other": "{{count}} Artikel zurückgegeben" + }, + "note": { + "comment": "Kommentar", + "byLine": "von {{author}}" + }, + "claim": { + "created": "Anspruch #{{claimId}} angefordert", + "canceled": "Anspruch #{{claimId}} storniert", + "itemsInbound": "{{count}} Artikel, der zurückgegeben werden soll", + "itemsOutbound": "{{count}} Artikel zum Senden" + }, + "exchange": { + "created": "Exchange #{{exchangeId}} angefordert", + "canceled": "Austausch #{{exchangeId}} abgebrochen", + "itemsInbound": "{{count}} Artikel, der zurückgegeben werden soll", + "itemsOutbound": "{{count}} Artikel zum Senden" + }, + "edit": { + "requested": "Bestellbearbeitung #{{editId}} angefordert", + "confirmed": "Bestellbearbeitung #{{editId}} bestätigt" + } + } + }, + "fields": { + "displayId": "Anzeige-ID", + "refundableAmount": "Rückerstattungsbetrag", + "returnableQuantity": "Rückgabemenge" + } + }, + "draftOrders": { + "domain": "Befehlsentwürfe", + "deleteWarning": "Sie sind dabei, den Bestellentwurf {{id}} zu löschen. Diese Aktion kann nicht rückgängig gemacht werden.", + "paymentLinkLabel": "Zahlungslink", + "cartIdLabel": "Warenkorb-ID", + "markAsPaid": { + "label": "Als bezahlt markieren", + "warningTitle": "Als bezahlt markieren", + "warningDescription": "Sie sind dabei, den Bestellentwurf als bezahlt zu markieren. Dieser Vorgang kann nicht rückgängig gemacht werden und eine spätere Einziehung der Zahlung ist nicht mehr möglich." + }, + "status": { + "open": "Offen", + "completed": "Vollendet" + }, + "create": { + "createDraftOrder": "Bestellentwurf erstellen", + "createDraftOrderHint": "Erstellen Sie einen neuen Bestellentwurf, um die Details einer Bestellung zu verwalten, bevor diese aufgegeben wird.", + "chooseRegionHint": "Wählen Sie eine Region", + "existingItemsLabel": "Vorhandene Artikel", + "existingItemsHint": "Fügen Sie vorhandene Produkte zum Bestellentwurf hinzu.", + "customItemsLabel": "Benutzerdefinierte Artikel", + "customItemsHint": "Fügen Sie benutzerdefinierte Artikel zum Bestellentwurf hinzu.", + "addExistingItemsAction": "Vorhandene Elemente hinzufügen", + "addCustomItemAction": "Benutzerdefiniertes Element hinzufügen", + "noCustomItemsAddedLabel": "Es wurden noch keine benutzerdefinierten Artikel hinzugefügt", + "noExistingItemsAddedLabel": "Es wurden noch keine vorhandenen Artikel hinzugefügt", + "chooseRegionTooltip": "Wählen Sie zunächst eine Region aus", + "useExistingCustomerLabel": "Bestandskunden nutzen", + "addShippingMethodsAction": "Versandarten hinzufügen", + "unitPriceOverrideLabel": "Überschreibung des Stückpreises", + "shippingOptionLabel": "Versandoption", + "shippingOptionHint": "Wählen Sie die Versandoption für den Bestellentwurf.", + "shippingPriceOverrideLabel": "Versandpreisüberschreibung", + "shippingPriceOverrideHint": "Überschreiben Sie den Versandpreis für den Bestellentwurf.", + "sendNotificationLabel": "Benachrichtigung senden", + "sendNotificationHint": "Senden Sie eine Benachrichtigung an den Kunden, wenn der Bestellentwurf erstellt wird." + }, + "validation": { + "requiredEmailOrCustomer": "E-Mail oder Kunde ist erforderlich.", + "requiredItems": "Mindestens ein Artikel ist erforderlich.", + "invalidEmail": "E-Mail muss eine gültige E-Mail-Adresse sein." + } + }, + "stockLocations": { + "domain": "Standorte und Versand", + "list": { + "description": "Verwalten Sie die Lagerstandorte und Versandoptionen Ihres Shops." + }, + "create": { + "header": "Lagerort erstellen", + "hint": "Ein Lagerstandort ist ein physischer Standort, an dem Produkte gelagert und versendet werden.", + "successToast": "Der Standort {{name}} wurde erfolgreich erstellt." + }, + "edit": { + "header": "Lagerort bearbeiten", + "viewInventory": "Inventar ansehen", + "successToast": "Standort {{name}} wurde erfolgreich aktualisiert." + }, + "delete": { + "confirmation": "Sie sind dabei, den Lagerort {{name}} zu löschen. Diese Aktion kann nicht rückgängig gemacht werden." + }, + "fulfillmentProviders": { + "header": "Fulfillment-Anbieter", + "shippingOptionsTooltip": "Dieses Dropdown-Menü enthält nur Anbieter, die für diesen Standort aktiviert sind. Fügen Sie sie dem Standort hinzu, wenn das Dropdown-Menü deaktiviert ist.", + "label": "Angeschlossene Fulfillment-Anbieter", + "connectedTo": "Verbunden mit {{count}} von {{total}} Fulfillment-Anbietern", + "noProviders": "Dieser Lagerort ist mit keinem Versanddienstleister verbunden.", + "action": "Anbieter verbinden", + "successToast": "Die Fulfillment-Anbieter für den Lagerstandort wurden erfolgreich aktualisiert." + }, + "fulfillmentSets": { + "pickup": { + "header": "Abholen" + }, + "shipping": { + "header": "Versand" + }, + "disable": { + "confirmation": "Sind Sie sicher, dass Sie {{name}} deaktivieren möchten? Dadurch werden alle zugehörigen Servicezonen und Versandoptionen gelöscht. Dies kann nicht rückgängig gemacht werden.", + "pickup": "Die Abholung wurde erfolgreich deaktiviert.", + "shipping": "Der Versand wurde erfolgreich deaktiviert." + }, + "enable": { + "pickup": "Die Abholung wurde erfolgreich aktiviert.", + "shipping": "Der Versand wurde erfolgreich aktiviert." + } + }, + "sidebar": { + "header": "Versandkonfiguration", + "shippingProfiles": { + "label": "Versandprofile", + "description": "Gruppieren Sie Produkte nach Versandanforderungen" + } + }, + "salesChannels": { + "header": "Vertriebskanäle", + "label": "Angebundene Vertriebskanäle", + "connectedTo": "Verbunden mit {{count}} von {{total}} Vertriebskanälen", + "noChannels": "Der Standort ist an keine Vertriebskanäle angeschlossen.", + "action": "Vertriebskanäle verbinden", + "successToast": "Vertriebskanäle wurden erfolgreich aktualisiert." + }, + "shippingOptions": { + "create": { + "shipping": { + "header": "Versandoption für {{zone}} erstellen", + "hint": "Erstellen Sie eine neue Versandoption, um zu definieren, wie Produkte von diesem Standort aus versendet werden.", + "label": "Versandoptionen", + "successToast": "Die Versandoption {{name}} wurde erfolgreich erstellt." + }, + "returns": { + "header": "Erstellen Sie eine Rückgabeoption für {{zone}}", + "hint": "Erstellen Sie eine neue Rückgabeoption, um zu definieren, wie Produkte an diesen Standort zurückgegeben werden.", + "label": "Rückgabeoptionen", + "successToast": "Die Rückgabeoption {{name}} wurde erfolgreich erstellt." + }, + "tabs": { + "details": "Einzelheiten", + "prices": "Preise" + }, + "action": "Option erstellen" + }, + "delete": { + "confirmation": "Sie sind dabei, die Versandoption {{name}} zu löschen. Diese Aktion kann nicht rückgängig gemacht werden.", + "successToast": "Die Versandoption {{name}} wurde erfolgreich gelöscht." + }, + "edit": { + "header": "Versandoption bearbeiten", + "action": "Option bearbeiten", + "successToast": "Die Versandoption {{name}} wurde erfolgreich aktualisiert." + }, + "pricing": { + "action": "Preise bearbeiten" + }, + "fields": { + "count": { + "shipping_one": "{{count}} Versandoption", + "shipping_other": "{{count}} Versandoptionen", + "returns_one": "{{count}} Rückgabeoption", + "returns_other": "{{count}} Rückgabeoptionen" + }, + "priceType": { + "label": "Preisart", + "options": { + "fixed": { + "label": "Behoben", + "hint": "Der Preis der Versandoption ist fest und ändert sich nicht je nach Inhalt der Bestellung." + }, + "calculated": { + "label": "Berechnet", + "hint": "Der Preis der Versandoption wird vom Versanddienstleister beim Bezahlvorgang berechnet." + } + } + }, + "enableInStore": { + "label": "Im Store aktivieren", + "hint": "Ob Kunden diese Option beim Bezahlvorgang nutzen können." + }, + "provider": "Fulfillment-Anbieter", + "profile": "Versandprofil" + } + }, + "serviceZones": { + "create": { + "headerPickup": "Servicezone für Abholung von {{location}} erstellen", + "headerShipping": "Servicezone für den Versand von {{location}} erstellen", + "action": "Servicezone erstellen", + "successToast": "Die Servicezone {{name}} wurde erfolgreich erstellt." + }, + "edit": { + "header": "Servicezone bearbeiten", + "successToast": "Die Servicezone {{name}} wurde erfolgreich aktualisiert." + }, + "delete": { + "confirmation": "Sie sind dabei, die Servicezone {{name}} zu löschen. Diese Aktion kann nicht rückgängig gemacht werden.", + "successToast": "Die Servicezone {{name}} wurde erfolgreich gelöscht." + }, + "manageAreas": { + "header": "Bereiche für {{name}} verwalten", + "action": "Bereiche verwalten", + "label": "Bereiche", + "hint": "Wählen Sie die geografischen Gebiete aus, die von der Servicezone abgedeckt werden.", + "successToast": "Bereiche für {{name}} wurden erfolgreich aktualisiert." + }, + "fields": { + "noRecords": "Es gibt keine Servicezonen, zu denen Versandoptionen hinzugefügt werden können.", + "tip": "Eine Servicezone ist eine Sammlung geografischer Zonen oder Gebiete. Es wird verwendet, um die verfügbaren Versandoptionen auf eine definierte Gruppe von Standorten zu beschränken." + } + } + }, + "shippingProfile": { + "domain": "Versandprofile", + "subtitle": "Gruppieren Sie Produkte mit ähnlichen Versandanforderungen in Profilen.", + "create": { + "header": "Versandprofil erstellen", + "hint": "Erstellen Sie ein neues Versandprofil, um Produkte mit ähnlichen Versandanforderungen zu gruppieren.", + "successToast": "Das Versandprofil {{name}} wurde erfolgreich erstellt." + }, + "delete": { + "title": "Versandprofil löschen", + "description": "Sie sind dabei, das Versandprofil {{name}} zu löschen. Diese Aktion kann nicht rückgängig gemacht werden.", + "successToast": "Das Versandprofil {{name}} wurde erfolgreich gelöscht." + }, + "tooltip": { + "type": "Geben Sie den Versandprofiltyp ein, zum Beispiel: Schwer, Übergroß, Nur Fracht usw." + } + }, + "taxRegions": { + "domain": "Steuerregionen", + "list": { + "hint": "Verwalten Sie, was Sie Ihren Kunden berechnen, wenn diese in verschiedenen Ländern und Regionen einkaufen." + }, + "delete": { + "confirmation": "Sie sind dabei, eine Steuerregion zu löschen. Diese Aktion kann nicht rückgängig gemacht werden.", + "successToast": "Die Steuerregion wurde erfolgreich gelöscht." + }, + "create": { + "header": "Steuerregion erstellen", + "hint": "Erstellen Sie eine neue Steuerregion, um Steuersätze für ein bestimmtes Land zu definieren.", + "errors": { + "rateIsRequired": "Beim Erstellen eines Standardsteuersatzes ist ein Steuersatz erforderlich.", + "nameIsRequired": "Der Name ist beim Erstellen eines Standardsteuersatzes erforderlich." + }, + "successToast": "Die Steuerregion wurde erfolgreich erstellt." + }, + "province": { + "header": "Provinzen", + "create": { + "header": "Erstellen Sie eine Provinzsteuerregion", + "hint": "Erstellen Sie eine neue Steuerregion, um Steuersätze für eine bestimmte Provinz zu definieren." + } + }, + "state": { + "header": "Staaten", + "create": { + "header": "Erstellen Sie eine staatliche Steuerregion", + "hint": "Erstellen Sie eine neue Steuerregion, um Steuersätze für einen bestimmten Staat zu definieren." + } + }, + "stateOrTerritory": { + "header": "Staaten oder Gebiete", + "create": { + "header": "Erstellen Sie eine Steuerregion für Bundesstaat/Territorium", + "hint": "Erstellen Sie eine neue Steuerregion, um Steuersätze für einen bestimmten Staat/ein bestimmtes Gebiet zu definieren." + } + }, + "county": { + "header": "Landkreise", + "create": { + "header": "Erstellen Sie eine County-Steuerregion", + "hint": "Erstellen Sie eine neue Steuerregion, um Steuersätze für einen bestimmten Landkreis zu definieren." + } + }, + "region": { + "header": "Regionen", + "create": { + "header": "Region-Steuerregion erstellen", + "hint": "Erstellen Sie eine neue Steuerregion, um Steuersätze für eine bestimmte Region zu definieren." + } + }, + "department": { + "header": "Abteilungen", + "create": { + "header": "Erstellen Sie die Steuerregion der Abteilung", + "hint": "Erstellen Sie eine neue Steuerregion, um Steuersätze für eine bestimmte Abteilung zu definieren." + } + }, + "territory": { + "header": "Gebiete", + "create": { + "header": "Erstellen Sie eine Gebietssteuerregion", + "hint": "Erstellen Sie eine neue Steuerregion, um Steuersätze für ein bestimmtes Gebiet zu definieren." + } + }, + "prefecture": { + "header": "Präfekturen", + "create": { + "header": "Erstellen Sie eine Präfektursteuerregion", + "hint": "Erstellen Sie eine neue Steuerregion, um Steuersätze für eine bestimmte Präfektur zu definieren." + } + }, + "district": { + "header": "Bezirke", + "create": { + "header": "Erstellen Sie eine Bezirkssteuerregion", + "hint": "Erstellen Sie eine neue Steuerregion, um Steuersätze für einen bestimmten Bezirk zu definieren." + } + }, + "governorate": { + "header": "Gouvernements", + "create": { + "header": "Erstellen Sie eine Steuerregion für ein Gouvernement", + "hint": "Erstellen Sie eine neue Steuerregion, um Steuersätze für ein bestimmtes Gouvernement zu definieren." + } + }, + "canton": { + "header": "Kantone", + "create": { + "header": "Erstellen Sie eine Steuerregion für den Kanton", + "hint": "Erstellen Sie eine neue Steuerregion, um Steuersätze für einen bestimmten Kanton zu definieren." + } + }, + "emirate": { + "header": "Emirate", + "create": { + "header": "Erstellen Sie eine Emirate-Steuerregion", + "hint": "Erstellen Sie eine neue Steuerregion, um Steuersätze für ein bestimmtes Emirat zu definieren." + } + }, + "sublevel": { + "header": "Unterebenen", + "create": { + "header": "Erstellen Sie eine untergeordnete Steuerregion", + "hint": "Erstellen Sie eine neue Steuerregion, um Steuersätze für eine bestimmte Unterebene zu definieren." + } + }, + "taxOverrides": { + "header": "Überschreibt", + "create": { + "header": "Überschreibung erstellen", + "hint": "Erstellen Sie einen Steuersatz, der die Standardsteuersätze für ausgewählte Bedingungen überschreibt." + }, + "edit": { + "header": "Überschreibung bearbeiten", + "hint": "Bearbeiten Sie den Steuersatz, der die Standardsteuersätze für ausgewählte Bedingungen überschreibt." + } + }, + "taxRates": { + "create": { + "header": "Steuersatz erstellen", + "hint": "Erstellen Sie einen neuen Steuersatz, um den Steuersatz für eine Region zu definieren.", + "successToast": "Der Steuersatz wurde erfolgreich erstellt." + }, + "edit": { + "header": "Steuersatz bearbeiten", + "hint": "Bearbeiten Sie den Steuersatz, um den Steuersatz für eine Region zu definieren.", + "successToast": "Der Steuersatz wurde erfolgreich aktualisiert." + }, + "delete": { + "confirmation": "Sie sind dabei, den Steuersatz {{name}} zu löschen. Diese Aktion kann nicht rückgängig gemacht werden.", + "successToast": "Der Steuersatz wurde erfolgreich gelöscht." + } + }, + "fields": { + "isCombinable": { + "label": "Kombinierbar", + "hint": "Ob dieser Steuersatz mit dem Standardsatz aus der Steuerregion kombiniert werden kann.", + "true": "Kombinierbar", + "false": "Nicht kombinierbar" + }, + "defaultTaxRate": { + "label": "Standardsteuersatz", + "tooltip": "Der Standardsteuersatz für diese Region. Ein Beispiel ist der Standard-Mehrwertsteuersatz für ein Land oder eine Region.", + "action": "Erstellen Sie einen Standardsteuersatz" + }, + "taxRate": "Steuersatz", + "taxCode": "Steuerkennzeichen", + "targets": { + "label": "Ziele", + "hint": "Wählen Sie die Ziele aus, für die dieser Steuersatz gelten soll.", + "options": { + "product": "Produkte", + "productCollection": "Produktkollektionen", + "productTag": "Produkt-Tags", + "productType": "Produkttypen", + "customerGroup": "Kundengruppen" + }, + "operators": { + "in": "In", + "on": "An", + "and": "Und" + }, + "placeholders": { + "product": "Nach Produkten suchen", + "productCollection": "Suchen Sie nach Produktkollektionen", + "productTag": "Suchen Sie nach Produkt-Tags", + "productType": "Suchen Sie nach Produkttypen", + "customerGroup": "Suche nach Kundengruppen" + }, + "tags": { + "product": "Produkt", + "productCollection": "Produktkollektion", + "productTag": "Produkt-Tag", + "productType": "Produkttyp", + "customerGroup": "Kundengruppe" + }, + "modal": { + "header": "Ziele hinzufügen" + }, + "values_one": "{{count}} Wert", + "values_other": "{{count}} Werte", + "numberOfTargets_one": "{{count}} Ziel", + "numberOfTargets_other": "{{count}} Ziele", + "additionalValues_one": "und {{count}} mehr Wert", + "additionalValues_other": "und {{count}} weitere Werte", + "action": "Ziel hinzufügen" + }, + "sublevels": { + "labels": { + "province": "Provinz", + "state": "Zustand", + "region": "Region", + "stateOrTerritory": "Staat/Territorium", + "department": "Abteilung", + "county": "County", + "territory": "Gebiet", + "prefecture": "Präfektur", + "district": "Bezirk", + "governorate": "Gouvernement", + "emirate": "Emirat", + "canton": "Kanton", + "sublevel": "Sublevel-Code" + }, + "placeholders": { + "province": "Provinz auswählen", + "state": "Bundesland auswählen", + "region": "Region auswählen", + "stateOrTerritory": "Wählen Sie Bundesland/Gebiet aus", + "department": "Abteilung auswählen", + "county": "Landkreis auswählen", + "territory": "Gebiet auswählen", + "prefecture": "Präfektur auswählen", + "district": "Bezirk auswählen", + "governorate": "Wählen Sie ein Gouvernement aus", + "emirate": "Emirat auswählen", + "canton": "Kanton auswählen" + }, + "tooltips": { + "sublevel": "Geben Sie den ISO 3166-2-Code für die untergeordnete Steuerregion ein.", + "notPartOfCountry": "{{province}} scheint nicht Teil von {{country}} zu sein. Bitte überprüfen Sie noch einmal, ob dies korrekt ist." + }, + "alert": { + "header": "Untergeordnete Regionen sind für diese Steuerregion deaktiviert", + "description": "Untergeordnete Regionen sind für diese Region standardmäßig deaktiviert. Sie können ihnen ermöglichen, untergeordnete Regionen wie Provinzen, Bundesstaaten oder Territorien zu erstellen.", + "action": "Untergeordnete Regionen aktivieren" + } + }, + "noDefaultRate": { + "label": "Keine Standardrate", + "tooltip": "Für diese Steuerregion gibt es keinen Standardsteuersatz. Wenn es einen Standardsatz gibt, z. B. die Mehrwertsteuer eines Landes, fügen Sie ihn bitte dieser Region hinzu." + } + } + }, + "promotions": { + "domain": "Werbeaktionen", + "sections": { + "details": "Aktionsdetails" + }, + "tabs": { + "template": "Typ", + "details": "Einzelheiten", + "campaign": "Kampagne" + }, + "fields": { + "type": "Typ", + "value_type": "Werttyp", + "value": "Wert", + "campaign": "Kampagne", + "method": "Verfahren", + "allocation": "Zuweisung", + "addCondition": "Bedingung hinzufügen", + "clearAll": "Alles löschen", + "amount": { + "tooltip": "Wählen Sie den Währungscode aus, um die Festlegung des Betrags zu ermöglichen" + }, + "conditions": { + "rules": { + "title": "Wer kann diesen Code verwenden?", + "description": "Welcher Kunde darf den Aktionscode nutzen? Der Aktionscode kann von allen Kunden verwendet werden, sofern er nicht geändert wird." + }, + "target-rules": { + "title": "Auf welche Artikel gilt die Aktion?", + "description": "Die Aktion gilt für Artikel, die die folgenden Bedingungen erfüllen." + }, + "buy-rules": { + "title": "Was muss im Warenkorb sein, um die Aktion freizuschalten?", + "description": "Wenn diese Bedingungen zutreffen, aktivieren wir die Aktion für die Zielartikel." + } + } + }, + "tooltips": { + "campaignType": "Der Währungscode muss in der Aktion ausgewählt werden, um ein Ausgabenbudget festzulegen." + }, + "errors": { + "requiredField": "Erforderliches Feld", + "promotionTabError": "Beheben Sie Fehler im Tab „Werbung“, bevor Sie fortfahren" + }, + "toasts": { + "promotionCreateSuccess": "Aktion ({{code}}) wurde erfolgreich erstellt." + }, + "create": {}, + "edit": { + "title": "Aktionsdetails bearbeiten", + "rules": { + "title": "Nutzungsbedingungen bearbeiten" + }, + "target-rules": { + "title": "Artikelbedingungen bearbeiten" + }, + "buy-rules": { + "title": "Kaufregeln bearbeiten" + } + }, + "campaign": { + "header": "Kampagne", + "edit": { + "header": "Kampagne bearbeiten", + "successToast": "Die Kampagne der Aktion wurde erfolgreich aktualisiert." + }, + "actions": { + "goToCampaign": "Gehen Sie zur Kampagne" + } + }, + "campaign_currency": { + "tooltip": "Dies ist die Währung der Aktion. Ändern Sie es auf der Registerkarte „Details“." + }, + "form": { + "required": "Erforderlich", + "and": "UND", + "selectAttribute": "Wählen Sie Attribut aus", + "campaign": { + "existing": { + "title": "Bestehende Kampagne", + "description": "Fügen Sie Werbung zu einer vorhandenen Kampagne hinzu.", + "placeholder": { + "title": "Keine vorhandenen Kampagnen", + "desc": "Sie können eine erstellen, um mehrere Werbeaktionen zu verfolgen und Budgetgrenzen festzulegen." + } + }, + "new": { + "title": "Neue Kampagne", + "description": "Erstellen Sie eine neue Kampagne für diese Aktion." + }, + "none": { + "title": "Ohne Kampagne", + "description": "Fahren Sie fort, ohne Werbung mit Kampagne zu verknüpfen" + } + }, + "status": { + "title": "Status" + }, + "method": { + "label": "Verfahren", + "code": { + "title": "Aktionscode", + "description": "Kunden müssen diesen Code beim Bezahlvorgang eingeben" + }, + "automatic": { + "title": "Automatisch", + "description": "Kunden werden diese Aktion an der Kasse sehen" + } + }, + "max_quantity": { + "title": "Maximale Menge", + "description": "Maximale Anzahl an Artikeln, für die diese Aktion gilt." + }, + "type": { + "standard": { + "title": "Standard", + "description": "Eine Standardaktion" + }, + "buyget": { + "title": "Kaufen Get", + "description": "Kaufen Sie X und erhalten Sie Y-Aktion" + } + }, + "allocation": { + "each": { + "title": "Jede", + "description": "Wendet den Wert auf jedes Element an" + }, + "across": { + "title": "Über", + "description": "Wendet den Wert auf alle Elemente an" + } + }, + "code": { + "title": "Code", + "description": "Der Code, den Ihre Kunden beim Bezahlvorgang eingeben." + }, + "value": { + "title": "Werbewert" + }, + "value_type": { + "fixed": { + "title": "Werbewert", + "description": "Der zu rabattierende Betrag. z.B. 100" + }, + "percentage": { + "title": "Werbewert", + "description": "Der Prozentsatz, um den der Betrag abgezinst wird. z.B. 8 %" + } + } + }, + "deleteWarning": "Sie sind dabei, die Aktion {{code}} zu löschen. Diese Aktion kann nicht rückgängig gemacht werden.", + "createPromotionTitle": "Werbeaktion erstellen", + "type": "Werbetyp", + "conditions": { + "add": "Bedingung hinzufügen", + "list": { + "noRecordsMessage": "Fügen Sie eine Bedingung hinzu, um einzuschränken, für welche Artikel die Aktion gilt." + } + } + }, + "campaigns": { + "domain": "Kampagnen", + "details": "Details zur Kampagne", + "status": { + "active": "Aktiv", + "expired": "Abgelaufen", + "scheduled": "Geplant" + }, + "delete": { + "title": "Bist du sicher?", + "description": "Sie sind dabei, die Kampagne „{{name}}“ zu löschen. Diese Aktion kann nicht rückgängig gemacht werden.", + "successToast": "Die Kampagne „{{name}}“ wurde erfolgreich erstellt." + }, + "edit": { + "header": "Kampagne bearbeiten", + "description": "Bearbeiten Sie die Details der Kampagne.", + "successToast": "Kampagne „{{name}}“ wurde erfolgreich aktualisiert." + }, + "configuration": { + "header": "Konfiguration", + "edit": { + "header": "Kampagnenkonfiguration bearbeiten", + "description": "Bearbeiten Sie die Konfiguration der Kampagne.", + "successToast": "Die Kampagnenkonfiguration wurde erfolgreich aktualisiert." + } + }, + "create": { + "title": "Kampagne erstellen", + "description": "Erstellen Sie eine Werbekampagne.", + "hint": "Erstellen Sie eine Werbekampagne.", + "header": "Kampagne erstellen", + "successToast": "Die Kampagne „{{name}}“ wurde erfolgreich erstellt." + }, + "fields": { + "name": "Name", + "identifier": "Kennung", + "start_date": "Startdatum", + "end_date": "Enddatum", + "total_spend": "Budget ausgegeben", + "total_used": "Verwendetes Budget", + "budget_limit": "Budgetlimit", + "campaign_id": { + "hint": "In dieser Liste werden nur Kampagnen mit demselben Währungscode wie die Aktion angezeigt." + } + }, + "budget": { + "create": { + "hint": "Erstellen Sie ein Budget für die Kampagne.", + "header": "Kampagnenbudget" + }, + "details": "Kampagnenbudget", + "fields": { + "type": "Typ", + "currency": "Währung", + "limit": "Limit", + "used": "Gebraucht" + }, + "type": { + "spend": { + "title": "Ausgeben", + "description": "Legen Sie ein Limit für den gesamten rabattierten Betrag aller Aktionsnutzungen fest." + }, + "usage": { + "title": "Verwendung", + "description": "Legen Sie ein Limit fest, wie oft die Aktion genutzt werden kann." + } + }, + "edit": { + "header": "Kampagnenbudget bearbeiten" + } + }, + "promotions": { + "remove": { + "title": "Werbung aus der Kampagne entfernen", + "description": "Sie sind dabei, {{count}} Werbeaktionen aus der Kampagne zu entfernen. Diese Aktion kann nicht rückgängig gemacht werden." + }, + "alreadyAdded": "Diese Aktion wurde bereits zur Kampagne hinzugefügt.", + "alreadyAddedDiffCampaign": "Diese Aktion wurde bereits einer anderen Kampagne ({{name}}) hinzugefügt.", + "currencyMismatch": "Die Währung der Werbeaktion und der Kampagne stimmt nicht überein", + "toast": { + "success": "{{count}} Werbeaktion(en) erfolgreich zur Kampagne hinzugefügt" + }, + "add": { + "list": { + "noRecordsMessage": "Erstellen Sie zunächst eine Werbeaktion." + } + }, + "list": { + "noRecordsMessage": "In der Kampagne gibt es keine Werbeaktionen." + } + }, + "deleteCampaignWarning": "Sie sind dabei, die Kampagne {{name}} zu löschen. Diese Aktion kann nicht rückgängig gemacht werden.", + "totalSpend": "<0>{{amount}} <1>{{currency}}" + }, + "priceLists": { + "domain": "Preislisten", + "subtitle": "Erstellen Sie Sonderangebote oder überschreiben Sie Preise für bestimmte Konditionen.", + "delete": { + "confirmation": "Sie sind dabei, die Preisliste {{title}} zu löschen. Diese Aktion kann nicht rückgängig gemacht werden.", + "successToast": "Die Preisliste {{title}} wurde erfolgreich gelöscht." + }, + "create": { + "header": "Preisliste erstellen", + "subheader": "Erstellen Sie eine neue Preisliste, um die Preise Ihrer Produkte zu verwalten.", + "tabs": { + "details": "Einzelheiten", + "products": "Produkte", + "prices": "Preise" + }, + "successToast": "Die Preisliste {{title}} wurde erfolgreich erstellt.", + "products": { + "list": { + "noRecordsMessage": "Erstellen Sie zuerst ein Produkt." + } + } + }, + "edit": { + "header": "Preisliste bearbeiten", + "successToast": "Die Preisliste {{title}} wurde erfolgreich aktualisiert." + }, + "configuration": { + "header": "Konfiguration", + "edit": { + "header": "Bearbeiten Sie die Preislistenkonfiguration", + "description": "Bearbeiten Sie die Konfiguration der Preisliste.", + "successToast": "Die Preislistenkonfiguration wurde erfolgreich aktualisiert." + } + }, + "products": { + "header": "Produkte", + "actions": { + "addProducts": "Produkte hinzufügen", + "editPrices": "Preise bearbeiten" + }, + "delete": { + "confirmation_one": "Sie sind dabei, die Preise für {{count}} Produkt in der Preisliste zu löschen. Diese Aktion kann nicht rückgängig gemacht werden.", + "confirmation_other": "Sie sind dabei, die Preise für {{count}} Produkte in der Preisliste zu löschen. Diese Aktion kann nicht rückgängig gemacht werden.", + "successToast_one": "Preise für {{count}} Produkt erfolgreich gelöscht.", + "successToast_other": "Preise für {{count}} Produkte erfolgreich gelöscht." + }, + "add": { + "successToast": "Die Preise wurden erfolgreich zur Preisliste hinzugefügt." + }, + "edit": { + "successToast": "Die Preise wurden erfolgreich aktualisiert." + } + }, + "fields": { + "priceOverrides": { + "label": "Preisüberschreibungen", + "header": "Preisüberschreibungen" + }, + "status": { + "label": "Status", + "options": { + "active": "Aktiv", + "draft": "Entwurf", + "expired": "Abgelaufen", + "scheduled": "Geplant" + } + }, + "type": { + "label": "Typ", + "hint": "Wählen Sie die Art der Preisliste, die Sie erstellen möchten.", + "options": { + "sale": { + "label": "Verkauf", + "description": "Verkaufspreise sind vorübergehende Preisänderungen für Produkte." + }, + "override": { + "label": "Überschreiben", + "description": "Overrides werden in der Regel verwendet, um kundenspezifische Preise zu erstellen." + } + } + }, + "startsAt": { + "label": "Preisliste hat ein Startdatum?", + "hint": "Planen Sie die zukünftige Aktivierung der Preisliste." + }, + "endsAt": { + "label": "Preisliste hat ein Ablaufdatum?", + "hint": "Planen Sie, die Preisliste in Zukunft zu deaktivieren." + }, + "customerAvailability": { + "header": "Wählen Sie Kundengruppen", + "label": "Kundenverfügbarkeit", + "hint": "Wählen Sie aus, für welche Kundengruppen die Preisliste gelten soll.", + "placeholder": "Suche nach Kundengruppen", + "attribute": "Kundengruppen" + } + } + }, + "profile": { + "domain": "Profil", + "manageYourProfileDetails": "Verwalten Sie Ihre Profildetails.", + "fields": { + "languageLabel": "Sprache", + "usageInsightsLabel": "Nutzungseinblicke" + }, + "edit": { + "header": "Profil bearbeiten", + "languageHint": "Die Sprache, die Sie im Admin-Dashboard verwenden möchten. Die Sprache Ihres Shops ändert sich dadurch nicht.", + "languagePlaceholder": "Sprache auswählen", + "usageInsightsHint": "Teilen Sie Nutzungseinblicke und helfen Sie uns, Medusa zu verbessern. Weitere Informationen darüber, was wir sammeln und wie wir es verwenden, finden Sie in unserer <0>Dokumentation." + }, + "toast": { + "edit": "Profiländerungen gespeichert" + } + }, + "users": { + "domain": "Benutzer", + "editUser": "Benutzer bearbeiten", + "inviteUser": "Benutzer einladen", + "inviteUserHint": "Laden Sie einen neuen Benutzer in Ihren Shop ein.", + "sendInvite": "Einladung senden", + "pendingInvites": "Ausstehende Einladungen", + "deleteInviteWarning": "Sie sind dabei, die Einladung für {{email}} zu löschen. Diese Aktion kann nicht rückgängig gemacht werden.", + "resendInvite": "Einladung erneut senden", + "copyInviteLink": "Einladungslink kopieren", + "expiredOnDate": "Abgelaufen am {{date}}", + "validFromUntil": "Gültig von <0>{{von}} - <1>{{bis}}", + "acceptedOnDate": "Akzeptiert am {{date}}", + "inviteStatus": { + "accepted": "Akzeptiert", + "pending": "Ausstehend", + "expired": "Abgelaufen" + }, + "roles": { + "admin": "Admin", + "developer": "Entwickler", + "member": "Mitglied" + }, + "deleteUserWarning": "Sie sind dabei, den Benutzer {{name}} zu löschen. Diese Aktion kann nicht rückgängig gemacht werden.", + "invite": "Einladen" + }, + "store": { + "domain": "Speichern", + "manageYourStoresDetails": "Verwalten Sie die Details Ihres Shops", + "editStore": "Shop bearbeiten", + "defaultCurrency": "Standardwährung", + "defaultRegion": "Standardregion", + "swapLinkTemplate": "Linkvorlage austauschen", + "paymentLinkTemplate": "Vorlage für einen Zahlungslink", + "inviteLinkTemplate": "Vorlage für einen Einladungslink", + "currencies": "Währungen", + "addCurrencies": "Währungen hinzufügen", + "enableTaxInclusivePricing": "Aktivieren Sie die Preisgestaltung inklusive Steuern", + "disableTaxInclusivePricing": "Deaktivieren Sie die Preisgestaltung inklusive Steuern", + "removeCurrencyWarning_one": "Sie sind dabei, {{count}} Währung aus Ihrem Shop zu entfernen. Stellen Sie sicher, dass Sie alle Preise in der Währung entfernt haben, bevor Sie fortfahren.", + "removeCurrencyWarning_other": "Sie sind dabei, {{count}} Währungen aus Ihrem Shop zu entfernen. Stellen Sie sicher, dass Sie alle Preise unter Verwendung der Währungen entfernt haben, bevor Sie fortfahren.", + "currencyAlreadyAdded": "Die Währung wurde Ihrem Shop bereits hinzugefügt.", + "edit": { + "header": "Shop bearbeiten" + }, + "toast": { + "update": "Shop erfolgreich aktualisiert", + "currenciesUpdated": "Währungen erfolgreich aktualisiert", + "currenciesRemoved": "Währungen wurden erfolgreich aus dem Shop entfernt", + "updatedTaxInclusivitySuccessfully": "Die Preise inklusive Steuern wurden erfolgreich aktualisiert" + } + }, + "regions": { + "domain": "Regionen", + "subtitle": "Eine Region ist ein Gebiet, in dem Sie Produkte verkaufen. Sie kann mehrere Länder umfassen und hat unterschiedliche Steuersätze, Anbieter und Währungen.", + "createRegion": "Region erstellen", + "createRegionHint": "Verwalten Sie Steuersätze und Anbieter für eine Reihe von Ländern.", + "addCountries": "Länder hinzufügen", + "editRegion": "Region bearbeiten", + "countriesHint": "Fügen Sie die in dieser Region enthaltenen Länder hinzu.", + "deleteRegionWarning": "Sie sind dabei, die Region {{name}} zu löschen. Diese Aktion kann nicht rückgängig gemacht werden.", + "removeCountriesWarning_one": "Sie sind dabei, {{count}} Land aus der Region zu entfernen. Diese Aktion kann nicht rückgängig gemacht werden.", + "removeCountriesWarning_other": "Sie sind dabei, {{count}} Länder aus der Region zu entfernen. Diese Aktion kann nicht rückgängig gemacht werden.", + "removeCountryWarning": "Sie sind dabei, das Land {{name}} aus der Region zu entfernen. Diese Aktion kann nicht rückgängig gemacht werden.", + "automaticTaxesHint": "Wenn diese Option aktiviert ist, werden die Steuern beim Bezahlvorgang nur auf Grundlage der Lieferadresse berechnet.", + "taxInclusiveHint": "Wenn diese Option aktiviert ist, verstehen sich die Preise in der Region inklusive Steuern.", + "providersHint": "Fügen Sie hinzu, welche Zahlungsanbieter in dieser Region verfügbar sind.", + "shippingOptions": "Versandoptionen", + "deleteShippingOptionWarning": "Sie sind dabei, die Versandoption {{name}} zu löschen. Diese Aktion kann nicht rückgängig gemacht werden.", + "return": "Zurückkehren", + "outbound": "Ausgehend", + "priceType": "Preisart", + "flatRate": "Pauschale", + "calculated": "Berechnet", + "list": { + "noRecordsMessage": "Erstellen Sie eine Region für die Gebiete, in denen Sie verkaufen." + }, + "toast": { + "delete": "Region erfolgreich gelöscht", + "edit": "Regionsbearbeitung gespeichert", + "create": "Region erfolgreich erstellt", + "countries": "Die Länder der Region wurden erfolgreich aktualisiert" + }, + "shippingOption": { + "createShippingOption": "Versandoption erstellen", + "createShippingOptionHint": "Erstellen Sie eine neue Versandoption für die Region.", + "editShippingOption": "Versandoption bearbeiten", + "fulfillmentMethod": "Erfüllungsmethode", + "type": { + "outbound": "Ausgehend", + "outboundHint": "Verwenden Sie diese Option, wenn Sie eine Versandoption für den Versand von Produkten an den Kunden erstellen.", + "return": "Zurückkehren", + "returnHint": "Verwenden Sie diese Option, wenn Sie eine Versandoption erstellen, damit der Kunde Produkte an Sie zurücksenden kann." + }, + "priceType": { + "label": "Preisart", + "flatRate": "Pauschale", + "calculated": "Berechnet" + }, + "availability": { + "adminOnly": "Nur Administrator", + "adminOnlyHint": "Wenn diese Option aktiviert ist, ist die Versandoption nur im Admin-Dashboard und nicht im Storefront verfügbar." + }, + "taxInclusiveHint": "Wenn diese Option aktiviert ist, versteht sich der Preis der Versandoption inklusive Steuern.", + "requirements": { + "label": "Anforderungen", + "hint": "Geben Sie die Anforderungen für die Versandoption an." + } + } + }, + "taxes": { + "domain": "Steuerregionen", + "domainDescription": "Verwalten Sie Ihre Steuerregion", + "countries": { + "taxCountriesHint": "Die Steuereinstellungen gelten für die aufgeführten Länder." + }, + "settings": { + "editTaxSettings": "Bearbeiten Sie die Steuereinstellungen", + "taxProviderLabel": "Steueranbieter", + "systemTaxProviderLabel": "Systemsteueranbieter", + "calculateTaxesAutomaticallyLabel": "Steuern automatisch berechnen", + "calculateTaxesAutomaticallyHint": "Wenn diese Option aktiviert ist, werden die Steuersätze automatisch berechnet und auf Warenkörbe angewendet. Wenn die Funktion deaktiviert ist, müssen die Steuern an der Kasse manuell berechnet werden. Manuelle Steuern werden für die Verwendung mit externen Steueranbietern empfohlen.", + "applyTaxesOnGiftCardsLabel": "Erheben Sie Steuern auf Geschenkkarten", + "applyTaxesOnGiftCardsHint": "Wenn diese Option aktiviert ist, werden beim Bezahlvorgang Steuern auf Geschenkkarten erhoben. In einigen Ländern schreiben die Steuervorschriften vor, dass beim Kauf von Geschenkkarten Steuern erhoben werden müssen.", + "defaultTaxRateLabel": "Standardsteuersatz", + "defaultTaxCodeLabel": "Standardsteuercode" + }, + "defaultRate": { + "sectionTitle": "Standardsteuersatz" + }, + "taxRate": { + "sectionTitle": "Steuersätze", + "createTaxRate": "Steuersatz erstellen", + "createTaxRateHint": "Erstellen Sie einen neuen Steuersatz für die Region.", + "deleteRateDescription": "Sie sind dabei, den Steuersatz {{name}} zu löschen. Diese Aktion kann nicht rückgängig gemacht werden.", + "editTaxRate": "Steuersatz bearbeiten", + "editRateAction": "Tarif bearbeiten", + "editOverridesAction": "Überschreibungen bearbeiten", + "editOverridesTitle": "Steuersatzüberschreibungen bearbeiten", + "editOverridesHint": "Geben Sie die Überschreibungen für den Steuersatz an.", + "deleteTaxRateWarning": "Sie sind dabei, den Steuersatz {{name}} zu löschen. Diese Aktion kann nicht rückgängig gemacht werden.", + "productOverridesLabel": "Produktüberschreibungen", + "productOverridesHint": "Geben Sie die Produktüberschreibungen für den Steuersatz an.", + "addProductOverridesAction": "Fügen Sie Produktüberschreibungen hinzu", + "productTypeOverridesLabel": "Produkttypüberschreibungen", + "productTypeOverridesHint": "Geben Sie die Produkttypüberschreibungen für den Steuersatz an.", + "addProductTypeOverridesAction": "Fügen Sie Produkttypüberschreibungen hinzu", + "shippingOptionOverridesLabel": "Die Versandoption hat Vorrang", + "shippingOptionOverridesHint": "Geben Sie die Versandoption an, die den Steuersatz überschreibt.", + "addShippingOptionOverridesAction": "Versandoptionsüberschreibungen hinzufügen", + "productOverridesHeader": "Produkte", + "productTypeOverridesHeader": "Produkttypen", + "shippingOptionOverridesHeader": "Versandoptionen" + } + }, + "locations": { + "domain": "Standorte", + "editLocation": "Standort bearbeiten", + "addSalesChannels": "Vertriebskanäle hinzufügen", + "noLocationsFound": "Keine Standorte gefunden", + "selectLocations": "Wählen Sie Standorte aus, an denen der Artikel vorrätig ist.", + "deleteLocationWarning": "Sie sind dabei, den Standort {{name}} zu löschen. Diese Aktion kann nicht rückgängig gemacht werden.", + "removeSalesChannelsWarning_one": "Sie sind dabei, {{count}} Vertriebskanal vom Standort zu entfernen.", + "removeSalesChannelsWarning_other": "Sie sind dabei, {{count}} Vertriebskanäle vom Standort zu entfernen.", + "toast": { + "create": "Standort erfolgreich erstellt", + "update": "Der Standort wurde erfolgreich aktualisiert", + "removeChannel": "Vertriebskanal erfolgreich entfernt" + } + }, + "reservations": { + "domain": "Reservierungen", + "subtitle": "Verwalten Sie die reservierte Menge an Lagerartikeln.", + "deleteWarning": "Sie sind dabei, eine Reservierung zu löschen. Diese Aktion kann nicht rückgängig gemacht werden." + }, + "salesChannels": { + "domain": "Vertriebskanäle", + "subtitle": "Verwalten Sie die Online- und Offline-Kanäle, über die Sie Produkte verkaufen.", + "createSalesChannel": "Erstellen Sie einen Vertriebskanal", + "createSalesChannelHint": "Erstellen Sie einen neuen Vertriebskanal, über den Sie Ihre Produkte verkaufen können.", + "enabledHint": "Geben Sie an, ob der Vertriebskanal aktiviert ist.", + "removeProductsWarning_one": "Sie sind dabei, {{count}} Produkt aus {{sales_channel}} zu entfernen.", + "removeProductsWarning_other": "Sie sind dabei, {{count}} Produkte aus {{sales_channel}} zu entfernen.", + "addProducts": "Produkte hinzufügen", + "editSalesChannel": "Vertriebskanal bearbeiten", + "productAlreadyAdded": "Das Produkt wurde bereits zum Vertriebskanal hinzugefügt.", + "deleteSalesChannelWarning": "Sie sind dabei, den Vertriebskanal {{name}} zu löschen. Diese Aktion kann nicht rückgängig gemacht werden.", + "toast": { + "create": "Vertriebskanal erfolgreich erstellt", + "update": "Vertriebskanal erfolgreich aktualisiert", + "delete": "Vertriebskanal erfolgreich gelöscht" + }, + "products": { + "list": { + "noRecordsMessage": "Es sind keine Produkte im Vertriebskanal vorhanden." + }, + "add": { + "list": { + "noRecordsMessage": "Erstellen Sie zuerst ein Produkt." + } + } + } + }, + "apiKeyManagement": { + "domain": { + "publishable": "Veröffentlichbare API-Schlüssel", + "secret": "Geheime API-Schlüssel" + }, + "subtitle": { + "publishable": "Verwalten Sie in der Storefront verwendete API-Schlüssel, um den Umfang der Anfragen auf bestimmte Vertriebskanäle zu beschränken.", + "secret": "Verwalten Sie API-Schlüssel, die zur Authentifizierung von Administratorbenutzern in Administratoranwendungen verwendet werden." + }, + "status": { + "active": "Aktiv", + "revoked": "Widerrufen" + }, + "type": { + "publishable": "Veröffentlichbar", + "secret": "Geheimnis" + }, + "create": { + "createPublishableHeader": "Erstellen Sie einen veröffentlichbaren API-Schlüssel", + "createPublishableHint": "Erstellen Sie einen neuen veröffentlichbaren API-Schlüssel, um den Umfang der Anfragen auf bestimmte Vertriebskanäle zu beschränken.", + "createSecretHeader": "Erstellen Sie einen geheimen API-Schlüssel", + "createSecretHint": "Erstellen Sie einen neuen geheimen API-Schlüssel, um als authentifizierter Admin-Benutzer auf die Medusa-API zuzugreifen.", + "secretKeyCreatedHeader": "Geheimer Schlüssel erstellt", + "secretKeyCreatedHint": "Ihr neuer geheimer Schlüssel wurde generiert. Jetzt kopieren und sicher aufbewahren. Dies ist das einzige Mal, dass es angezeigt wird.", + "copySecretTokenSuccess": "Der geheime Schlüssel wurde in die Zwischenablage kopiert.", + "copySecretTokenFailure": "Der geheime Schlüssel konnte nicht in die Zwischenablage kopiert werden.", + "successToast": "Der API-Schlüssel wurde erfolgreich erstellt." + }, + "edit": { + "header": "API-Schlüssel bearbeiten", + "description": "Bearbeiten Sie den Titel des API-Schlüssels.", + "successToast": "Der API-Schlüssel {{title}} wurde erfolgreich aktualisiert." + }, + "salesChannels": { + "title": "Vertriebskanäle hinzufügen", + "description": "Fügen Sie die Vertriebskanäle hinzu, auf die der API-Schlüssel beschränkt sein soll.", + "successToast_one": "{{count}} Vertriebskanal wurde erfolgreich zum API-Schlüssel hinzugefügt.", + "successToast_other": "{{count}} Vertriebskanäle wurden erfolgreich zum API-Schlüssel hinzugefügt.", + "alreadyAddedTooltip": "Der Vertriebskanal wurde bereits zum API-Schlüssel hinzugefügt.", + "list": { + "noRecordsMessage": "Im Geltungsbereich des veröffentlichbaren API-Schlüssels gibt es keine Vertriebskanäle." + } + }, + "delete": { + "warning": "Sie sind dabei, den API-Schlüssel {{title}} zu löschen. Diese Aktion kann nicht rückgängig gemacht werden.", + "successToast": "Der API-Schlüssel {{title}} wurde erfolgreich gelöscht." + }, + "revoke": { + "warning": "Sie sind dabei, den API-Schlüssel {{title}} zu widerrufen. Diese Aktion kann nicht rückgängig gemacht werden.", + "successToast": "Der API-Schlüssel {{title}} wurde erfolgreich widerrufen." + }, + "addSalesChannels": { + "list": { + "noRecordsMessage": "Erstellen Sie zunächst einen Vertriebskanal." + } + }, + "removeSalesChannel": { + "warning": "Sie sind dabei, den Vertriebskanal {{name}} aus dem API-Schlüssel zu entfernen. Diese Aktion kann nicht rückgängig gemacht werden.", + "warningBatch_one": "Sie sind dabei, {{count}} Vertriebskanal aus dem API-Schlüssel zu entfernen. Diese Aktion kann nicht rückgängig gemacht werden.", + "warningBatch_other": "Sie sind dabei, {{count}} Vertriebskanäle aus dem API-Schlüssel zu entfernen. Diese Aktion kann nicht rückgängig gemacht werden.", + "successToast": "Der Vertriebskanal wurde erfolgreich aus dem API-Schlüssel entfernt.", + "successToastBatch_one": "{{count}} Vertriebskanal wurde erfolgreich aus dem API-Schlüssel entfernt.", + "successToastBatch_other": "{{count}} Vertriebskanäle wurden erfolgreich aus dem API-Schlüssel entfernt." + }, + "actions": { + "revoke": "API-Schlüssel widerrufen", + "copy": "API-Schlüssel kopieren", + "copySuccessToast": "Der API-Schlüssel wurde in die Zwischenablage kopiert." + }, + "table": { + "lastUsedAtHeader": "Zuletzt verwendet um", + "createdAtHeader": "Widerrufen am" + }, + "fields": { + "lastUsedAtLabel": "Zuletzt verwendet um", + "revokedByLabel": "Widerrufen durch", + "revokedAtLabel": "Widerrufen am", + "createdByLabel": "Erstellt von" + } + }, + "returnReasons": { + "domain": "Rückgabegründe", + "subtitle": "Verwalten Sie die Gründe für zurückgegebene Artikel.", + "calloutHint": "Verwalten Sie die Gründe für die Kategorisierung von Retouren.", + "editReason": "Retourengrund bearbeiten", + "create": { + "header": "Rückgabegrund hinzufügen", + "subtitle": "Geben Sie die häufigsten Gründe für Rücksendungen an.", + "hint": "Erstellen Sie einen neuen Retourengrund, um Retouren zu kategorisieren.", + "successToast": "Rückgabegrund {{label}} wurde erfolgreich erstellt." + }, + "edit": { + "header": "Retourengrund bearbeiten", + "subtitle": "Bearbeiten Sie den Wert des Rückgabegrunds.", + "successToast": "Rückgabegrund {{label}} wurde erfolgreich aktualisiert." + }, + "delete": { + "confirmation": "Sie sind dabei, den Rückgabegrund {{label}} zu löschen. Diese Aktion kann nicht rückgängig gemacht werden.", + "successToast": "Rückgabegrund {{label}} wurde erfolgreich gelöscht." + }, + "fields": { + "value": { + "label": "Wert", + "placeholder": "falsche_Größe", + "tooltip": "Der Wert sollte eine eindeutige Kennung für den Rückgabegrund sein." + }, + "label": { + "label": "Etikett", + "placeholder": "Falsche Größe" + }, + "description": { + "label": "Beschreibung", + "placeholder": "Der Kunde hat die falsche Größe erhalten" + } + } + }, + "login": { + "forgotPassword": "Passwort vergessen? - <0>Zurücksetzen", + "title": "Willkommen bei Medusa", + "hint": "Melden Sie sich an, um auf den Kontobereich zuzugreifen" + }, + "invite": { + "title": "Willkommen bei Medusa", + "hint": "Erstellen Sie unten Ihr Konto", + "backToLogin": "Zurück zum Login", + "createAccount": "Benutzerkonto erstellen", + "alreadyHaveAccount": "Sie haben bereits ein Konto? - <0>Anmelden", + "emailTooltip": "Ihre E-Mail-Adresse kann nicht geändert werden. Wenn Sie eine andere E-Mail-Adresse verwenden möchten, muss eine neue Einladung gesendet werden.", + "invalidInvite": "Die Einladung ist ungültig oder abgelaufen.", + "successTitle": "Ihr Konto wurde registriert", + "successHint": "Beginnen Sie sofort mit Medusa Admin.", + "successAction": "Starten Sie Medusa Admin", + "invalidTokenTitle": "Ihr Einladungstoken ist ungültig", + "invalidTokenHint": "Versuchen Sie, einen neuen Einladungslink anzufordern.", + "passwordMismatch": "Passwörter stimmen nicht überein", + "toast": { + "accepted": "Einladung erfolgreich angenommen" + } + }, + "resetPassword": { + "title": "Passwort zurücksetzen", + "hint": "Geben Sie unten Ihre E-Mail-Adresse ein und wir senden Ihnen Anweisungen zum Zurücksetzen Ihres Passworts.", + "email": "E-Mail", + "sendResetInstructions": "Anweisungen zum Zurücksetzen senden", + "backToLogin": "<0>Zurück zur Anmeldung", + "newPasswordHint": "Wählen Sie unten ein neues Passwort.", + "invalidTokenTitle": "Ihr Reset-Token ist ungültig", + "invalidTokenHint": "Versuchen Sie, einen neuen Link zum Zurücksetzen anzufordern.", + "expiredTokenTitle": "Ihr Reset-Token ist abgelaufen", + "goToResetPassword": "Gehen Sie zu Passwort zurücksetzen", + "resetPassword": "Passwort zurücksetzen", + "newPassword": "Neues Passwort", + "repeatNewPassword": "Neues Passwort wiederholen", + "tokenExpiresIn": "Token läuft in <0>{{time}} Minuten ab", + "successfulRequestTitle": "Ihnen wurde erfolgreich eine E-Mail gesendet", + "successfulRequest": "Wir haben Ihnen eine E-Mail gesendet, mit der Sie Ihr Passwort zurücksetzen können. Überprüfen Sie Ihren Spam-Ordner, wenn Sie die E-Mail nach einigen Minuten noch nicht erhalten haben.", + "successfulResetTitle": "Passwort-Reset erfolgreich", + "successfulReset": "Bitte melden Sie sich auf der Anmeldeseite an.", + "passwordMismatch": "Passwörter stimmen nicht überein", + "invalidLinkTitle": "Ihr Reset-Link ist ungültig", + "invalidLinkHint": "Versuchen Sie erneut, Ihr Passwort zurückzusetzen." + }, + "workflowExecutions": { + "domain": "Arbeitsabläufe", + "subtitle": "Sehen Sie sich Workflow-Ausführungen in Ihrer Medusa-Anwendung an und verfolgen Sie sie.", + "transactionIdLabel": "Transaktions-ID", + "workflowIdLabel": "Workflow-ID", + "progressLabel": "Fortschritt", + "stepsCompletedLabel_one": "{{abgeschlossen}} von {{count}} Schritt", + "stepsCompletedLabel_other": "{{abgeschlossen}} von {{count}} Schritten", + "list": { + "noRecordsMessage": "Es wurden noch keine Workflows ausgeführt." + }, + "history": { + "sectionTitle": "Geschichte", + "runningState": "Läuft...", + "awaitingState": "Warten", + "failedState": "Fehlgeschlagen", + "skippedState": "Übersprungen", + "skippedFailureState": "Übersprungen (Fehler)", + "definitionLabel": "Definition", + "outputLabel": "Ausgabe", + "compensateInputLabel": "Eingabe kompensieren", + "revertedLabel": "Zurückgesetzt", + "errorLabel": "Fehler" + }, + "state": { + "done": "Erledigt", + "failed": "Fehlgeschlagen", + "reverted": "Zurückgesetzt", + "invoking": "Aufrufen", + "compensating": "Kompensierend", + "notStarted": "Nicht gestartet" + }, + "transaction": { + "state": { + "waitingToCompensate": "Ich warte auf eine Entschädigung" + } + }, + "step": { + "state": { + "skipped": "Übersprungen", + "skippedFailure": "Übersprungen (Fehler)", + "dormant": "Ruhend", + "timeout": "Time-out" + } + } + }, + "productTypes": { + "domain": "Produkttypen", + "subtitle": "Organisieren Sie Ihre Produkte in Typen.", + "create": { + "header": "Produkttyp erstellen", + "hint": "Erstellen Sie einen neuen Produkttyp, um Ihre Produkte zu kategorisieren.", + "successToast": "Der Produkttyp {{value}} wurde erfolgreich erstellt." + }, + "edit": { + "header": "Produkttyp bearbeiten", + "successToast": "Der Produkttyp {{value}} wurde erfolgreich aktualisiert." + }, + "delete": { + "confirmation": "Sie sind dabei, den Produkttyp {{value}} zu löschen. Diese Aktion kann nicht rückgängig gemacht werden.", + "successToast": "Der Produkttyp {{value}} wurde erfolgreich gelöscht." + }, + "fields": { + "value": "Wert" + } + }, + "productTags": { + "domain": "Produkt-Tags", + "create": { + "header": "Produkt-Tag erstellen", + "subtitle": "Erstellen Sie ein neues Produkt-Tag, um Ihre Produkte zu kategorisieren.", + "successToast": "Das Produkt-Tag {{value}} wurde erfolgreich erstellt." + }, + "edit": { + "header": "Produkt-Tag bearbeiten", + "subtitle": "Bearbeiten Sie den Wert des Produkt-Tags.", + "successToast": "Das Produkt-Tag {{value}} wurde erfolgreich aktualisiert." + }, + "delete": { + "confirmation": "Sie sind dabei, das Produkt-Tag {{value}} zu löschen. Diese Aktion kann nicht rückgängig gemacht werden.", + "successToast": "Das Produkt-Tag {{value}} wurde erfolgreich gelöscht." + }, + "fields": { + "value": "Wert" + } + }, + "notifications": { + "domain": "Benachrichtigungen", + "emptyState": { + "title": "Keine Benachrichtigungen", + "description": "Sie haben im Moment keine Benachrichtigungen, aber sobald Sie dies tun, werden sie hier angezeigt." + }, + "accessibility": { + "description": "Benachrichtigungen über Medusa-Aktivitäten werden hier aufgelistet." + } + }, + "errors": { + "serverError": "Serverfehler – Versuchen Sie es später noch einmal.", + "invalidCredentials": "Falsche E-Mail oder Passwort" + }, + "statuses": { + "scheduled": "Geplant", + "expired": "Abgelaufen", + "active": "Aktiv", + "enabled": "Ermöglicht", + "disabled": "Deaktiviert" + }, + "labels": { + "productVariant": "Produktvariante", + "prices": "Preise", + "available": "Verfügbar", + "inStock": "Auf Lager", + "added": "Hinzugefügt", + "removed": "ENTFERNT" + }, + "fields": { + "amount": "Menge", + "refundAmount": "Rückerstattungsbetrag", + "name": "Name", + "default": "Standard", + "lastName": "Nachname", + "firstName": "Vorname", + "title": "Titel", + "customTitle": "Benutzerdefinierter Titel", + "manageInventory": "Inventar verwalten", + "inventoryKit": "Mit Inventarset", + "inventoryItems": "Inventargegenstände", + "inventoryItem": "Inventargegenstand", + "requiredQuantity": "Benötigte Menge", + "description": "Beschreibung", + "email": "E-Mail", + "password": "Passwort", + "repeatPassword": "Passwort wiederholen", + "confirmPassword": "Passwort bestätigen", + "newPassword": "Neues Passwort", + "repeatNewPassword": "Neues Passwort wiederholen", + "categories": "Kategorien", + "shippingMethod": "Versandart", + "configurations": "Konfigurationen", + "conditions": "Bedingungen", + "category": "Kategorie", + "collection": "Sammlung", + "discountable": "Rabattierbar", + "handle": "Handhaben", + "subtitle": "Untertitel", + "item": "Artikel", + "qty": "Menge.", + "limit": "Limit", + "tags": "Schlagworte", + "type": "Typ", + "reason": "Grund", + "none": "keiner", + "all": "alle", + "search": "Suchen", + "percentage": "Prozentsatz", + "sales_channels": "Vertriebskanäle", + "customer_groups": "Kundengruppen", + "product_tags": "Produkt-Tags", + "product_types": "Produkttypen", + "product_collections": "Produktkollektionen", + "status": "Status", + "code": "Code", + "value": "Wert", + "disabled": "Deaktiviert", + "dynamic": "Dynamisch", + "normal": "Normal", + "years": "Jahre", + "months": "Monate", + "days": "Tage", + "hours": "Std", + "minutes": "Minuten", + "totalRedemptions": "Gesamteinlösungen", + "countries": "Länder", + "paymentProviders": "Zahlungsanbieter", + "refundReason": "Rückerstattungsgrund", + "fulfillmentProviders": "Fulfillment-Anbieter", + "fulfillmentProvider": "Fulfillment-Anbieter", + "providers": "Anbieter", + "availability": "Verfügbarkeit", + "inventory": "Inventar", + "optional": "Optional", + "note": "Notiz", + "automaticTaxes": "Automatische Steuern", + "taxInclusivePricing": "Preise inklusive Steuern", + "currency": "Währung", + "address": "Adresse", + "address2": "Apartment, Suite usw.", + "city": "Stadt", + "postalCode": "Postleitzahl", + "country": "Land", + "state": "Zustand", + "province": "Provinz", + "company": "Unternehmen", + "phone": "Telefon", + "metadata": "Metadaten", + "selectCountry": "Land auswählen", + "products": "Produkte", + "variants": "Varianten", + "orders": "Bestellungen", + "account": "Konto", + "total": "Bestellsumme", + "paidTotal": "Insgesamt erfasst", + "totalExclTax": "Gesamt exkl. Steuer", + "subtotal": "Zwischensumme", + "shipping": "Versand", + "outboundShipping": "Ausgehender Versand", + "returnShipping": "Rückversand", + "tax": "Steuer", + "created": "Erstellt", + "key": "Schlüssel", + "customer": "Kunde", + "date": "Datum", + "order": "Befehl", + "fulfillment": "Erfüllung", + "provider": "Anbieter", + "payment": "Zahlung", + "items": "Artikel", + "salesChannel": "Vertriebskanal", + "region": "Region", + "discount": "Rabatt", + "role": "Rolle", + "sent": "Gesendet", + "salesChannels": "Vertriebskanäle", + "product": "Produkt", + "createdAt": "Erstellt", + "updatedAt": "Aktualisiert", + "revokedAt": "Widerrufen am", + "true": "WAHR", + "false": "FALSCH", + "giftCard": "Geschenkkarte", + "tag": "Etikett", + "dateIssued": "Ausstellungsdatum", + "issuedDate": "Ausstellungsdatum", + "expiryDate": "Verfallsdatum", + "price": "Preis", + "priceTemplate": "Preis {{regionOrCurrency}}", + "height": "Höhe", + "width": "Breite", + "length": "Länge", + "weight": "Gewicht", + "midCode": "MID-Code", + "hsCode": "HS-Code", + "ean": "EAN", + "upc": "UPC", + "inventoryQuantity": "Bestandsmenge", + "barcode": "Barcode", + "countryOfOrigin": "Ursprungsland", + "material": "Material", + "thumbnail": "Miniaturansicht", + "sku": "Artikelnummer", + "managedInventory": "Verwalteter Bestand", + "allowBackorder": "Rückstand zulassen", + "inStock": "Auf Lager", + "location": "Standort", + "quantity": "Menge", + "variant": "Variante", + "id": "AUSWEIS", + "parent": "Elternteil", + "minSubtotal": "Min. Zwischensumme", + "maxSubtotal": "Max. Zwischensumme", + "shippingProfile": "Versandprofil", + "summary": "Zusammenfassung", + "details": "Einzelheiten", + "label": "Etikett", + "rate": "Rate", + "requiresShipping": "Erfordert Versand", + "unitPrice": "Stückpreis", + "startDate": "Startdatum", + "endDate": "Enddatum", + "draft": "Entwurf", + "values": "Werte" + }, + "dateTime": { + "years_one": "Jahr", + "years_other": "Jahre", + "months_one": "Monat", + "months_other": "Monate", + "weeks_one": "Woche", + "weeks_other": "Wochen", + "days_one": "Tag", + "days_other": "Tage", + "hours_one": "Stunde", + "hours_other": "Stunden", + "minutes_one": "Minute", + "minutes_other": "Minuten", + "seconds_one": "Zweite", + "seconds_other": "Sekunden" + } +} diff --git a/packages/admin/dashboard/src/i18n/translations/index.ts b/packages/admin/dashboard/src/i18n/translations/index.ts index 746565cee9558..e71d4f35d846b 100644 --- a/packages/admin/dashboard/src/i18n/translations/index.ts +++ b/packages/admin/dashboard/src/i18n/translations/index.ts @@ -1,10 +1,19 @@ +import de from "./de.json" import en from "./en.json" import pl from "./pl.json" +import tr from "./tr.json" + export default { en: { translation: en, }, + de: { + translation: de, + }, pl: { translation: pl, }, + tr: { + translation: tr, + }, } diff --git a/packages/admin/dashboard/src/i18n/translations/tr.json b/packages/admin/dashboard/src/i18n/translations/tr.json new file mode 100644 index 0000000000000..9812581eb797a --- /dev/null +++ b/packages/admin/dashboard/src/i18n/translations/tr.json @@ -0,0 +1,2755 @@ +{ + "$schema": "./$schema.json", + "general": { + "ascending": "Artan", + "descending": "Azalan", + "add": "Ekle", + "start": "Başla", + "end": "Bitiş", + "open": "Aç", + "close": "Kapat", + "apply": "Uygula", + "range": "Aralık", + "search": "Ara", + "of": "arasında", + "results": "sonuçlar", + "pages": "sayfalar", + "next": "Sonraki", + "prev": "Önceki", + "is": "olduğunda", + "timeline": "Zaman Çizelgesi", + "success": "Başarılı", + "warning": "Uyarı", + "tip": "İpucu", + "error": "Hata", + "select": "Seç", + "selected": "Seçildi", + "enabled": "Etkin", + "disabled": "Devre Dışı", + "expired": "Süresi Dolmuş", + "active": "Aktif", + "revoked": "İptal Edildi", + "new": "Yeni", + "modified": "Değiştirildi", + "added": "Eklendi", + "removed": "Kaldırıldı", + "admin": "Yönetici", + "store": "Mağaza", + "details": "Detaylar", + "items_one": "{{count}} ürün", + "items_other": "{{count}} ürün", + "countSelected": "{{count}} seçildi", + "countOfTotalSelected": "{{total}} arasından {{count}} seçildi", + "plusCount": "+ {{count}}", + "plusCountMore": "+ {{count}} daha fazla", + "areYouSure": "Emin misiniz?", + "noRecordsFound": "Kayıt bulunamadı", + "typeToConfirm": "{val} yazın ve onaylayın:", + "noResultsTitle": "Sonuç Yok", + "noResultsMessage": "Filtreleri veya arama sorgusunu değiştirmeyi deneyin", + "noSearchResults": "Arama sonucu yok", + "noSearchResultsFor": "<0>'{{query}}' için sonuç yok", + "noRecordsTitle": "Kayıt Yok", + "noRecordsMessage": "Gösterilecek kayıt yok", + "unsavedChangesTitle": "Bu formdan çıkmak istediğinizden emin misiniz?", + "unsavedChangesDescription": "Kaydedilmemiş değişiklikleriniz kaybolacak.", + "includesTaxTooltip": "Bu sütundaki fiyatlar vergiler dahil fiyatlardır.", + "excludesTaxTooltip": "Bu sütundaki fiyatlar vergiler hariç fiyatlardır.", + "noMoreData": "Daha fazla veri yok" + }, + "json": { + "header": "JSON", + "numberOfKeys_one": "{{count}} anahtar", + "numberOfKeys_other": "{{count}} anahtar", + "drawer": { + "header_one": "JSON <0>· {{count}} anahtar", + "header_other": "JSON <0>· {{count}} anahtar", + "description": "Bu nesnenin JSON verilerini görüntüleyin." + } + }, + "metadata": { + "header": "Meta Veriler", + "numberOfKeys_one": "{{count}} anahtar", + "numberOfKeys_other": "{{count}} anahtar", + "edit": { + "header": "Meta Verileri Düzenle", + "description": "Bu nesnenin meta verilerini düzenleyin.", + "successToast": "Meta veriler başarıyla güncellendi.", + "actions": { + "insertRowAbove": "Üstüne satır ekle", + "insertRowBelow": "Altına satır ekle", + "deleteRow": "Satırı sil" + }, + "labels": { + "key": "Anahtar", + "value": "Değer" + }, + "complexRow": { + "label": "Bazı satırlar devre dışı", + "description": "Bu nesne, düzenlenemeyen dizi veya nesneler gibi ilkel olmayan meta veriler içeriyor. Devre dışı satırları düzenlemek için API'yi kullanın.", + "tooltip": "Bu satır, ilkel olmayan veri içerdiği için devre dışıdır." + } + } + }, + "validation": { + "mustBeInt": "Değer tam sayı olmalıdır.", + "mustBePositive": "Değer pozitif bir sayı olmalıdır." + }, + "actions": { + "save": "Kaydet", + "saveAsDraft": "Taslak olarak kaydet", + "copy": "Kopyala", + "copied": "Kopyalandı", + "duplicate": "Çoğalt", + "publish": "Yayınla", + "create": "Oluştur", + "delete": "Sil", + "remove": "Kaldır", + "revoke": "İptal Et", + "cancel": "İptal", + "forceConfirm": "Zorla Onayla", + "continueEdit": "Düzenlemeye Devam Et", + "enable": "Etkinleştir", + "disable": "Devre Dışı Bırak", + "undo": "Geri Al", + "complete": "Tamamla", + "viewDetails": "Detayları Görüntüle", + "back": "Geri", + "close": "Kapat", + "showMore": "Daha Fazla Göster", + "continue": "Devam Et", + "continueWithEmail": "E-posta ile Devam Et", + "idCopiedToClipboard": "ID panoya kopyalandı", + "addReason": "Sebep Ekle", + "addNote": "Not Ekle", + "reset": "Sıfırla", + "confirm": "Onayla", + "edit": "Düzenle", + "addItems": "Ürünler Ekle", + "download": "İndir", + "clear": "Temizle", + "clearAll": "Tümünü Temizle", + "apply": "Uygula", + "add": "Ekle", + "select": "Seç", + "browse": "Gözat", + "logout": "Çıkış Yap", + "hide": "Gizle", + "export": "Dışa Aktar", + "import": "İçe Aktar" + }, + "operators": { + "in": "İçinde" + }, + "app": { + "search": { + "label": "Arama", + "title": "Arama", + "description": "Tüm mağazanızda siparişler, ürünler, müşteriler ve daha fazlasını arayın.", + "allAreas": "Tüm Alanlar", + "navigation": "Navigasyon", + "openResult": "Sonucu Aç", + "showMore": "Daha Fazla Göster", + "placeholder": "Bir şeye atlayın veya bir şey bulun...", + "noResultsTitle": "Sonuç bulunamadı", + "noResultsMessage": "Aramanıza uyan bir şey bulamadık.", + "emptySearchTitle": "Aramak için yazın", + "emptySearchMessage": "Keşfetmek için bir anahtar kelime veya ifade girin.", + "loadMore": "{{count}} daha yükle", + "groups": { + "all": "Tüm Alanlar", + "customer": "Müşteriler", + "customerGroup": "Müşteri Grupları", + "product": "Ürünler", + "productVariant": "Ürün Varyantları", + "inventory": "Envanter", + "reservation": "Rezervasyonlar", + "category": "Kategoriler", + "collection": "Koleksiyonlar", + "order": "Siparişler", + "promotion": "Promosyonlar", + "campaign": "Kampanyalar", + "priceList": "Fiyat Listeleri", + "user": "Kullanıcılar", + "region": "Bölgeler", + "taxRegion": "Vergi Bölgeleri", + "returnReason": "İade Nedenleri", + "salesChannel": "Satış Kanalları", + "productType": "Ürün Tipleri", + "productTag": "Ürün Etiketleri", + "location": "Konumlar", + "shippingProfile": "Kargo Profilleri", + "publishableApiKey": "Yayınlanabilir API Anahtarları", + "secretApiKey": "Gizli API Anahtarları", + "command": "Komutlar", + "navigation": "Navigasyon" + } + }, + "keyboardShortcuts": { + "pageShortcut": "Sayfaya Git", + "settingShortcut": "Ayarlar", + "commandShortcut": "Komutlar", + "then": "sonra", + "navigation": { + "goToOrders": "Siparişler", + "goToProducts": "Ürünler", + "goToCollections": "Koleksiyonlar", + "goToCategories": "Kategoriler", + "goToCustomers": "Müşteriler", + "goToCustomerGroups": "Müşteri Grupları", + "goToInventory": "Envanter", + "goToReservations": "Rezervasyonlar", + "goToPriceLists": "Fiyat Listeleri", + "goToPromotions": "Promosyonlar", + "goToCampaigns": "Kampanyalar" + }, + "settings": { + "goToSettings": "Ayarlar", + "goToStore": "Mağaza", + "goToUsers": "Kullanıcılar", + "goToRegions": "Bölgeler", + "goToTaxRegions": "Vergi Bölgeleri", + "goToSalesChannels": "Satış Kanalları", + "goToProductTypes": "Ürün Tipleri", + "goToLocations": "Konumlar", + "goToPublishableApiKeys": "Yayınlanabilir API Anahtarları", + "goToSecretApiKeys": "Gizli API Anahtarları", + "goToWorkflows": "İş Akışları", + "goToProfile": "Profil", + "goToReturnReasons": "İade Nedenleri" + } + }, + "menus": { + "user": { + "documentation": "Dokümantasyon", + "changelog": "Güncellemeler", + "shortcuts": "Kısayollar", + "profileSettings": "Profil Ayarları", + "theme": { + "label": "Tema", + "dark": "Karanlık", + "light": "Aydınlık", + "system": "Sistem" + } + }, + "store": { + "label": "Mağaza", + "storeSettings": "Mağaza Ayarları" + }, + "actions": { + "logout": "Çıkış Yap" + } + }, + "nav": { + "accessibility": { + "title": "Navigasyon", + "description": "Gösterge paneli için navigasyon menüsü." + }, + "common": { + "extensions": "Eklentiler" + }, + "main": { + "store": "Mağaza", + "storeSettings": "Mağaza Ayarları" + }, + "settings": { + "header": "Ayarlar", + "general": "Genel", + "developer": "Geliştirici", + "myAccount": "Hesabım" + } + } + }, + "dataGrid": { + "columns": { + "view": "Görüntüle", + "resetToDefault": "Varsayılana Sıfırla", + "disabled": "Görüntülenen sütunların değiştirilmesi devre dışı bırakılmıştır." + }, + "shortcuts": { + "label": "Kısayollar", + "commands": { + "undo": "Geri Al", + "redo": "Yinele", + "copy": "Kopyala", + "paste": "Yapıştır", + "edit": "Düzenle", + "delete": "Sil", + "clear": "Temizle", + "moveUp": "Yukarı Taşı", + "moveDown": "Aşağı Taşı", + "moveLeft": "Sola Taşı", + "moveRight": "Sağa Taşı", + "moveTop": "En Üste Taşı", + "moveBottom": "En Alta Taşı", + "selectDown": "Aşağı Seç", + "selectUp": "Yukarı Seç", + "selectColumnDown": "Sütunu Aşağı Seç", + "selectColumnUp": "Sütunu Yukarı Seç", + "focusToolbar": "Araç Çubuğuna Odaklan", + "focusCancel": "Odak İptal" + } + }, + "errors": { + "fixError": "Hatasını Düzelt", + "count_one": "{{count}} hata", + "count_other": "{{count}} hata" + } + }, + "filters": { + "date": { + "today": "Bugün", + "lastSevenDays": "Son 7 gün", + "lastThirtyDays": "Son 30 gün", + "lastNinetyDays": "Son 90 gün", + "lastTwelveMonths": "Son 12 ay", + "custom": "Özel", + "from": "Başlangıç", + "to": "Bitiş" + }, + "compare": { + "lessThan": "Küçüktür", + "greaterThan": "Büyüktür", + "exact": "Tam", + "range": "Aralık", + "lessThanLabel": "{{value}}'den küçük", + "greaterThanLabel": "{{value}}'den büyük", + "andLabel": "ve" + }, + "addFilter": "Filtre Ekle" + }, + "errorBoundary": { + "badRequestTitle": "400 - Hatalı İstek", + "badRequestMessage": "Sunucu, hatalı bir sözdizimi nedeniyle isteği anlayamadı.", + "notFoundTitle": "404 - Bu adreste bir sayfa yok", + "notFoundMessage": "URL'yi kontrol edin ve tekrar deneyin veya arama çubuğunu kullanarak aradığınız şeyi bulun.", + "internalServerErrorTitle": "500 - Dahili Sunucu Hatası", + "internalServerErrorMessage": "Sunucuda beklenmeyen bir hata oluştu. Lütfen daha sonra tekrar deneyin.", + "defaultTitle": "Bir hata oluştu", + "defaultMessage": "Bu sayfa oluşturulurken beklenmeyen bir hata meydana geldi.", + "noMatchMessage": "Aradığınız sayfa mevcut değil.", + "backToDashboard": "Gösterge Paneline Dön" + }, + "addresses": { + "shippingAddress": { + "header": "Teslimat Adresi", + "editHeader": "Teslimat Adresini Düzenle", + "editLabel": "Teslimat adresi", + "label": "Teslimat adresi" + }, + "billingAddress": { + "header": "Fatura Adresi", + "editHeader": "Fatura Adresini Düzenle", + "editLabel": "Fatura adresi", + "label": "Fatura adresi", + "sameAsShipping": "Teslimat adresi ile aynı" + }, + "contactHeading": "İletişim", + "locationHeading": "Konum" + }, + "email": { + "editHeader": "E-postayı Düzenle", + "editLabel": "E-posta", + "label": "E-posta" + }, + "transferOwnership": { + "header": "Sahipliği Aktar", + "label": "Sahipliği aktar", + "details": { + "order": "Sipariş detayları", + "draft": "Taslak detayları" + }, + "currentOwner": { + "label": "Mevcut sahip", + "hint": "Siparişin mevcut sahibi." + }, + "newOwner": { + "label": "Yeni sahip", + "hint": "Siparişin aktarılacağı yeni sahip." + }, + "validation": { + "mustBeDifferent": "Yeni sahip, mevcut sahipten farklı olmalıdır.", + "required": "Yeni sahip zorunludur." + } + }, + "sales_channels": { + "availableIn": "<0>{{x}} satış kanalından <1>{{y}} tanesinde mevcut" + }, + "products": { + "domain": "Ürünler", + "list": { + "noRecordsMessage": "Satışa başlamak için ilk ürününüzü oluşturun." + }, + "edit": { + "header": "Ürünü Düzenle", + "description": "Ürün detaylarını düzenleyin.", + "successToast": "Ürün {{title}} başarıyla güncellendi." + }, + "create": { + "header": "Genel", + "tabs": { + "details": "Detaylar", + "organize": "Organize Et", + "variants": "Varyantlar", + "inventory": "Envanter Kitleri" + }, + "errors": { + "variants": "Lütfen en az bir varyant seçin.", + "options": "Lütfen en az bir seçenek oluşturun.", + "uniqueSku": "SKU benzersiz olmalıdır." + }, + "inventory": { + "heading": "Envanter Kitleri", + "label": "Varyantın envanter kitine envanter öğeleri ekleyin.", + "itemPlaceholder": "Envanter öğesi seçin", + "quantityPlaceholder": "Kit için kaç tane gerektiğini belirtin." + }, + "variants": { + "header": "Varyantlar", + "subHeadingTitle": "Evet, bu bir varyantlı ürün", + "subHeadingDescription": "İşaretlenmediğinde, sizin için varsayılan bir varyant oluşturacağız", + "optionTitle": { + "placeholder": "Beden" + }, + "optionValues": { + "placeholder": "Küçük, Orta, Büyük" + }, + "productVariants": { + "label": "Ürün varyantları", + "hint": "Bu sıralama, varyantların mağazanızdaki sırasını etkileyecektir.", + "alert": "Varyantlar oluşturmak için seçenekler ekleyin.", + "tip": "İşaretlenmeyen varyantlar oluşturulmayacaktır. Ürün seçeneklerinizdeki varyasyonları bu listeye uyacak şekilde oluşturup düzenleyebilirsiniz." + }, + "productOptions": { + "label": "Ürün seçenekleri", + "hint": "Ürün için seçenekleri belirleyin, örneğin renk, boyut vb." + } + }, + "successToast": "Ürün {{title}} başarıyla oluşturuldu." + }, + "export": { + "header": "Ürün Listesini Dışa Aktar", + "description": "Ürün listesini bir CSV dosyasına dışa aktarın.", + "success": { + "title": "Dışa aktarma işleminiz işleniyor", + "description": "Veri dışa aktarımı birkaç dakika sürebilir. İşlem tamamlandığında size bildireceğiz." + }, + "filters": { + "title": "Filtreler", + "description": "Bu görünümü ayarlamak için tablo görünümünde filtreleri uygulayın" + }, + "columns": { + "title": "Sütunlar", + "description": "Belirli ihtiyaçları karşılamak için dışa aktarılan verileri özelleştirin" + } + }, + "import": { + "header": "Ürün Listesini İçe Aktar", + "uploadLabel": "Ürünleri İçe Aktar", + "uploadHint": "Bir CSV dosyasını sürükleyip bırakın veya yüklemek için tıklayın", + "description": "Ürünleri, önceden tanımlanmış bir formatta bir CSV dosyası sağlayarak içe aktarın", + "template": { + "title": "Listenizi nasıl düzenleyeceğinizden emin değil misiniz?", + "description": "Doğru formatı takip ettiğinizden emin olmak için aşağıdaki şablonu indirin." + }, + "upload": { + "title": "Bir CSV dosyası yükleyin", + "description": "İçe aktarma yoluyla ürün ekleyebilir veya güncelleyebilirsiniz. Mevcut ürünleri güncellemek için mevcut tutamaç ve ID'yi, mevcut varyantları güncellemek için mevcut ID'yi kullanmanız gerekmektedir. Ürünleri içe aktarmadan önce sizden onay istenecektir.", + "preprocessing": "Ön işleme...", + "productsToCreate": "Ürünler oluşturulacak", + "productsToUpdate": "Ürünler güncellenecek" + }, + "success": { + "title": "İçe aktarma işleminiz işleniyor", + "description": "Veri içe aktarma bir süre alabilir. İşlem tamamlandığında size bildireceğiz." + } + }, + "deleteWarning": "Ürün {{title}}'i silmek üzeresiniz. Bu işlem geri alınamaz.", + "variants": "Varyantlar", + "attributes": "Öznitelikler", + "editAttributes": "Öznitelikleri Düzenle", + "editOptions": "Seçenekleri Düzenle", + "editPrices": "Fiyatları düzenle", + "media": { + "label": "Medya", + "editHint": "Ürünü mağazanızda sergilemek için medya ekleyin.", + "makeThumbnail": "Küçük resim yap", + "uploadImagesLabel": "Resimleri yükle", + "uploadImagesHint": "Resimleri buraya sürükleyip bırakın veya yüklemek için tıklayın.", + "invalidFileType": "'{{name}}' desteklenmeyen bir dosya türüdür. Desteklenen dosya türleri: {{types}}.", + "failedToUpload": "Eklenen medya yüklenemedi. Lütfen tekrar deneyin.", + "deleteWarning_one": "{{count}} resmi silmek üzeresiniz. Bu işlem geri alınamaz.", + "deleteWarning_other": "{{count}} resmi silmek üzeresiniz. Bu işlem geri alınamaz.", + "deleteWarningWithThumbnail_one": "Küçük resim dahil {{count}} resmi silmek üzeresiniz. Bu işlem geri alınamaz.", + "deleteWarningWithThumbnail_other": "Küçük resim dahil {{count}} resmi silmek üzeresiniz. Bu işlem geri alınamaz.", + "thumbnailTooltip": "Küçük resim", + "galleryLabel": "Galeri", + "downloadImageLabel": "Mevcut resmi indir", + "deleteImageLabel": "Mevcut resmi sil", + "emptyState": { + "header": "Henüz medya yok", + "description": "Ürünü mağazanızda sergilemek için medya ekleyin.", + "action": "Medya ekle" + } + }, + "discountableHint": "İşaretlenmediğinde, bu ürüne indirim uygulanmayacaktır.", + "noSalesChannels": "Hiçbir satış kanalında mevcut değil", + "variantCount_one": "{{count}} varyant", + "variantCount_other": "{{count}} varyant", + "deleteVariantWarning": "Varyant {{title}}'i silmek üzeresiniz. Bu işlem geri alınamaz.", + "productStatus": { + "draft": "Taslak", + "published": "Yayınlandı", + "proposed": "Önerildi", + "rejected": "Reddedildi" + }, + "fields": { + "title": { + "label": "Başlık", + "hint": "Ürününüz için kısa ve net bir başlık verin.<0/> Arama motorları için önerilen uzunluk 50-60 karakterdir." + }, + "subtitle": { + "label": "Alt Başlık" + }, + "handle": { + "label": "Tutamak", + "tooltip": "Tutamak, ürünü mağazanızda referans almak için kullanılır. Belirtilmediğinde, ürün başlığından oluşturulacaktır." + }, + "description": { + "label": "Açıklama", + "hint": "Ürününüz için kısa ve net bir açıklama verin.<0/> Arama motorları için önerilen uzunluk 120-160 karakterdir." + }, + "discountable": { + "label": "İndirim Uygulanabilir", + "hint": "İşaretlenmediğinde, bu ürüne indirim uygulanmaz." + }, + "type": { + "label": "Tür" + }, + "collection": { + "label": "Koleksiyon" + }, + "categories": { + "label": "Kategoriler" + }, + "tags": { + "label": "Etiketler" + }, + "sales_channels": { + "label": "Satış kanalları", + "hint": "Bu ürün yalnızca varsayılan satış kanalında mevcut olacaktır." + }, + "countryOrigin": { + "label": "Menşe Ülke" + }, + "material": { + "label": "Malzeme" + }, + "width": { + "label": "Genişlik" + }, + "length": { + "label": "Uzunluk" + }, + "height": { + "label": "Yükseklik" + }, + "weight": { + "label": "Ağırlık" + }, + "options": { + "label": "Ürün seçenekleri", + "hint": "Ürünün rengini, boyutunu vb. tanımlamak için kullanılır.", + "add": "Seçenek ekle", + "optionTitle": "Seçenek başlığı", + "optionTitlePlaceholder": "Renk", + "variations": "Varyasyonlar (virgülle ayrılmış)", + "variantionsPlaceholder": "Kırmızı, Mavi, Yeşil" + }, + "variants": { + "label": "Ürün varyantları", + "hint": "İşaretlenmeyen varyantlar oluşturulmayacaktır. Bu sıralama varyantların ön uçtaki sıralamasını etkiler." + }, + "mid_code": { + "label": "Mid kodu" + }, + "hs_code": { + "label": "HS kodu" + } + }, + "variant": { + "edit": { + "header": "Varyantı Düzenle", + "success": "Ürün varyantı başarıyla düzenlendi" + }, + "create": { + "header": "Varyant detayları" + }, + "deleteWarning": "Bu varyantı silmek istediğinizden emin misiniz?", + "pricesPagination": "1 - {{current}} / {{total}} fiyatlar", + "tableItemAvailable": "{{availableCount}} mevcut", + "tableItem_one": "{{availableCount}} öğesi {{locationCount}} konumda mevcut", + "tableItem_other": "{{availableCount}} öğesi {{locationCount}} konumda mevcut", + "inventory": { + "notManaged": "Yönetilmiyor", + "manageItems": "Envanter öğelerini yönet", + "notManagedDesc": "Bu varyant için envanter yönetilmiyor. Envanteri izlemek için 'Envanteri Yönet' özelliğini açın.", + "manageKit": "Envanter kitini yönet", + "navigateToItem": "Envanter öğesine git", + "actions": { + "inventoryItems": "Envanter öğesine git", + "inventoryKit": "Envanter öğelerini göster" + }, + "inventoryKit": "Envanter Kiti", + "inventoryKitHint": "Bu varyant birkaç envanter öğesinden mi oluşuyor?", + "validation": { + "itemId": "Lütfen envanter öğesini seçin.", + "quantity": "Miktar zorunludur. Lütfen pozitif bir sayı girin." + }, + "header": "Stok & Envanter", + "editItemDetails": "Öğe detaylarını düzenle", + "manageInventoryLabel": "Envanteri yönet", + "manageInventoryHint": "Etkinleştirildiğinde, siparişler ve iadeler oluşturulduğunda envanter miktarını sizin için değiştireceğiz.", + "allowBackordersLabel": "Geri siparişlere izin ver", + "allowBackordersHint": "Etkinleştirildiğinde, müşteriler mevcut miktar olmasa bile varyantı satın alabilir.", + "toast": { + "levelsBatch": "Envanter seviyeleri güncellendi.", + "update": "Envanter öğesi başarıyla güncellendi.", + "updateLevel": "Envanter seviyesi başarıyla güncellendi.", + "itemsManageSuccess": "Envanter öğeleri başarıyla güncellendi." + } + } + }, + "options": { + "header": "Seçenekler", + "edit": { + "header": "Seçeneği Düzenle", + "successToast": "Seçenek {{title}} başarıyla güncellendi." + }, + "create": { + "header": "Seçenek Oluştur", + "successToast": "Seçenek {{title}} başarıyla oluşturuldu." + }, + "deleteWarning": "Ürün seçeneğini silmek üzeresiniz: {{title}}. Bu işlem geri alınamaz." + }, + "organization": { + "header": "Organize Et", + "edit": { + "header": "Organizasyonu Düzenle", + "toasts": { + "success": "{{title}}'in organizasyonu başarıyla güncellendi." + } + } + }, + "toasts": { + "delete": { + "success": { + "header": "Ürün silindi", + "description": "{{title}} başarıyla silindi." + }, + "error": { + "header": "Ürün silinemedi" + } + } + } + }, + "collections": { + "domain": "Koleksiyonlar", + "subtitle": "Ürünleri koleksiyonlar halinde organize edin.", + "createCollection": "Koleksiyon Oluştur", + "createCollectionHint": "Ürünlerinizi organize etmek için yeni bir koleksiyon oluşturun.", + "createSuccess": "Koleksiyon başarıyla oluşturuldu.", + "editCollection": "Koleksiyonu Düzenle", + "handleTooltip": "Tutamak, koleksiyonu mağazanızda referans almak için kullanılır. Belirtilmezse, koleksiyon başlığından oluşturulacaktır.", + "deleteWarning": "Koleksiyon {{title}}'i silmek üzeresiniz. Bu işlem geri alınamaz.", + "removeSingleProductWarning": "Ürünü koleksiyondan kaldırmak üzeresiniz: {{title}}. Bu işlem geri alınamaz.", + "removeProductsWarning_one": "{{count}} ürünü koleksiyondan kaldırmak üzeresiniz. Bu işlem geri alınamaz.", + "removeProductsWarning_other": "{{count}} ürünü koleksiyondan kaldırmak üzeresiniz. Bu işlem geri alınamaz.", + "products": { + "list": { + "noRecordsMessage": "Koleksiyonda ürün yok." + }, + "add": { + "successToast_one": "Ürün koleksiyona başarıyla eklendi.", + "successToast_other": "Ürünler koleksiyona başarıyla eklendi." + }, + "remove": { + "successToast_one": "Ürün koleksiyondan başarıyla kaldırıldı.", + "successToast_other": "Ürünler koleksiyondan başarıyla kaldırıldı." + } + } + }, + "categories": { + "domain": "Kategoriler", + "subtitle": "Ürünleri kategoriler halinde organize edin ve bu kategorilerin sıralama ve hiyerarşisini yönetin.", + "create": { + "header": "Kategori Oluştur", + "hint": "Ürünlerinizi organize etmek için yeni bir kategori oluşturun.", + "tabs": { + "details": "Detaylar", + "organize": "Sıralamayı Düzenle" + }, + "successToast": "Kategori {{name}} başarıyla oluşturuldu." + }, + "edit": { + "header": "Kategoriyi Düzenle", + "description": "Kategoriyi düzenleyerek detaylarını güncelleyin.", + "successToast": "Kategori başarıyla güncellendi." + }, + "delete": { + "confirmation": "Kategori {{name}}'i silmek üzeresiniz. Bu işlem geri alınamaz.", + "successToast": "Kategori {{name}} başarıyla silindi." + }, + "products": { + "add": { + "disabledTooltip": "Ürün zaten bu kategoride.", + "successToast_one": "{{count}} ürün kategoriye eklendi.", + "successToast_other": "{{count}} ürün kategoriye eklendi." + }, + "remove": { + "confirmation_one": "{{count}} ürünü kategoriden kaldırmak üzeresiniz. Bu işlem geri alınamaz.", + "confirmation_other": "{{count}} ürünü kategoriden kaldırmak üzeresiniz. Bu işlem geri alınamaz.", + "successToast_one": "{{count}} ürün kategoriden kaldırıldı.", + "successToast_other": "{{count}} ürün kategoriden kaldırıldı." + }, + "list": { + "noRecordsMessage": "Kategoride ürün yok." + } + }, + "organize": { + "header": "Organize Et", + "action": "Sıralamayı Düzenle" + }, + "fields": { + "visibility": { + "label": "Görünürlük", + "internal": "Dahili", + "public": "Genel" + }, + "status": { + "label": "Durum", + "active": "Aktif", + "inactive": "Pasif" + }, + "path": { + "label": "Yol", + "tooltip": "Kategorinin tam yolunu göster." + }, + "children": { + "label": "Alt Kategoriler" + }, + "new": { + "label": "Yeni" + } + } + }, + "inventory": { + "domain": "Envanter", + "subtitle": "Envanter öğelerinizi yönetin", + "reserved": "Rezerve Edildi", + "available": "Mevcut", + "locationLevels": "Konumlar", + "associatedVariants": "İlişkili varyantlar", + "manageLocations": "Konumları yönet", + "deleteWarning": "Bir envanter öğesini silmek üzeresiniz. Bu işlem geri alınamaz.", + "editItemDetails": "Öğe detaylarını düzenle", + "create": { + "title": "Envanter Öğesi Oluştur", + "details": "Detaylar", + "availability": "Mevcutluk", + "locations": "Konumlar", + "attributes": "Öznitelikler", + "requiresShipping": "Kargo Gerektirir", + "requiresShippingHint": "Envanter öğesi kargo gerektiriyor mu?", + "successToast": "Envanter öğesi başarıyla oluşturuldu." + }, + "reservation": { + "header": "{{itemName}} için Rezervasyon", + "editItemDetails": "Rezervasyonu düzenle", + "lineItemId": "Satır öğesi ID", + "orderID": "Sipariş ID", + "description": "Açıklama", + "location": "Konum", + "inStockAtLocation": "Bu konumda mevcut", + "availableAtLocation": "Bu konumda mevcut", + "reservedAtLocation": "Bu konumda rezerve edildi", + "reservedAmount": "Rezerve edilecek miktar", + "create": "Rezervasyon Oluştur", + "itemToReserve": "Rezerve edilecek öğe", + "quantityPlaceholder": "Ne kadar rezerve etmek istiyorsunuz?", + "descriptionPlaceholder": "Bu rezervasyon türü nedir?", + "successToast": "Rezervasyon başarıyla oluşturuldu.", + "updateSuccessToast": "Rezervasyon başarıyla güncellendi.", + "deleteSuccessToast": "Rezervasyon başarıyla silindi.", + "errors": { + "noAvaliableQuantity": "Stok konumunda mevcut miktar yok.", + "quantityOutOfRange": "Minimum miktar 1 ve maksimum miktar {{max}}" + } + }, + "toast": { + "updateLocations": "Konumlar başarıyla güncellendi.", + "updateLevel": "Envanter seviyesi başarıyla güncellendi.", + "updateItem": "Envanter öğesi başarıyla güncellendi." + } + }, + "giftCards": { + "domain": "Hediye Kartları", + "editGiftCard": "Hediye Kartını Düzenle", + "createGiftCard": "Hediye Kartı Oluştur", + "createGiftCardHint": "Mağazanızda ödeme yöntemi olarak kullanılabilecek bir hediye kartı manuel olarak oluşturun.", + "selectRegionFirst": "Önce bir bölge seçin", + "deleteGiftCardWarning": "{{code}} hediye kartını silmek üzeresiniz. Bu işlem geri alınamaz.", + "balanceHigherThanValue": "Bakiye, orijinal miktardan yüksek olamaz.", + "balanceLowerThanZero": "Bakiye negatif olamaz.", + "expiryDateHint": "Ülkelerin hediye kartı son kullanma tarihleriyle ilgili farklı yasaları vardır. Son kullanma tarihini belirlemeden önce yerel düzenlemeleri kontrol ettiğinizden emin olun.", + "regionHint": "Hediye kartının bölgesini değiştirmek, para birimini de değiştirecek ve bu durum parasal değerini etkileyebilir.", + "enabledHint": "Hediye kartının etkin veya devre dışı olup olmadığını belirtin.", + "balance": "Bakiye", + "currentBalance": "Güncel bakiye", + "initialBalance": "Başlangıç bakiyesi", + "personalMessage": "Kişisel mesaj", + "recipient": "Alıcı" + }, + "customers": { + "domain": "Müşteriler", + "list": { + "noRecordsMessage": "Müşterileriniz burada görünecek." + }, + "create": { + "header": "Müşteri Oluştur", + "hint": "Yeni bir müşteri oluşturun ve detaylarını yönetin.", + "successToast": "{{email}} müşterisi başarıyla oluşturuldu." + }, + "groups": { + "label": "Müşteri grupları", + "remove": "\"{{name}}\" müşteri grubundan müşteriyi kaldırmak istediğinizden emin misiniz?", + "removeMany": "Müşteriyi aşağıdaki müşteri gruplarından kaldırmak istediğinizden emin misiniz: {{groups}}?", + "alreadyAddedTooltip": "Müşteri zaten bu müşteri grubunda.", + "list": { + "noRecordsMessage": "Bu müşteri herhangi bir gruba ait değil." + }, + "add": { + "success": "Müşteri eklendi: {{groups}}.", + "list": { + "noRecordsMessage": "Lütfen önce bir müşteri grubu oluşturun." + } + }, + "removed": { + "success": "Müşteri çıkarıldı: {{groups}}.", + "list": { + "noRecordsMessage": "Lütfen önce bir müşteri grubu oluşturun." + } + } + }, + "edit": { + "header": "Müşteriyi Düzenle", + "emailDisabledTooltip": "Kayıtlı müşteriler için e-posta adresi değiştirilemez.", + "successToast": "{{email}} müşterisi başarıyla güncellendi." + }, + "delete": { + "title": "Müşteriyi Sil", + "description": "{{email}} müşterisini silmek üzeresiniz. Bu işlem geri alınamaz.", + "successToast": "{{email}} müşterisi başarıyla silindi." + }, + "fields": { + "guest": "Misafir", + "registered": "Kayıtlı", + "groups": "Gruplar" + }, + "registered": "Kayıtlı", + "guest": "Misafir", + "hasAccount": "Hesabı var" + }, + "customerGroups": { + "domain": "Müşteri Grupları", + "subtitle": "Müşterileri gruplara ayırın. Gruplar farklı promosyonlara ve fiyatlara sahip olabilir.", + "create": { + "header": "Müşteri Grubu Oluştur", + "hint": "Müşterilerinizi segmente etmek için yeni bir müşteri grubu oluşturun.", + "successToast": "{{name}} müşteri grubu başarıyla oluşturuldu." + }, + "edit": { + "header": "Müşteri Grubunu Düzenle", + "successToast": "{{name}} müşteri grubu başarıyla güncellendi." + }, + "delete": { + "title": "Müşteri Grubunu Sil", + "description": "{{name}} müşteri grubunu silmek üzeresiniz. Bu işlem geri alınamaz.", + "successToast": "{{name}} müşteri grubu başarıyla silindi." + }, + "customers": { + "alreadyAddedTooltip": "Müşteri zaten gruba eklenmiş.", + "add": { + "successToast_one": "Müşteri gruba başarıyla eklendi.", + "successToast_other": "Müşteriler gruba başarıyla eklendi.", + "list": { + "noRecordsMessage": "Önce bir müşteri oluşturun." + } + }, + "remove": { + "title_one": "Müşteriyi kaldır", + "title_other": "Müşterileri kaldır", + "description_one": "Müşteri grubundan {{count}} müşteriyi kaldırmak üzeresiniz. Bu işlem geri alınamaz.", + "description_other": "Müşteri grubundan {{count}} müşteriyi kaldırmak üzeresiniz. Bu işlem geri alınamaz." + }, + "list": { + "noRecordsMessage": "Bu grupta müşteri yok." + } + } + }, + "orders": { + "domain": "Siparişler", + "claim": "Talep", + "exchange": "Değişim", + "return": "İade", + "cancelWarning": "{{id}} numaralı siparişi iptal etmek üzeresiniz. Bu işlem geri alınamaz.", + "onDateFromSalesChannel": "{{date}} tarihinde {{salesChannel}} üzerinden", + "list": { + "noRecordsMessage": "Siparişleriniz burada görünecektir." + }, + "summary": { + "requestReturn": "İade talebi", + "allocateItems": "Ürünleri tahsis et", + "editOrder": "Siparişi düzenle", + "editOrderContinue": "Sipariş düzenlemeye devam et", + "inventoryKit": "{{count}}x envanter öğesinden oluşur", + "itemTotal": "Ürün Toplamı", + "shippingTotal": "Kargo Toplamı", + "discountTotal": "İndirim Toplamı", + "taxTotalIncl": "Vergi Toplamı (dahil)", + "itemSubtotal": "Ürün Ara Toplamı", + "shippingSubtotal": "Kargo Ara Toplamı", + "discountSubtotal": "İndirim Ara Toplamı", + "taxTotal": "Vergi Toplamı" + }, + "payment": { + "title": "Ödemeler", + "isReadyToBeCaptured": "Ödeme <0/> alınmaya hazır.", + "totalPaidByCustomer": "Müşteri tarafından ödenen toplam", + "capture": "Ödemeyi al", + "capture_short": "Al", + "refund": "İade", + "markAsPaid": "Ödendi olarak işaretle", + "statusLabel": "Ödeme durumu", + "statusTitle": "Ödeme Durumu", + "status": { + "notPaid": "Ödenmedi", + "authorized": "Yetkilendirildi", + "partiallyAuthorized": "Kısmen yetkilendirildi", + "awaiting": "Bekleniyor", + "captured": "Alındı", + "partiallyRefunded": "Kısmen iade edildi", + "partiallyCaptured": "Kısmen alındı", + "refunded": "İade edildi", + "canceled": "İptal edildi", + "requiresAction": "Eylem gerekiyor" + }, + "capturePayment": "{{amount}} tutarında ödeme alınacak.", + "capturePaymentSuccess": "{{amount}} tutarındaki ödeme başarıyla alındı", + "markAsPaidPayment": "{{amount}} tutarındaki ödeme ödenmiş olarak işaretlenecek.", + "markAsPaidPaymentSuccess": "{{amount}} tutarındaki ödeme başarıyla ödenmiş olarak işaretlendi", + "createRefund": "İade Oluştur", + "refundPaymentSuccess": "{{amount}} tutarındaki iade başarılı", + "createRefundWrongQuantity": "Miktar 1 ile {{number}} arasında bir sayı olmalıdır", + "refundAmount": "{{ amount }} tutarını iade et", + "paymentLink": "{{ amount }} için ödeme bağlantısını kopyala", + "selectPaymentToRefund": "İade edilecek ödemeyi seçin" + }, + "edits": { + "title": "Siparişi düzenle", + "confirm": "Düzenlemeyi Onayla", + "confirmText": "Bir Sipariş Düzenlemeyi onaylamak üzeresiniz. Bu işlem geri alınamaz.", + "cancel": "Düzenlemeyi İptal Et", + "currentItems": "Mevcut ürünler", + "currentItemsDescription": "Ürün miktarını ayarla veya çıkar.", + "addItemsDescription": "Siparişe yeni ürünler ekleyebilirsiniz.", + "addItems": "Ürünleri ekle", + "amountPaid": "Ödenen tutar", + "newTotal": "Yeni toplam", + "differenceDue": "Fark ödenecek", + "create": "Siparişi Düzenle", + "currentTotal": "Mevcut toplam", + "noteHint": "Düzenleme için dahili bir not ekleyin", + "cancelSuccessToast": "Sipariş düzenlemesi iptal edildi", + "createSuccessToast": "Sipariş düzenleme talebi oluşturuldu", + "activeChangeError": "Siparişte (iade, talep, değişim vb.) aktif bir değişiklik zaten var. Lütfen siparişi düzenlemeden önce bu değişikliği tamamlayın veya iptal edin.", + "panel": { + "title": "Sipariş düzenleme talep edildi", + "titlePending": "Sipariş düzenleme bekliyor" + }, + "toast": { + "canceledSuccessfully": "Sipariş düzenlemesi iptal edildi", + "confirmedSuccessfully": "Sipariş düzenlemesi onaylandı" + }, + "validation": { + "quantityLowerThanFulfillment": "Miktar, tamamlanan miktardan daha az veya eşit olamaz" + } + }, + "returns": { + "create": "İade Oluştur", + "confirm": "İadeyi Onayla", + "confirmText": "Bir iade işlemini onaylamak üzeresiniz. Bu işlem geri alınamaz.", + "inbound": "Gelen", + "outbound": "Giden", + "sendNotification": "Bildirim gönder", + "sendNotificationHint": "Müşteriyi iade hakkında bilgilendir.", + "returnTotal": "İade toplamı", + "inboundTotal": "Gelen toplam", + "refundAmount": "İade tutarı", + "outstandingAmount": "Kalan tutar", + "reason": "Sebep", + "reasonHint": "Müşterinin neden ürünleri iade etmek istediğini seçin.", + "note": "Not", + "noInventoryLevel": "Stok seviyesi yok", + "noInventoryLevelDesc": "Seçilen konum için seçilen ürünlerin stok seviyesi yoktur. İade talep edilebilir ancak seçilen konum için bir stok seviyesi oluşturulana kadar alınamaz.", + "noteHint": "Belirtmek istediğiniz bir şey varsa serbestçe yazabilirsiniz.", + "location": "Konum", + "locationHint": "Ürünleri hangi konuma iade etmek istediğinizi seçin.", + "inboundShipping": "İade teslimatı", + "inboundShippingHint": "Hangi yöntemi kullanmak istediğinizi seçin.", + "returnableQuantityLabel": "İade edilebilir miktar", + "refundableAmountLabel": "İade edilebilir tutar", + "returnRequestedInfo": "{{requestedItemsCount}}x ürün için iade talebi", + "returnReceivedInfo": "{{requestedItemsCount}}x ürün iade alındı", + "itemReceived": "Ürünler alındı", + "returnRequested": "İade talep edildi", + "damagedItemReceived": "Hasarlı ürünler alındı", + "damagedItemsReturned": "{{quantity}}x hasarlı ürün iade edildi", + "activeChangeError": "Bu siparişte aktif bir değişiklik işlemi devam ediyor. Lütfen değişikliği tamamlayın veya iptal edin.", + "cancel": { + "title": "İadeyi İptal Et", + "description": "İade talebini iptal etmek istediğinizden emin misiniz?" + }, + "placeholders": { + "noReturnShippingOptions": { + "title": "İade teslimat seçenekleri bulunamadı", + "hint": "Seçilen konum için bir iade teslimat seçeneği oluşturulmadı. Konum & teslimat bölümünde bir tane oluşturabilirsiniz." + }, + "outboundShippingOptions": { + "title": "Giden teslimat seçenekleri bulunamadı", + "hint": "Seçilen konum için bir giden teslimat seçeneği oluşturulmadı. Konum & teslimat bölümünde bir tane oluşturabilirsiniz." + } + }, + "receive": { + "action": "Ürünleri al", + "receiveItems": "{{ returnType }} {{ id }}", + "restockAll": "Tüm ürünleri stokla", + "itemsLabel": "Alınan ürünler", + "title": "#{{returnId}} için ürünleri al", + "sendNotificationHint": "Alınan iade hakkında müşteriyi bilgilendirin.", + "inventoryWarning": "Lütfen yukarıdaki girişlerinize göre stok seviyelerinin otomatik olarak ayarlanacağını unutmayın.", + "writeOffInputLabel": "Kaç ürün hasarlı?", + "toast": { + "success": "İade başarıyla alındı.", + "errorLargeValue": "Miktar, talep edilen ürün miktarından fazla.", + "errorNegativeValue": "Miktar negatif olamaz.", + "errorLargeDamagedValue": "Hasarlı ürün miktarı + hasarsız alınan ürün miktarı toplam ürün miktarını aşıyor. Lütfen hasarsız ürün miktarını azaltın." + } + }, + "toast": { + "canceledSuccessfully": "İade başarıyla iptal edildi", + "confirmedSuccessfully": "İade başarıyla onaylandı" + }, + "panel": { + "title": "İade başlatıldı", + "description": "Tamamlanması gereken açık bir iade talebi var" + } + }, + "claims": { + "create": "Talep Oluştur", + "confirm": "Talebi Onayla", + "confirmText": "Bir Talebi onaylamak üzeresiniz. Bu işlem geri alınamaz.", + "manage": "Talebi Yönet", + "outbound": "Giden", + "outboundItemAdded": "{{itemsCount}}x talep yoluyla eklendi", + "outboundTotal": "Giden toplam", + "outboundShipping": "Giden teslimat", + "outboundShippingHint": "Hangi yöntemi kullanmak istediğinizi seçin.", + "refundAmount": "Tahmini fark", + "activeChangeError": "Bu siparişte aktif bir değişiklik işlemi var. Lütfen önceki değişikliği tamamlayın veya iptal edin.", + "actions": { + "cancelClaim": { + "successToast": "Talep başarıyla iptal edildi." + } + }, + "cancel": { + "title": "Talebi İptal Et", + "description": "Talebi iptal etmek istediğinizden emin misiniz?" + }, + "tooltips": { + "onlyReturnShippingOptions": "Bu liste yalnızca iade teslimat seçeneklerinden oluşacaktır." + }, + "toast": { + "canceledSuccessfully": "Talep başarıyla iptal edildi", + "confirmedSuccessfully": "Talep başarıyla onaylandı" + }, + "panel": { + "title": "Talep başlatıldı", + "description": "Tamamlanması gereken açık bir talep talebi var" + } + }, + "exchanges": { + "create": "Değişim Oluştur", + "manage": "Değişimi Yönet", + "confirm": "Değişimi Onayla", + "confirmText": "Bir Değişimi onaylamak üzeresiniz. Bu işlem geri alınamaz.", + "outbound": "Giden", + "outboundItemAdded": "{{itemsCount}}x değişim yoluyla eklendi", + "outboundTotal": "Giden toplam", + "outboundShipping": "Giden teslimat", + "outboundShippingHint": "Hangi yöntemi kullanmak istediğinizi seçin.", + "refundAmount": "Tahmini fark", + "activeChangeError": "Bu siparişte aktif bir değişiklik işlemi var. Lütfen önceki değişikliği tamamlayın veya iptal edin.", + "actions": { + "cancelExchange": { + "successToast": "Değişim başarıyla iptal edildi." + } + }, + "cancel": { + "title": "Değişimi İptal Et", + "description": "Değişimi iptal etmek istediğinizden emin misiniz?" + }, + "tooltips": { + "onlyReturnShippingOptions": "Bu liste yalnızca iade teslimat seçeneklerinden oluşacaktır." + }, + "toast": { + "canceledSuccessfully": "Değişim başarıyla iptal edildi", + "confirmedSuccessfully": "Değişim başarıyla onaylandı" + }, + "panel": { + "title": "Değişim başlatıldı", + "description": "Tamamlanması gereken açık bir değişim talebi var" + } + }, + "reservations": { + "allocatedLabel": "Tahsis Edildi", + "notAllocatedLabel": "Tahsis Edilmedi" + }, + "allocateItems": { + "action": "Ürünleri tahsis et", + "title": "Sipariş ürünlerini tahsis et", + "locationDescription": "Hangi konumdan tahsis etmek istediğinizi seçin.", + "itemsToAllocate": "Tahsis edilecek ürünler", + "itemsToAllocateDesc": "Tahsis etmek istediğiniz ürün sayısını seçin", + "search": "Ürünleri ara", + "consistsOf": "{{num}}x envanter öğesinden oluşur", + "requires": "Her bir varyant için {{num}} gerektirir", + "toast": { + "created": "Ürünler başarıyla tahsis edildi" + }, + "error": { + "quantityNotAllocated": "Tahsis edilmemiş ürünler var." + } + }, + "shipment": { + "title": "Gönderimi İşaretle", + "trackingNumber": "Takip numarası", + "addTracking": "Takip numarası ekle", + "sendNotification": "Bildirim gönder", + "sendNotificationHint": "Müşteriye bu gönderim hakkında bilgi ver.", + "toastCreated": "Gönderim başarıyla oluşturuldu." + }, + "fulfillment": { + "cancelWarning": "Bir sipariş tamamlamayı iptal etmek üzeresiniz. Bu işlem geri alınamaz.", + "markAsDeliveredWarning": "Tamamlamayı teslim edilmiş olarak işaretlemek üzeresiniz. Bu işlem geri alınamaz.", + "unfulfilledItems": "Tamamlanmamış Ürünler", + "statusLabel": "Tamamlama durumu", + "statusTitle": "Tamamlama Durumu", + "fulfillItems": "Ürünleri tamamla", + "awaitingFulfillmentBadge": "Tamamlanmayı bekliyor", + "requiresShipping": "Teslimat gerekli", + "number": "Tamamlama #{{number}}", + "itemsToFulfill": "Tamamlanacak ürünler", + "create": "Tamamlama Oluştur", + "available": "Mevcut", + "inStock": "Stokta", + "markAsShipped": "Gönderildi olarak işaretle", + "markAsDelivered": "Teslim edildi olarak işaretle", + "itemsToFulfillDesc": "Tamamlanacak ürünleri ve miktarları seçin", + "locationDescription": "Ürünleri hangi konumdan tamamlamak istediğinizi seçin.", + "sendNotificationHint": "Oluşturulan tamamlama hakkında müşterilere bilgi verin.", + "methodDescription": "Müşterinin seçtiği teslimat yönteminden farklı bir yöntem seçin", + "error": { + "wrongQuantity": "Tamamlanacak sadece bir ürün mevcut", + "wrongQuantity_other": "Miktar 1 ile {{number}} arasında olmalıdır", + "noItems": "Tamamlanacak ürün yok." + }, + "status": { + "notFulfilled": "Tamamlanmadı", + "partiallyFulfilled": "Kısmen tamamlandı", + "fulfilled": "Tamamlandı", + "partiallyShipped": "Kısmen gönderildi", + "shipped": "Gönderildi", + "delivered": "Teslim edildi", + "partiallyDelivered": "Kısmen teslim edildi", + "partiallyReturned": "Kısmen iade edildi", + "returned": "İade edildi", + "canceled": "İptal edildi", + "requiresAction": "Eylem gerekli" + }, + "toast": { + "created": "Tamamlama başarıyla oluşturuldu", + "canceled": "Tamamlama başarıyla iptal edildi", + "fulfillmentShipped": "Gönderilmiş bir tamamlamayı iptal edemezsiniz", + "fulfillmentDelivered": "Tamamlama başarıyla teslim edildi olarak işaretlendi" + }, + "trackingLabel": "Takip", + "shippingFromLabel": "Gönderen", + "itemsLabel": "Ürünler" + }, + "refund": { + "title": "İade Oluştur", + "sendNotificationHint": "Oluşturulan iade hakkında müşterilere bilgi verin.", + "systemPayment": "Sistem ödemesi", + "systemPaymentDesc": "Ödemelerinizden biri bir sistem ödemesidir. Bu tür ödemeler için işlemler Medusa tarafından yönetilmez.", + "error": { + "amountToLarge": "Orijinal sipariş tutarından daha fazlasını iade edemezsiniz.", + "amountNegative": "İade tutarı pozitif bir sayı olmalıdır.", + "reasonRequired": "Lütfen bir iade sebebi seçin." + } + }, + "customer": { + "contactLabel": "İletişim", + "editEmail": "E-posta düzenle", + "transferOwnership": "Sahipliği devret", + "editBillingAddress": "Fatura adresini düzenle", + "editShippingAddress": "Teslimat adresini düzenle" + }, + "activity": { + "header": "Aktivite", + "showMoreActivities_one": "{{count}} aktiviteyi daha göster", + "showMoreActivities_other": "{{count}} aktiviteyi daha göster", + "comment": { + "label": "Yorum", + "placeholder": "Bir yorum bırak", + "addButtonText": "Yorum ekle", + "deleteButtonText": "Yorumu sil" + }, + "events": { + "common": { + "toReturn": "İade edilecek", + "toSend": "Gönderilecek" + }, + "placed": { + "title": "Sipariş verildi", + "fromSalesChannel": "{{salesChannel}} üzerinden" + }, + "canceled": { + "title": "Sipariş iptal edildi" + }, + "payment": { + "awaiting": "Ödeme bekleniyor", + "captured": "Ödeme alındı", + "canceled": "Ödeme iptal edildi", + "refunded": "Ödeme iade edildi" + }, + "fulfillment": { + "created": "Ürünler tamamlandı", + "canceled": "Tamamlama iptal edildi", + "shipped": "Ürünler gönderildi", + "delivered": "Ürünler teslim edildi", + "items_one": "{{count}} ürün", + "items_other": "{{count}} ürün" + }, + "return": { + "created": "İade #{{returnId}} talep edildi", + "canceled": "İade #{{returnId}} iptal edildi", + "received": "İade #{{returnId}} alındı", + "items_one": "{{count}} ürün iade edildi", + "items_other": "{{count}} ürün iade edildi" + }, + "note": { + "comment": "Yorum", + "byLine": "{{author}} tarafından" + }, + "claim": { + "created": "Talep #{{claimId}} talep edildi", + "canceled": "Talep #{{claimId}} iptal edildi", + "itemsInbound": "{{count}} ürün iade edilecek", + "itemsOutbound": "{{count}} ürün gönderilecek" + }, + "exchange": { + "created": "Değişim #{{exchangeId}} talep edildi", + "canceled": "Değişim #{{exchangeId}} iptal edildi", + "itemsInbound": "{{count}} ürün iade edilecek", + "itemsOutbound": "{{count}} ürün gönderilecek" + }, + "edit": { + "requested": "Sipariş düzenlemesi #{{editId}} talep edildi", + "confirmed": "Sipariş düzenlemesi #{{editId}} onaylandı" + } + } + }, + "fields": { + "displayId": "Görüntüleme Kimliği", + "refundableAmount": "İade edilebilir tutar", + "returnableQuantity": "İade edilebilir miktar" + } + }, + "draftOrders": { + "domain": "Taslak Siparişler", + "deleteWarning": "Taslak sipariş {{id}} silinmek üzere. Bu işlem geri alınamaz.", + "paymentLinkLabel": "Ödeme bağlantısı", + "cartIdLabel": "Sepet ID", + "markAsPaid": { + "label": "Ödenmiş olarak işaretle", + "warningTitle": "Ödenmiş Olarak İşaretle", + "warningDescription": "Taslak siparişi ödenmiş olarak işaretlemek üzeresiniz. Bu işlem geri alınamaz ve daha sonra ödeme toplamak mümkün olmayacaktır." + }, + "status": { + "open": "Açık", + "completed": "Tamamlandı" + }, + "create": { + "createDraftOrder": "Taslak Sipariş Oluştur", + "createDraftOrderHint": "Bir sipariş yerleştirilmeden önce detaylarını yönetmek için yeni bir taslak sipariş oluşturun.", + "chooseRegionHint": "Bölgeyi seçin", + "existingItemsLabel": "Mevcut ürünler", + "existingItemsHint": "Taslak siparişe mevcut ürünleri ekleyin.", + "customItemsLabel": "Özel ürünler", + "customItemsHint": "Taslak siparişe özel ürünler ekleyin.", + "addExistingItemsAction": "Mevcut ürünleri ekle", + "addCustomItemAction": "Özel ürün ekle", + "noCustomItemsAddedLabel": "Henüz özel ürün eklenmedi", + "noExistingItemsAddedLabel": "Henüz mevcut ürün eklenmedi", + "chooseRegionTooltip": "Önce bir bölge seçin", + "useExistingCustomerLabel": "Mevcut müşteriyi kullan", + "addShippingMethodsAction": "teslimat yöntemlerini ekle", + "unitPriceOverrideLabel": "Birim fiyat geçersiz kılma", + "shippingOptionLabel": "teslimat seçeneği", + "shippingOptionHint": "Taslak sipariş için teslimat seçeneğini seçin.", + "shippingPriceOverrideLabel": "teslimat fiyatı geçersiz kılma", + "shippingPriceOverrideHint": "Taslak sipariş için teslimat fiyatını geçersiz kılın.", + "sendNotificationLabel": "Bildirim gönder", + "sendNotificationHint": "Taslak sipariş oluşturulduğunda müşteriye bir bildirim gönderin." + }, + "validation": { + "requiredEmailOrCustomer": "E-posta veya müşteri gereklidir.", + "requiredItems": "En az bir ürün gereklidir.", + "invalidEmail": "E-posta geçerli bir e-posta adresi olmalıdır." + } + }, + "stockLocations": { + "domain": "Konumlar ve teslimat", + "list": { + "description": "Mağazanızın stok konumlarını ve teslimat seçeneklerini yönetin." + }, + "create": { + "header": "Stok Konumu Oluştur", + "hint": "Bir stok konumu, ürünlerin depolandığı ve gönderildiği fiziksel bir yerdir.", + "successToast": "Konum {{name}} başarıyla oluşturuldu." + }, + "edit": { + "header": "Stok Konumunu Düzenle", + "viewInventory": "Envanteri görüntüle", + "successToast": "Konum {{name}} başarıyla güncellendi." + }, + "delete": { + "confirmation": "Stok konumu {{name}} silinmek üzere. Bu işlem geri alınamaz." + }, + "fulfillmentProviders": { + "header": "Tamamlama Sağlayıcıları", + "shippingOptionsTooltip": "Bu açılır liste yalnızca bu konum için etkinleştirilen sağlayıcıları içerecektir. Açılır liste devre dışıysa konuma ekleyin.", + "label": "Bağlı tamamlama sağlayıcıları", + "connectedTo": "{{total}} sağlayıcıdan {{count}}'ine bağlı", + "noProviders": "Bu Stok Konumu hiçbir tamamlama sağlayıcısına bağlı değil.", + "action": "Sağlayıcıları Bağla", + "successToast": "Stok konumu için tamamlama sağlayıcıları başarıyla güncellendi." + }, + "fulfillmentSets": { + "pickup": { + "header": "Alma" + }, + "shipping": { + "header": "Teslimat" + }, + "disable": { + "confirmation": "{{name}} devre dışı bırakmak istediğinizden emin misiniz? Bu, ilgili tüm hizmet bölgelerini ve teslimat seçeneklerini silecektir ve geri alınamaz.", + "pickup": "Alma başarıyla devre dışı bırakıldı.", + "shipping": "Teslimat başarıyla devre dışı bırakıldı." + }, + "enable": { + "pickup": "Alma başarıyla etkinleştirildi.", + "shipping": "Teslimat başarıyla etkinleştirildi." + } + }, + "sidebar": { + "header": "Teslimat Yapılandırması", + "shippingProfiles": { + "label": "Teslimat Profilleri", + "description": "Ürünleri teslimat gereksinimlerine göre gruplayın" + } + }, + "salesChannels": { + "header": "Satış Kanalları", + "label": "Bağlı satış kanalları", + "connectedTo": "{{total}} satış kanalından {{count}}'ine bağlı", + "noChannels": "Konum hiçbir satış kanalına bağlı değil.", + "action": "Satış kanallarını bağla", + "successToast": "Satış kanalları başarıyla güncellendi." + }, + "shippingOptions": { + "create": { + "shipping": { + "header": "{{zone}} için Teslimat Seçeneği Oluştur", + "hint": "Bu konumdan ürünlerin nasıl gönderileceğini tanımlamak için yeni bir teslimat seçeneği oluşturun.", + "label": "Teslimat seçenekleri", + "successToast": "Teslimat seçeneği {{name}} başarıyla oluşturuldu." + }, + "returns": { + "header": "{{zone}} için İade Seçeneği Oluştur", + "hint": "Bu konuma ürünlerin nasıl iade edileceğini tanımlamak için yeni bir iade seçeneği oluşturun.", + "label": "İade seçenekleri", + "successToast": "İade seçeneği {{name}} başarıyla oluşturuldu." + }, + "tabs": { + "details": "Detaylar", + "prices": "Fiyatlar" + }, + "action": "Seçenek oluştur" + }, + "delete": { + "confirmation": "teslimat seçeneği {{name}} silinmek üzere. Bu işlem geri alınamaz.", + "successToast": "teslimat seçeneği {{name}} başarıyla silindi." + }, + "edit": { + "header": "teslimat Seçeneğini Düzenle", + "action": "Seçeneği düzenle", + "successToast": "teslimat seçeneği {{name}} başarıyla güncellendi." + }, + "pricing": { + "action": "Fiyatları düzenle" + }, + "fields": { + "count": { + "shipping_one": "{{count}} teslimat seçeneği", + "shipping_other": "{{count}} teslimat seçeneği", + "returns_one": "{{count}} iade seçeneği", + "returns_other": "{{count}} iade seçeneği" + }, + "priceType": { + "label": "Fiyat türü", + "options": { + "fixed": { + "label": "Sabit", + "hint": "teslimat seçeneğinin fiyatı sabittir ve siparişin içeriğine göre değişmez." + }, + "calculated": { + "label": "Hesaplanmış", + "hint": "teslimat seçeneğinin fiyatı, ödeme sırasında tamamlama sağlayıcısı tarafından hesaplanır." + } + } + }, + "enableInStore": { + "label": "Mağazada etkinleştir", + "hint": "Müşterilerin bu seçeneği ödeme sırasında kullanıp kullanamayacağı." + }, + "provider": "Tamamlama sağlayıcısı", + "profile": "teslimat profili" + } + }, + "serviceZones": { + "create": { + "headerPickup": "{{location}} konumundan Alım için Hizmet Bölgesi Oluştur", + "headerShipping": "{{location}} konumundan teslimat için Hizmet Bölgesi Oluştur", + "action": "Hizmet bölgesi oluştur", + "successToast": "Hizmet bölgesi {{name}} başarıyla oluşturuldu." + }, + "edit": { + "header": "Hizmet Bölgesini Düzenle", + "successToast": "Hizmet bölgesi {{name}} başarıyla güncellendi." + }, + "delete": { + "confirmation": "Hizmet bölgesi {{name}} silinmek üzere. Bu işlem geri alınamaz.", + "successToast": "Hizmet bölgesi {{name}} başarıyla silindi." + }, + "manageAreas": { + "header": "{{name}} için Alanları Yönet", + "action": "Alanları yönet", + "label": "Alanlar", + "hint": "Hizmet bölgesinin kapsadığı coğrafi alanları seçin.", + "successToast": "{{name}} için alanlar başarıyla güncellendi." + }, + "fields": { + "noRecords": "Ekleyebileceğiniz teslimat seçeneklerine sahip hizmet bölgeleri yok.", + "tip": "Bir hizmet bölgesi, coğrafi bölgeler veya alanlardan oluşur. Bu, belirli konumlara sunulabilir teslimat seçeneklerini sınırlamak için kullanılır." + } + } + }, + "shippingProfile": { + "domain": "teslimat Profilleri", + "subtitle": "Benzer teslimat gereksinimlerine sahip ürünleri profillere gruplandırın.", + "create": { + "header": "teslimat Profili Oluştur", + "hint": "Benzer teslimat gereksinimlerine sahip ürünleri gruplandırmak için yeni bir teslimat profili oluşturun.", + "successToast": "teslimat profili {{name}} başarıyla oluşturuldu." + }, + "delete": { + "title": "teslimat Profilini Sil", + "description": "teslimat profili {{name}} silinmek üzere. Bu işlem geri alınamaz.", + "successToast": "teslimat profili {{name}} başarıyla silindi." + }, + "tooltip": { + "type": "teslimat profili türünü girin, örneğin: Ağır, Aşırı Büyük, Sadece teslimat, vb." + } + }, + "taxRegions": { + "domain": "Vergi Bölgeleri", + "list": { + "hint": "Müşterilerinizin farklı ülkeler ve bölgelerden alışveriş yaparken ödediği tutarı yönetin." + }, + "delete": { + "confirmation": "Bir vergi bölgesini silmek üzeresiniz. Bu işlem geri alınamaz.", + "successToast": "Vergi bölgesi başarıyla silindi." + }, + "create": { + "header": "Vergi Bölgesi Oluştur", + "hint": "Belirli bir ülke için vergi oranlarını tanımlamak üzere yeni bir vergi bölgesi oluşturun.", + "errors": { + "rateIsRequired": "Varsayılan bir vergi oranı oluştururken vergi oranı gereklidir.", + "nameIsRequired": "Varsayılan bir vergi oranı oluştururken isim gereklidir." + }, + "successToast": "Vergi bölgesi başarıyla oluşturuldu." + }, + "province": { + "header": "İller", + "create": { + "header": "İl Vergi Bölgesi Oluştur", + "hint": "Belirli bir il için vergi oranlarını tanımlamak üzere yeni bir vergi bölgesi oluşturun." + } + }, + "state": { + "header": "Eyaletler", + "create": { + "header": "Eyalet Vergi Bölgesi Oluştur", + "hint": "Belirli bir eyalet için vergi oranlarını tanımlamak üzere yeni bir vergi bölgesi oluşturun." + } + }, + "stateOrTerritory": { + "header": "Eyaletler veya Bölgeler", + "create": { + "header": "Eyalet/Bölge Vergi Bölgesi Oluştur", + "hint": "Belirli bir eyalet/bölge için vergi oranlarını tanımlamak üzere yeni bir vergi bölgesi oluşturun." + } + }, + "county": { + "header": "İlçeler", + "create": { + "header": "İlçe Vergi Bölgesi Oluştur", + "hint": "Belirli bir ilçe için vergi oranlarını tanımlamak üzere yeni bir vergi bölgesi oluşturun." + } + }, + "region": { + "header": "Bölgeler", + "create": { + "header": "Bölge Vergi Bölgesi Oluştur", + "hint": "Belirli bir bölge için vergi oranlarını tanımlamak üzere yeni bir vergi bölgesi oluşturun." + } + }, + "department": { + "header": "Departmanlar", + "create": { + "header": "Departman Vergi Bölgesi Oluştur", + "hint": "Belirli bir departman için vergi oranlarını tanımlamak üzere yeni bir vergi bölgesi oluşturun." + } + }, + "territory": { + "header": "Bölgeler", + "create": { + "header": "Bölge Vergi Bölgesi Oluştur", + "hint": "Belirli bir bölge için vergi oranlarını tanımlamak üzere yeni bir vergi bölgesi oluşturun." + } + }, + "prefecture": { + "header": "Prefektörlükler", + "create": { + "header": "Prefektörlük Vergi Bölgesi Oluştur", + "hint": "Belirli bir prefektörlük için vergi oranlarını tanımlamak üzere yeni bir vergi bölgesi oluşturun." + } + }, + "district": { + "header": "Bölgeler", + "create": { + "header": "Bölge Vergi Bölgesi Oluştur", + "hint": "Belirli bir bölge için vergi oranlarını tanımlamak üzere yeni bir vergi bölgesi oluşturun." + } + }, + "governorate": { + "header": "Valilikler", + "create": { + "header": "Valilik Vergi Bölgesi Oluştur", + "hint": "Belirli bir valilik için vergi oranlarını tanımlamak üzere yeni bir vergi bölgesi oluşturun." + } + }, + "canton": { + "header": "Kantonlar", + "create": { + "header": "Kanton Vergi Bölgesi Oluştur", + "hint": "Belirli bir kanton için vergi oranlarını tanımlamak üzere yeni bir vergi bölgesi oluşturun." + } + }, + "emirate": { + "header": "Emirlikler", + "create": { + "header": "Emirlik Vergi Bölgesi Oluştur", + "hint": "Belirli bir emirlik için vergi oranlarını tanımlamak üzere yeni bir vergi bölgesi oluşturun." + } + }, + "sublevel": { + "header": "Alt Seviyeler", + "create": { + "header": "Alt Seviye Vergi Bölgesi Oluştur", + "hint": "Belirli bir alt seviye için vergi oranlarını tanımlamak üzere yeni bir vergi bölgesi oluşturun." + } + }, + "taxOverrides": { + "header": "Aşım Oranları", + "create": { + "header": "Aşım Oranı Oluştur", + "hint": "Belirli koşullar için varsayılan vergi oranlarını aşan bir vergi oranı oluşturun." + }, + "edit": { + "header": "Aşım Oranını Düzenle", + "hint": "Belirli koşullar için varsayılan vergi oranlarını aşan bir vergi oranını düzenleyin." + } + }, + "taxRates": { + "create": { + "header": "Vergi Oranı Oluştur", + "hint": "Bir bölge için vergi oranını tanımlamak üzere yeni bir vergi oranı oluşturun.", + "successToast": "Vergi oranı başarıyla oluşturuldu." + }, + "edit": { + "header": "Vergi Oranını Düzenle", + "hint": "Bir bölge için vergi oranını tanımlamak üzere vergi oranını düzenleyin.", + "successToast": "Vergi oranı başarıyla güncellendi." + }, + "delete": { + "confirmation": "Vergi oranı {{name}} silinmek üzere. Bu işlem geri alınamaz.", + "successToast": "Vergi oranı başarıyla silindi." + } + }, + "fields": { + "isCombinable": { + "label": "Birleştirilebilir", + "hint": "Bu vergi oranının vergi bölgesindeki varsayılan oranla birleştirilebilir olup olmadığını belirtir.", + "true": "Birleştirilebilir", + "false": "Birleştirilemez" + }, + "defaultTaxRate": { + "label": "Varsayılan vergi oranı", + "tooltip": "Bu bölge için varsayılan vergi oranı. Örnek olarak, bir ülke veya bölge için standart KDV oranı.", + "action": "Varsayılan vergi oranı oluştur" + }, + "taxRate": "Vergi oranı", + "taxCode": "Vergi kodu", + "targets": { + "label": "Hedefler", + "hint": "Bu vergi oranının uygulanacağı hedefleri seçin.", + "options": { + "product": "Ürünler", + "productCollection": "Ürün koleksiyonları", + "productTag": "Ürün etiketleri", + "productType": "Ürün türleri", + "customerGroup": "Müşteri grupları" + }, + "operators": { + "in": "içinde", + "on": "üzerinde", + "and": "ve" + }, + "placeholders": { + "product": "Ürünleri ara", + "productCollection": "Ürün koleksiyonlarını ara", + "productTag": "Ürün etiketlerini ara", + "productType": "Ürün türlerini ara", + "customerGroup": "Müşteri gruplarını ara" + }, + "tags": { + "product": "Ürün", + "productCollection": "Ürün koleksiyonu", + "productTag": "Ürün etiketi", + "productType": "Ürün türü", + "customerGroup": "Müşteri grubu" + }, + "modal": { + "header": "Hedef ekle" + }, + "values_one": "{{count}} değer", + "values_other": "{{count}} değerler", + "numberOfTargets_one": "{{count}} hedef", + "numberOfTargets_other": "{{count}} hedefler", + "additionalValues_one": "ve {{count}} daha değer", + "additionalValues_other": "ve {{count}} daha değerler", + "action": "Hedef ekle" + }, + "sublevels": { + "labels": { + "province": "İl", + "state": "Eyalet", + "region": "Bölge", + "stateOrTerritory": "Eyalet/Bölge", + "department": "Departman", + "county": "İlçe", + "territory": "Bölge", + "prefecture": "Prefektörlük", + "district": "Bölge", + "governorate": "Valilik", + "emirate": "Emirlik", + "canton": "Kanton", + "sublevel": "Alt seviye kodu" + }, + "placeholders": { + "province": "İl seçin", + "state": "Eyalet seçin", + "region": "Bölge seçin", + "stateOrTerritory": "Eyalet/bölge seçin", + "department": "Departman seçin", + "county": "İlçe seçin", + "territory": "Bölge seçin", + "prefecture": "Prefektörlük seçin", + "district": "Bölge seçin", + "governorate": "Valilik seçin", + "emirate": "Emirlik seçin", + "canton": "Kanton seçin" + }, + "tooltips": { + "sublevel": "Alt seviye vergi bölgesi için ISO 3166-2 kodunu girin.", + "notPartOfCountry": "{{province}}, {{country}}'in bir parçası görünmüyor. Lütfen bu bilgiyi kontrol edin." + }, + "alert": { + "header": "Bu vergi bölgesi için alt seviyeler devre dışı", + "description": "Alt seviyeler, bu bölge için varsayılan olarak devre dışıdır. Eyaletler, iller veya bölgeler gibi alt seviyeleri oluşturmak için bunları etkinleştirebilirsiniz.", + "action": "Alt seviyeleri etkinleştir" + } + }, + "noDefaultRate": { + "label": "Varsayılan oran yok", + "tooltip": "Bu vergi bölgesinde varsayılan bir vergi oranı bulunmuyor. Örneğin, bir ülkenin standart KDV'si gibi bir oran varsa, lütfen bu bölgeye ekleyin." + } + } + }, + "promotions": { + "domain": "Promosyonlar", + "sections": { + "details": "Promosyon Detayları" + }, + "tabs": { + "template": "Tür", + "details": "Detaylar", + "campaign": "Kampanya" + }, + "fields": { + "type": "Tür", + "value_type": "Değer Türü", + "value": "Değer", + "campaign": "Kampanya", + "method": "Yöntem", + "allocation": "Dağıtım", + "addCondition": "Şart ekle", + "clearAll": "Tümünü Temizle", + "amount": { + "tooltip": "Miktarı ayarlamak için para birimi kodunu seçin" + }, + "conditions": { + "rules": { + "title": "Bu kodu kim kullanabilir?", + "description": "Hangi müşterinin promosyon kodunu kullanmasına izin verilir? Eğer değiştirilmezse, promosyon kodu tüm müşteriler tarafından kullanılabilir." + }, + "target-rules": { + "title": "Promosyon hangi ürünlere uygulanacak?", + "description": "Promosyon, aşağıdaki koşulları karşılayan ürünlere uygulanacaktır." + }, + "buy-rules": { + "title": "Promosyonu açmak için sepette ne olmalı?", + "description": "Bu koşullar sağlandığında, hedef ürünlerde promosyon etkinleştirilir." + } + } + }, + "tooltips": { + "campaignType": "Bir harcama bütçesi belirlemek için promosyonda para birimi kodu seçilmelidir." + }, + "errors": { + "requiredField": "Zorunlu alan", + "promotionTabError": "Devam etmeden önce Promosyon Sekmesindeki hataları düzeltin" + }, + "toasts": { + "promotionCreateSuccess": "Promosyon ({{code}}) başarıyla oluşturuldu." + }, + "create": {}, + "edit": { + "title": "Promosyon Detaylarını Düzenle", + "rules": { + "title": "Kullanım koşullarını düzenle" + }, + "target-rules": { + "title": "Ürün koşullarını düzenle" + }, + "buy-rules": { + "title": "Satın alma kurallarını düzenle" + } + }, + "campaign": { + "header": "Kampanya", + "edit": { + "header": "Kampanyayı Düzenle", + "successToast": "Promosyonun kampanyası başarıyla güncellendi." + }, + "actions": { + "goToCampaign": "Kampanyaya git" + } + }, + "campaign_currency": { + "tooltip": "Bu promosyonun para birimi. Detaylar sekmesinden değiştirin." + }, + "form": { + "required": "Zorunlu", + "and": "VE", + "selectAttribute": "Özellik Seçin", + "campaign": { + "existing": { + "title": "Mevcut Kampanya", + "description": "Promosyonu mevcut bir kampanyaya ekle.", + "placeholder": { + "title": "Mevcut kampanya yok", + "desc": "Birden fazla promosyonu izlemek ve bütçe sınırları belirlemek için bir tane oluşturabilirsiniz." + } + }, + "new": { + "title": "Yeni Kampanya", + "description": "Bu promosyon için yeni bir kampanya oluştur." + }, + "none": { + "title": "Kampanyasız", + "description": "Promosyonu kampanyaya bağlamadan devam et" + } + }, + "status": { + "title": "Durum" + }, + "method": { + "label": "Yöntem", + "code": { + "title": "Promosyon Kodu", + "description": "Müşteriler bu kodu ödeme sırasında girmelidir" + }, + "automatic": { + "title": "Otomatik", + "description": "Müşteriler bu promosyonu ödeme sırasında görecektir" + } + }, + "max_quantity": { + "title": "Maksimum Miktar", + "description": "Bu promosyonun uygulanacağı maksimum ürün miktarı." + }, + "type": { + "standard": { + "title": "Standart", + "description": "Standart bir promosyon" + }, + "buyget": { + "title": "Satın Al Kazan", + "description": "X Al Y Kazan promosyonu" + } + }, + "allocation": { + "each": { + "title": "Her biri", + "description": "Değeri her bir ürüne uygular" + }, + "across": { + "title": "Genel", + "description": "Değeri ürünler arasında uygular" + } + }, + "code": { + "title": "Kod", + "description": "Müşterilerinizin ödeme sırasında gireceği kod." + }, + "value": { + "title": "Promosyon Değeri" + }, + "value_type": { + "fixed": { + "title": "Promosyon Değeri", + "description": "İndirim miktarı. Örn: 100" + }, + "percentage": { + "title": "Promosyon Değeri", + "description": "İndirim yüzdesi. Örn: %8" + } + } + }, + "deleteWarning": "Promosyon {{code}}'u silmek üzeresiniz. Bu işlem geri alınamaz.", + "createPromotionTitle": "Promosyon Oluştur", + "type": "Promosyon türü", + "conditions": { + "add": "Şart ekle", + "list": { + "noRecordsMessage": "Promosyonun uygulanacağı ürünleri kısıtlamak için bir şart ekleyin." + } + } + }, + "campaigns": { + "domain": "Kampanyalar", + "details": "Kampanya detayları", + "status": { + "active": "Aktif", + "expired": "Süresi dolmuş", + "scheduled": "Planlanmış" + }, + "delete": { + "title": "Emin misiniz?", + "description": "'{{name}}' kampanyasını silmek üzeresiniz. Bu işlem geri alınamaz.", + "successToast": "'{{name}}' kampanyası başarıyla oluşturuldu." + }, + "edit": { + "header": "Kampanyayı Düzenle", + "description": "Kampanyanın detaylarını düzenleyin.", + "successToast": "'{{name}}' kampanyası başarıyla güncellendi." + }, + "configuration": { + "header": "Yapılandırma", + "edit": { + "header": "Kampanya Yapılandırmasını Düzenle", + "description": "Kampanyanın yapılandırmasını düzenleyin.", + "successToast": "Kampanya yapılandırması başarıyla güncellendi." + } + }, + "create": { + "title": "Kampanya Oluştur", + "description": "Bir promosyon kampanyası oluşturun.", + "hint": "Bir promosyon kampanyası oluşturun.", + "header": "Kampanya Oluştur", + "successToast": "'{{name}}' kampanyası başarıyla oluşturuldu." + }, + "fields": { + "name": "Ad", + "identifier": "Tanımlayıcı", + "start_date": "Başlangıç tarihi", + "end_date": "Bitiş tarihi", + "total_spend": "Harcanan bütçe", + "total_used": "Kullanılan bütçe", + "budget_limit": "Bütçe limiti", + "campaign_id": { + "hint": "Sadece promosyon ile aynı para birimine sahip kampanyalar bu listede gösterilir." + } + }, + "budget": { + "create": { + "hint": "Kampanya için bir bütçe oluşturun.", + "header": "Kampanya Bütçesi" + }, + "details": "Kampanya bütçesi", + "fields": { + "type": "Tür", + "currency": "Para birimi", + "limit": "Limit", + "used": "Kullanıldı" + }, + "type": { + "spend": { + "title": "Harcamalar", + "description": "Tüm promosyon kullanımlarının toplam indirimli miktarına bir sınır koyun." + }, + "usage": { + "title": "Kullanım", + "description": "Promosyonun kaç kez kullanılabileceğine bir sınır koyun." + } + }, + "edit": { + "header": "Kampanya Bütçesini Düzenle" + } + }, + "promotions": { + "remove": { + "title": "Promosyonu kampanyadan kaldır", + "description": "Kampanyadan {{count}} promosyon(ları) kaldırmak üzeresiniz. Bu işlem geri alınamaz." + }, + "alreadyAdded": "Bu promosyon zaten kampanyaya eklenmiştir.", + "alreadyAddedDiffCampaign": "Bu promosyon zaten farklı bir kampanyaya eklenmiş ({{name}}).", + "currencyMismatch": "Promosyon ve kampanyanın para birimi uyuşmuyor", + "toast": { + "success": "{{count}} promosyon başarıyla kampanyaya eklendi" + }, + "add": { + "list": { + "noRecordsMessage": "Önce bir promosyon oluşturun." + } + }, + "list": { + "noRecordsMessage": "Kampanyada promosyon bulunmamaktadır." + } + }, + "deleteCampaignWarning": "{{name}} kampanyasını silmek üzeresiniz. Bu işlem geri alınamaz.", + "totalSpend": "<0>{{amount}} <1>{{currency}}" + }, + "priceLists": { + "domain": "Fiyat Listeleri", + "subtitle": "Belirli koşullar için satış veya fiyat geçersiz kılmalar oluşturun.", + "delete": { + "confirmation": "{{title}} fiyat listesini silmek üzeresiniz. Bu işlem geri alınamaz.", + "successToast": "{{title}} fiyat listesi başarıyla silindi." + }, + "create": { + "header": "Fiyat Listesi Oluştur", + "subheader": "Ürünlerinizin fiyatlarını yönetmek için yeni bir fiyat listesi oluşturun.", + "tabs": { + "details": "Detaylar", + "products": "Ürünler", + "prices": "Fiyatlar" + }, + "successToast": "{{title}} fiyat listesi başarıyla oluşturuldu.", + "products": { + "list": { + "noRecordsMessage": "Önce bir ürün oluşturun." + } + } + }, + "edit": { + "header": "Fiyat Listesini Düzenle", + "successToast": "{{title}} fiyat listesi başarıyla güncellendi." + }, + "configuration": { + "header": "Yapılandırma", + "edit": { + "header": "Fiyat Listesi Yapılandırmasını Düzenle", + "description": "Fiyat listesinin yapılandırmasını düzenleyin.", + "successToast": "Fiyat listesi yapılandırması başarıyla güncellendi." + } + }, + "products": { + "header": "Ürünler", + "actions": { + "addProducts": "Ürünleri ekle", + "editPrices": "Fiyatları düzenle" + }, + "delete": { + "confirmation_one": "Fiyat listesindeki {{count}} ürün için fiyatları silmek üzeresiniz. Bu işlem geri alınamaz.", + "confirmation_other": "Fiyat listesindeki {{count}} ürün için fiyatları silmek üzeresiniz. Bu işlem geri alınamaz.", + "successToast_one": "{{count}} ürün için fiyatlar başarıyla silindi.", + "successToast_other": "{{count}} ürün için fiyatlar başarıyla silindi." + }, + "add": { + "successToast": "Fiyatlar başarıyla fiyat listesine eklendi." + }, + "edit": { + "successToast": "Fiyatlar başarıyla güncellendi." + } + }, + "fields": { + "priceOverrides": { + "label": "Fiyat geçersiz kılmaları", + "header": "Fiyat Geçersiz Kılmaları" + }, + "status": { + "label": "Durum", + "options": { + "active": "Aktif", + "draft": "Taslak", + "expired": "Süresi dolmuş", + "scheduled": "Planlanmış" + } + }, + "type": { + "label": "Tür", + "hint": "Oluşturmak istediğiniz fiyat listesi türünü seçin.", + "options": { + "sale": { + "label": "Satış", + "description": "Satış fiyatları ürünler için geçici fiyat değişiklikleridir." + }, + "override": { + "label": "Geçersiz Kılma", + "description": "Genellikle müşteri özelinde fiyatlar oluşturmak için kullanılır." + } + } + }, + "startsAt": { + "label": "Fiyat listesi bir başlangıç tarihine sahip mi?", + "hint": "Fiyat listesinin gelecekte aktif olmasını planlayın." + }, + "endsAt": { + "label": "Fiyat listesi bir bitiş tarihine sahip mi?", + "hint": "Fiyat listesinin gelecekte devre dışı kalmasını planlayın." + }, + "customerAvailability": { + "header": "Müşteri gruplarını seçin", + "label": "Müşteri uygunluğu", + "hint": "Fiyat listesinin hangi müşteri gruplarına uygulanacağını seçin.", + "placeholder": "Müşteri gruplarını arayın", + "attribute": "Müşteri grupları" + } + } + }, + "profile": { + "domain": "Profil", + "manageYourProfileDetails": "Profil detaylarınızı yönetin.", + "fields": { + "languageLabel": "Dil", + "usageInsightsLabel": "Kullanım istatistikleri" + }, + "edit": { + "header": "Profili Düzenle", + "languageHint": "Yönetim panelinde kullanmak istediğiniz dili seçin. Bu, mağazanızın dilini değiştirmez.", + "languagePlaceholder": "Dili seçin", + "usageInsightsHint": "Kullanım istatistiklerini paylaşarak Medusa'nın iyileştirilmesine yardımcı olun. Topladığımız bilgiler ve nasıl kullandığımız hakkında daha fazla bilgiye <0>dokümantasyonda ulaşabilirsiniz." + }, + "toast": { + "edit": "Profil değişiklikleri kaydedildi" + } + }, + "users": { + "domain": "Kullanıcılar", + "editUser": "Kullanıcıyı Düzenle", + "inviteUser": "Kullanıcı Davet Et", + "inviteUserHint": "Mağazanıza yeni bir kullanıcı davet edin.", + "sendInvite": "Davet gönder", + "pendingInvites": "Bekleyen Davetler", + "deleteInviteWarning": "{{email}} için daveti silmek üzeresiniz. Bu işlem geri alınamaz.", + "resendInvite": "Daveti tekrar gönder", + "copyInviteLink": "Davet bağlantısını kopyala", + "expiredOnDate": "{{date}} tarihinde süresi doldu", + "validFromUntil": "<0>{{from}} - <1>{{until}} arası geçerli", + "acceptedOnDate": "{{date}} tarihinde kabul edildi", + "inviteStatus": { + "accepted": "Kabul edildi", + "pending": "Beklemede", + "expired": "Süresi doldu" + }, + "roles": { + "admin": "Yönetici", + "developer": "Geliştirici", + "member": "Üye" + }, + "deleteUserWarning": "{{name}} kullanıcısını silmek üzeresiniz. Bu işlem geri alınamaz.", + "invite": "Davet Et" + }, + "store": { + "domain": "Mağaza", + "manageYourStoresDetails": "Mağazanızın detaylarını yönetin", + "editStore": "Mağazayı Düzenle", + "defaultCurrency": "Varsayılan para birimi", + "defaultRegion": "Varsayılan bölge", + "swapLinkTemplate": "Değişim bağlantı şablonu", + "paymentLinkTemplate": "Ödeme bağlantı şablonu", + "inviteLinkTemplate": "Davet bağlantı şablonu", + "currencies": "Para Birimleri", + "addCurrencies": "Para birimleri ekle", + "enableTaxInclusivePricing": "Vergi dahil fiyatlandırmayı etkinleştir", + "disableTaxInclusivePricing": "Vergi dahil fiyatlandırmayı devre dışı bırak", + "removeCurrencyWarning_one": "{{count}} para birimini mağazanızdan kaldırmak üzeresiniz. Devam etmeden önce bu para birimiyle tüm fiyatları kaldırdığınızdan emin olun.", + "removeCurrencyWarning_other": "{{count}} para birimini mağazanızdan kaldırmak üzeresiniz. Devam etmeden önce bu para birimleriyle tüm fiyatları kaldırdığınızdan emin olun.", + "currencyAlreadyAdded": "Para birimi mağazanıza zaten eklenmiş.", + "edit": { + "header": "Mağazayı Düzenle" + }, + "toast": { + "update": "Mağaza başarıyla güncellendi", + "currenciesUpdated": "Para birimleri başarıyla güncellendi", + "currenciesRemoved": "Para birimleri mağazadan başarıyla kaldırıldı", + "updatedTaxInclusivitySuccessfully": "Vergi dahil fiyatlandırma başarıyla güncellendi" + } + }, + "regions": { + "domain": "Bölgeler", + "subtitle": "Bir bölge, ürünlerinizi sattığınız bir alandır. Birden fazla ülkeyi kapsayabilir ve farklı vergi oranları, sağlayıcılar ve para birimleri içerebilir.", + "createRegion": "Bölge Oluştur", + "createRegionHint": "Belirli ülkeler için vergi oranlarını ve sağlayıcıları yönetin.", + "addCountries": "Ülkeleri ekle", + "editRegion": "Bölgeyi Düzenle", + "countriesHint": "Bu bölgeye dahil edilecek ülkeleri ekleyin.", + "deleteRegionWarning": "{{name}} bölgesini silmek üzeresiniz. Bu işlem geri alınamaz.", + "removeCountriesWarning_one": "{{count}} ülkeyi bölgeden kaldırmak üzeresiniz. Bu işlem geri alınamaz.", + "removeCountriesWarning_other": "{{count}} ülkeyi bölgeden kaldırmak üzeresiniz. Bu işlem geri alınamaz.", + "removeCountryWarning": "{{name}} ülkesini bölgeden kaldırmak üzeresiniz. Bu işlem geri alınamaz.", + "automaticTaxesHint": "Etkinleştirildiğinde, vergiler yalnızca teslimat adresine göre ödeme sırasında hesaplanır.", + "taxInclusiveHint": "Etkinleştirildiğinde, bölgedeki fiyatlar vergi dahil olacaktır.", + "providersHint": "Bu bölgede kullanılabilir ödeme sağlayıcılarını ekleyin.", + "shippingOptions": "Kargo Seçenekleri", + "deleteShippingOptionWarning": "{{name}} kargo seçeneğini silmek üzeresiniz. Bu işlem geri alınamaz.", + "return": "İade", + "outbound": "Dışa gönderim", + "priceType": "Fiyat Türü", + "flatRate": "Sabit Ücret", + "calculated": "Hesaplanmış", + "list": { + "noRecordsMessage": "Satış yaptığınız bölgeler için bir bölge oluşturun." + }, + "toast": { + "delete": "Bölge başarıyla silindi", + "edit": "Bölge düzenlemesi kaydedildi", + "create": "Bölge başarıyla oluşturuldu", + "countries": "Bölge ülkeleri başarıyla güncellendi" + }, + "shippingOption": { + "createShippingOption": "Kargo Seçeneği Oluştur", + "createShippingOptionHint": "Bölge için yeni bir kargo seçeneği oluşturun.", + "editShippingOption": "Kargo Seçeneğini Düzenle", + "fulfillmentMethod": "Karşılama Yöntemi", + "type": { + "outbound": "Dışa Gönderim", + "outboundHint": "Ürünleri müşteriye göndermek için bir kargo seçeneği oluşturuyorsanız kullanın.", + "return": "İade", + "returnHint": "Müşterinin ürünleri size iade etmesi için bir kargo seçeneği oluşturuyorsanız kullanın." + }, + "priceType": { + "label": "Fiyat Türü", + "flatRate": "Sabit ücret", + "calculated": "Hesaplanmış" + }, + "availability": { + "adminOnly": "Yalnızca yönetici", + "adminOnlyHint": "Etkinleştirildiğinde, kargo seçeneği yalnızca yönetim panelinde kullanılabilir, mağazada değil." + }, + "taxInclusiveHint": "Etkinleştirildiğinde, kargo seçeneğinin fiyatı vergi dahil olacaktır.", + "requirements": { + "label": "Gereksinimler", + "hint": "Kargo seçeneği için gereksinimleri belirleyin." + } + } + }, + "taxes": { + "domain": "Vergi Bölgeleri", + "domainDescription": "Vergi bölgenizi yönetin", + "countries": { + "taxCountriesHint": "Vergi ayarları listelenen ülkelere uygulanır." + }, + "settings": { + "editTaxSettings": "Vergi Ayarlarını Düzenle", + "taxProviderLabel": "Vergi sağlayıcı", + "systemTaxProviderLabel": "Sistem Vergi Sağlayıcı", + "calculateTaxesAutomaticallyLabel": "Vergileri otomatik olarak hesapla", + "calculateTaxesAutomaticallyHint": "Etkinleştirildiğinde, vergi oranları otomatik olarak hesaplanır ve sepete uygulanır. Devre dışı bırakıldığında, vergiler ödeme sırasında manuel olarak hesaplanmalıdır. Manuel vergiler, üçüncü taraf vergi sağlayıcılarıyla kullanım için önerilir.", + "applyTaxesOnGiftCardsLabel": "Hediye kartlarına vergi uygula", + "applyTaxesOnGiftCardsHint": "Etkinleştirildiğinde, hediye kartlarına ödeme sırasında vergi uygulanır. Bazı ülkelerde, hediye kartlarının satın alındığında vergi uygulanmasını gerektiren vergi düzenlemeleri vardır.", + "defaultTaxRateLabel": "Varsayılan vergi oranı", + "defaultTaxCodeLabel": "Varsayılan vergi kodu" + }, + "defaultRate": { + "sectionTitle": "Varsayılan Vergi Oranı" + }, + "taxRate": { + "sectionTitle": "Vergi Oranları", + "createTaxRate": "Vergi Oranı Oluştur", + "createTaxRateHint": "Bölge için yeni bir vergi oranı oluşturun.", + "deleteRateDescription": "{{name}} vergi oranını silmek üzeresiniz. Bu işlem geri alınamaz.", + "editTaxRate": "Vergi Oranını Düzenle", + "editRateAction": "Oranı düzenle", + "editOverridesAction": "Geçersiz kılmaları düzenle", + "editOverridesTitle": "Vergi Oranı Geçersiz Kılmalarını Düzenle", + "editOverridesHint": "Vergi oranı için geçersiz kılmaları belirtin.", + "deleteTaxRateWarning": "{{name}} vergi oranını silmek üzeresiniz. Bu işlem geri alınamaz.", + "productOverridesLabel": "Ürün geçersiz kılmaları", + "productOverridesHint": "Vergi oranı için ürün geçersiz kılmalarını belirtin.", + "addProductOverridesAction": "Ürün geçersiz kılmaları ekle", + "productTypeOverridesLabel": "Ürün türü geçersiz kılmaları", + "productTypeOverridesHint": "Vergi oranı için ürün türü geçersiz kılmalarını belirtin.", + "addProductTypeOverridesAction": "Ürün türü geçersiz kılmaları ekle", + "shippingOptionOverridesLabel": "Kargo seçeneği geçersiz kılmaları", + "shippingOptionOverridesHint": "Vergi oranı için kargo seçeneği geçersiz kılmalarını belirtin.", + "addShippingOptionOverridesAction": "Kargo seçeneği geçersiz kılmaları ekle", + "productOverridesHeader": "Ürünler", + "productTypeOverridesHeader": "Ürün Türleri", + "shippingOptionOverridesHeader": "Kargo Seçenekleri" + } + }, + "locations": { + "domain": "Konumlar", + "editLocation": "Konumu Düzenle", + "addSalesChannels": "Satış kanalları ekle", + "noLocationsFound": "Hiçbir konum bulunamadı", + "selectLocations": "Ürünü stoklayan konumları seçin.", + "deleteLocationWarning": "{{name}} konumunu silmek üzeresiniz. Bu işlem geri alınamaz.", + "removeSalesChannelsWarning_one": "{{count}} satış kanalını konumdan kaldırmak üzeresiniz.", + "removeSalesChannelsWarning_other": "{{count}} satış kanalını konumdan kaldırmak üzeresiniz.", + "toast": { + "create": "Konum başarıyla oluşturuldu", + "update": "Konum başarıyla güncellendi", + "removeChannel": "Satış kanalı başarıyla kaldırıldı" + } + }, + "reservations": { + "domain": "Rezervasyonlar", + "subtitle": "Envanter kalemlerinin ayrılan miktarını yönetin.", + "deleteWarning": "Bir rezervasyonu silmek üzeresiniz. Bu işlem geri alınamaz." + }, + "salesChannels": { + "domain": "Satış Kanalları", + "subtitle": "Ürünlerinizi sattığınız çevrimiçi ve çevrimdışı kanalları yönetin.", + "createSalesChannel": "Satış Kanalı Oluştur", + "createSalesChannelHint": "Ürünlerinizi satmak için yeni bir satış kanalı oluşturun.", + "enabledHint": "Satış kanalının etkin olup olmadığını belirtin.", + "removeProductsWarning_one": "{{sales_channel}}'dan {{count}} ürünü kaldırmak üzeresiniz.", + "removeProductsWarning_other": "{{sales_channel}}'dan {{count}} ürünü kaldırmak üzeresiniz.", + "addProducts": "Ürün Ekle", + "editSalesChannel": "Satış kanalını düzenle", + "productAlreadyAdded": "Ürün zaten satış kanalına eklenmiş.", + "deleteSalesChannelWarning": "{{name}} satış kanalını silmek üzeresiniz. Bu işlem geri alınamaz.", + "toast": { + "create": "Satış kanalı başarıyla oluşturuldu", + "update": "Satış kanalı başarıyla güncellendi", + "delete": "Satış kanalı başarıyla silindi" + }, + "products": { + "list": { + "noRecordsMessage": "Satış kanalında ürün bulunmuyor." + }, + "add": { + "list": { + "noRecordsMessage": "Önce bir ürün oluşturun." + } + } + } + }, + "apiKeyManagement": { + "domain": { + "publishable": "Yayınlanabilir API Anahtarları", + "secret": "Gizli API Anahtarları" + }, + "subtitle": { + "publishable": "Satış kanallarına yönelik taleplerin kapsamını sınırlamak için mağaza vitrini için kullanılan API anahtarlarını yönetin.", + "secret": "Yönetici uygulamalarında yönetici kullanıcıları kimlik doğrulamak için kullanılan API anahtarlarını yönetin." + }, + "status": { + "active": "Aktif", + "revoked": "İptal Edildi" + }, + "type": { + "publishable": "Yayınlanabilir", + "secret": "Gizli" + }, + "create": { + "createPublishableHeader": "Yayınlanabilir API Anahtarı Oluştur", + "createPublishableHint": "Belirli satış kanallarına yönelik taleplerin kapsamını sınırlamak için yeni bir yayınlanabilir API anahtarı oluşturun.", + "createSecretHeader": "Gizli API Anahtarı Oluştur", + "createSecretHint": "Doğrulanmış bir yönetici kullanıcısı olarak Medusa API'ye erişmek için yeni bir gizli API anahtarı oluşturun.", + "secretKeyCreatedHeader": "Gizli Anahtar Oluşturuldu", + "secretKeyCreatedHint": "Yeni gizli anahtarınız oluşturuldu. Şimdi kopyalayın ve güvenli bir şekilde saklayın. Bu anahtar yalnızca bir kez görüntülenecektir.", + "copySecretTokenSuccess": "Gizli anahtar panoya kopyalandı.", + "copySecretTokenFailure": "Gizli anahtar panoya kopyalanamadı.", + "successToast": "API anahtarı başarıyla oluşturuldu." + }, + "edit": { + "header": "API Anahtarını Düzenle", + "description": "API anahtarının başlığını düzenleyin.", + "successToast": "API anahtarı {{title}} başarıyla güncellendi." + }, + "salesChannels": { + "title": "Satış Kanalları Ekle", + "description": "API anahtarının sınırlandırılması gereken satış kanallarını ekleyin.", + "successToast_one": "{{count}} satış kanalı API anahtarına başarıyla eklendi.", + "successToast_other": "{{count}} satış kanalı API anahtarına başarıyla eklendi.", + "alreadyAddedTooltip": "Satış kanalı zaten API anahtarına eklenmiş.", + "list": { + "noRecordsMessage": "Yayınlanabilir API anahtarının kapsamındaki satış kanalı yok." + } + }, + "delete": { + "warning": "{{title}} API anahtarını silmek üzeresiniz. Bu işlem geri alınamaz.", + "successToast": "API anahtarı {{title}} başarıyla silindi." + }, + "revoke": { + "warning": "{{title}} API anahtarını iptal etmek üzeresiniz. Bu işlem geri alınamaz.", + "successToast": "API anahtarı {{title}} başarıyla iptal edildi." + }, + "addSalesChannels": { + "list": { + "noRecordsMessage": "Önce bir satış kanalı oluşturun." + } + }, + "removeSalesChannel": { + "warning": "Satış kanalı {{name}}'ı API anahtarından kaldırmak üzeresiniz. Bu işlem geri alınamaz.", + "warningBatch_one": "{{count}} satış kanalını API anahtarından kaldırmak üzeresiniz. Bu işlem geri alınamaz.", + "warningBatch_other": "{{count}} satış kanalını API anahtarından kaldırmak üzeresiniz. Bu işlem geri alınamaz.", + "successToast": "Satış kanalı API anahtarından başarıyla kaldırıldı.", + "successToastBatch_one": "{{count}} satış kanalı API anahtarından başarıyla kaldırıldı.", + "successToastBatch_other": "{{count}} satış kanalı API anahtarından başarıyla kaldırıldı." + }, + "actions": { + "revoke": "API anahtarını iptal et", + "copy": "API anahtarını kopyala", + "copySuccessToast": "API anahtarı panoya kopyalandı." + }, + "table": { + "lastUsedAtHeader": "Son Kullanılma Zamanı", + "createdAtHeader": "İptal Edilme Zamanı" + }, + "fields": { + "lastUsedAtLabel": "Son kullanıldığı zaman", + "revokedByLabel": "İptal eden", + "revokedAtLabel": "İptal zamanı", + "createdByLabel": "Oluşturan" + } + }, + "returnReasons": { + "domain": "İade Nedenleri", + "subtitle": "İade edilen ürünler için nedenleri yönetin.", + "calloutHint": "İadeleri kategorize etmek için nedenleri yönetin.", + "editReason": "İade Nedenini Düzenle", + "create": { + "header": "İade Nedeni Ekle", + "subtitle": "En yaygın iade nedenlerini belirtin.", + "hint": "İadeleri kategorize etmek için yeni bir iade nedeni oluşturun.", + "successToast": "İade nedeni {{label}} başarıyla oluşturuldu." + }, + "edit": { + "header": "İade Nedenini Düzenle", + "subtitle": "İade nedeninin değerini düzenleyin.", + "successToast": "İade nedeni {{label}} başarıyla güncellendi." + }, + "delete": { + "confirmation": "{{label}} iade nedenini silmek üzeresiniz. Bu işlem geri alınamaz.", + "successToast": "İade nedeni {{label}} başarıyla silindi." + }, + "fields": { + "value": { + "label": "Değer", + "placeholder": "yanlış_beden", + "tooltip": "Değer, iade nedeni için benzersiz bir tanımlayıcı olmalıdır." + }, + "label": { + "label": "Etiket", + "placeholder": "Yanlış beden" + }, + "description": { + "label": "Açıklama", + "placeholder": "Müşteri yanlış beden aldı" + } + } + }, + "login": { + "forgotPassword": "Şifrenizi mi unuttunuz? - <0>Sıfırla", + "title": "Medusa'ya Hoş Geldiniz", + "hint": "Hesap alanına erişmek için oturum açın" + }, + "invite": { + "title": "Medusa'ya Hoş Geldiniz", + "hint": "Aşağıda hesabınızı oluşturun", + "backToLogin": "Girişe geri dön", + "createAccount": "Hesap oluştur", + "alreadyHaveAccount": "Zaten bir hesabınız var mı? - <0>Giriş Yap", + "emailTooltip": "E-postanız değiştirilemez. Başka bir e-posta kullanmak istiyorsanız, yeni bir davet gönderilmelidir.", + "invalidInvite": "Davet geçersiz veya süresi dolmuş.", + "successTitle": "Hesabınız kaydedildi", + "successHint": "Hemen Medusa Yönetici ile başlayın.", + "successAction": "Medusa Yöneticiye Başla", + "invalidTokenTitle": "Davet tokeniniz geçersiz", + "invalidTokenHint": "Yeni bir davet bağlantısı talep etmeyi deneyin.", + "passwordMismatch": "Şifreler uyuşmuyor", + "toast": { + "accepted": "Davet başarıyla kabul edildi" + } + }, + "resetPassword": { + "title": "Şifreyi sıfırla", + "hint": "Aşağıya e-postanızı girin, şifrenizi nasıl sıfırlayacağınızı anlatan talimatları size göndereceğiz.", + "email": "E-posta", + "sendResetInstructions": "Sıfırlama talimatlarını gönder", + "backToLogin": "<0>Girişe geri dön", + "newPasswordHint": "Aşağıda yeni bir şifre seçin.", + "invalidTokenTitle": "Şifre sıfırlama tokeniniz geçersiz", + "invalidTokenHint": "Yeni bir sıfırlama bağlantısı talep etmeyi deneyin.", + "expiredTokenTitle": "Şifre sıfırlama tokeninizin süresi dolmuş", + "goToResetPassword": "Şifre Sıfırla'ya Git", + "resetPassword": "Şifreyi sıfırla", + "newPassword": "Yeni şifre", + "repeatNewPassword": "Yeni şifreyi tekrar et", + "tokenExpiresIn": "Token <0>{{time}} dakika içinde sona eriyor", + "successfulRequestTitle": "Size başarıyla bir e-posta gönderdik", + "successfulRequest": "Şifrenizi sıfırlamak için kullanabileceğiniz bir e-posta gönderdik. Birkaç dakika içinde almazsanız, spam klasörünüzü kontrol edin.", + "successfulResetTitle": "Şifre sıfırlama başarılı", + "successfulReset": "Lütfen giriş sayfasında oturum açın.", + "passwordMismatch": "Şifreler uyuşmuyor", + "invalidLinkTitle": "Şifre sıfırlama bağlantınız geçersiz", + "invalidLinkHint": "Şifrenizi yeniden sıfırlamayı deneyin." + }, + "workflowExecutions": { + "domain": "İş Akışları", + "subtitle": "Medusa uygulamanızdaki iş akışı yürütmelerini görüntüleyin ve takip edin.", + "transactionIdLabel": "İşlem Kimliği", + "workflowIdLabel": "İş Akışı Kimliği", + "progressLabel": "İlerleme", + "stepsCompletedLabel_one": "{{count}} adımın {{completed}}'i tamamlandı", + "stepsCompletedLabel_other": "{{count}} adımın {{completed}}'i tamamlandı", + "list": { + "noRecordsMessage": "Henüz herhangi bir iş akışı yürütülmedi." + }, + "history": { + "sectionTitle": "Geçmiş", + "runningState": "Çalışıyor...", + "awaitingState": "Bekleniyor", + "failedState": "Başarısız", + "skippedState": "Atlandı", + "skippedFailureState": "Atlandı (Başarısızlık)", + "definitionLabel": "Tanım", + "outputLabel": "Çıktı", + "compensateInputLabel": "Telafi girdisi", + "revertedLabel": "Geri alındı", + "errorLabel": "Hata" + }, + "state": { + "done": "Tamamlandı", + "failed": "Başarısız", + "reverted": "Geri alındı", + "invoking": "Çağırılıyor", + "compensating": "Telafi ediliyor", + "notStarted": "Başlamadı" + }, + "transaction": { + "state": { + "waitingToCompensate": "Telafi için bekliyor" + } + }, + "step": { + "state": { + "skipped": "Atlandı", + "skippedFailure": "Atlandı (Başarısızlık)", + "dormant": "Beklemede", + "timeout": "Zaman aşımı" + } + } + }, + "productTypes": { + "domain": "Ürün Türleri", + "subtitle": "Ürünlerinizi türlere göre organize edin.", + "create": { + "header": "Ürün Türü Oluştur", + "hint": "Ürünlerinizi kategorize etmek için yeni bir ürün türü oluşturun.", + "successToast": "Ürün türü {{value}} başarıyla oluşturuldu." + }, + "edit": { + "header": "Ürün Türünü Düzenle", + "successToast": "Ürün türü {{value}} başarıyla güncellendi." + }, + "delete": { + "confirmation": "{{value}} ürün türünü silmek üzeresiniz. Bu işlem geri alınamaz.", + "successToast": "Ürün türü {{value}} başarıyla silindi." + }, + "fields": { + "value": "Değer" + } + }, + "productTags": { + "domain": "Ürün Etiketleri", + "create": { + "header": "Ürün Etiketi Oluştur", + "subtitle": "Ürünlerinizi kategorize etmek için yeni bir ürün etiketi oluşturun.", + "successToast": "Ürün etiketi {{value}} başarıyla oluşturuldu." + }, + "edit": { + "header": "Ürün Etiketini Düzenle", + "subtitle": "Ürün etiketinin değerini düzenleyin.", + "successToast": "Ürün etiketi {{value}} başarıyla güncellendi." + }, + "delete": { + "confirmation": "{{value}} ürün etiketini silmek üzeresiniz. Bu işlem geri alınamaz.", + "successToast": "Ürün etiketi {{value}} başarıyla silindi." + }, + "fields": { + "value": "Değer" + } + }, + "notifications": { + "domain": "Bildirimler", + "emptyState": { + "title": "Bildirim yok", + "description": "Şu anda herhangi bir bildiriminiz yok, ancak olduğunda burada görünecekler." + }, + "accessibility": { + "description": "Medusa aktiviteleri hakkında bildirimler burada listelenecek." + } + }, + "errors": { + "serverError": "Sunucu hatası - Daha sonra tekrar deneyin.", + "invalidCredentials": "Yanlış e-posta veya şifre" + }, + "statuses": { + "scheduled": "Planlandı", + "expired": "Süresi Dolmuş", + "active": "Aktif", + "enabled": "Etkin", + "disabled": "Devre Dışı" + }, + "labels": { + "productVariant": "Ürün Varyantı", + "prices": "Fiyatlar", + "available": "Mevcut", + "inStock": "Stokta Var", + "added": "Eklendi", + "removed": "Kaldırıldı" + }, + "fields": { + "amount": "Miktar", + "refundAmount": "İade miktarı", + "name": "İsim", + "default": "Varsayılan", + "lastName": "Soyadı", + "firstName": "Adı", + "title": "Başlık", + "customTitle": "Özel başlık", + "manageInventory": "Envanteri yönet", + "inventoryKit": "Envanter seti var", + "inventoryItems": "Envanter öğeleri", + "inventoryItem": "Envanter öğesi", + "requiredQuantity": "Gerekli miktar", + "description": "Açıklama", + "email": "E-posta", + "password": "Şifre", + "repeatPassword": "Şifreyi Tekrarla", + "confirmPassword": "Şifreyi Onayla", + "newPassword": "Yeni Şifre", + "repeatNewPassword": "Yeni Şifreyi Tekrarla", + "categories": "Kategoriler", + "shippingMethod": "Kargo metodu", + "configurations": "Yapılandırmalar", + "conditions": "Koşullar", + "category": "Kategori", + "collection": "Koleksiyon", + "discountable": "İndirim uygulanabilir", + "handle": "Tanıtıcı", + "subtitle": "Alt başlık", + "item": "Öğe", + "qty": "adet.", + "limit": "Limit", + "tags": "Etiketler", + "type": "Tür", + "reason": "Sebep", + "none": "hiçbiri", + "all": "tümü", + "search": "Ara", + "percentage": "Yüzde", + "sales_channels": "Satış Kanalları", + "customer_groups": "Müşteri Grupları", + "product_tags": "Ürün Etiketleri", + "product_types": "Ürün Türleri", + "product_collections": "Ürün Koleksiyonları", + "status": "Durum", + "code": "Kod", + "value": "Değer", + "disabled": "Devre dışı", + "dynamic": "Dinamik", + "normal": "Normal", + "years": "Yıllar", + "months": "Aylar", + "days": "Günler", + "hours": "Saatler", + "minutes": "Dakikalar", + "totalRedemptions": "Toplam Kullanım", + "countries": "Ülkeler", + "paymentProviders": "Ödeme Sağlayıcıları", + "refundReason": "İade Sebebi", + "fulfillmentProviders": "Tamamlama Sağlayıcıları", + "fulfillmentProvider": "Tamamlama Sağlayıcısı", + "providers": "Sağlayıcılar", + "availability": "Mevcudiyet", + "inventory": "Envanter", + "optional": "Opsiyonel", + "note": "Not", + "automaticTaxes": "Otomatik Vergiler", + "taxInclusivePricing": "Vergi dahil fiyatlandırma", + "currency": "Para Birimi", + "address": "Adres", + "address2": "Daire, apartman vb.", + "city": "Şehir", + "postalCode": "Posta Kodu", + "country": "Ülke", + "state": "Eyalet", + "province": "İl", + "company": "Şirket", + "phone": "Telefon", + "metadata": "Meta veri", + "selectCountry": "Ülke seçin", + "products": "Ürünler", + "variants": "Varyantlar", + "orders": "Siparişler", + "account": "Hesap", + "total": "Toplam Sipariş", + "paidTotal": "Toplam tahsilat", + "totalExclTax": "Vergi hariç toplam", + "subtotal": "Ara toplam", + "shipping": "Kargo", + "outboundShipping": "Giden Kargo", + "returnShipping": "İade Kargosu", + "tax": "Vergi", + "created": "Oluşturuldu", + "key": "Anahtar", + "customer": "Müşteri", + "date": "Tarih", + "order": "Sipariş", + "fulfillment": "Tamamlama", + "provider": "Sağlayıcı", + "payment": "Ödeme", + "items": "Öğeler", + "salesChannel": "Satış Kanalı", + "region": "Bölge", + "discount": "İndirim", + "role": "Rol", + "sent": "Gönderildi", + "salesChannels": "Satış Kanalları", + "product": "Ürün", + "createdAt": "Oluşturulma", + "updatedAt": "Güncellenme", + "revokedAt": "Geri alınma", + "true": "Doğru", + "false": "Yanlış", + "giftCard": "Hediye Kartı", + "tag": "Etiket", + "dateIssued": "Düzenlenme Tarihi", + "issuedDate": "Düzenleme Tarihi", + "expiryDate": "Son Kullanma Tarihi", + "price": "Fiyat", + "priceTemplate": "Fiyat {{regionOrCurrency}}", + "height": "Yükseklik", + "width": "Genişlik", + "length": "Uzunluk", + "weight": "Ağırlık", + "midCode": "MID kodu", + "hsCode": "HS kodu", + "ean": "EAN", + "upc": "UPC", + "inventoryQuantity": "Envanter miktarı", + "barcode": "Barkod", + "countryOfOrigin": "Menşei ülke", + "material": "Malzeme", + "thumbnail": "Küçük resim", + "sku": "SKU", + "managedInventory": "Yönetilen envanter", + "allowBackorder": "Ön siparişe izin ver", + "inStock": "Stokta var", + "location": "Konum", + "quantity": "Miktar", + "variant": "Varyant", + "id": "ID", + "parent": "Ebeveyn", + "minSubtotal": "Minimum Ara Toplam", + "maxSubtotal": "Maksimum Ara Toplam", + "shippingProfile": "Kargo Profili", + "summary": "Özet", + "details": "Detaylar", + "label": "Etiket", + "rate": "Oran", + "requiresShipping": "Kargo gerektirir", + "unitPrice": "Birim fiyat", + "startDate": "Başlangıç Tarihi", + "endDate": "Bitiş Tarihi", + "draft": "Taslak", + "values": "Değerler" + }, + "dateTime": { + "years_one": "Yıl", + "years_other": "Yıllar", + "months_one": "Ay", + "months_other": "Aylar", + "weeks_one": "Hafta", + "weeks_other": "Haftalar", + "days_one": "Gün", + "days_other": "Günler", + "hours_one": "Saat", + "hours_other": "Saatler", + "minutes_one": "Dakika", + "minutes_other": "Dakikalar", + "seconds_one": "Saniye", + "seconds_other": "Saniyeler" + } +} diff --git a/packages/admin/dashboard/src/providers/providers.tsx b/packages/admin/dashboard/src/providers/providers.tsx index 588215d637b5b..c52ad0ad97f40 100644 --- a/packages/admin/dashboard/src/providers/providers.tsx +++ b/packages/admin/dashboard/src/providers/providers.tsx @@ -2,7 +2,6 @@ import { Toaster, TooltipProvider } from "@medusajs/ui" import { QueryClientProvider } from "@tanstack/react-query" import type { PropsWithChildren } from "react" import { HelmetProvider } from "react-helmet-async" - import { I18n } from "../components/utilities/i18n" import { DashboardExtensionManager, diff --git a/packages/admin/dashboard/src/providers/router-provider/route-map.tsx b/packages/admin/dashboard/src/providers/router-provider/route-map.tsx index 33449aa70e5d6..5ad5068a60822 100644 --- a/packages/admin/dashboard/src/providers/router-provider/route-map.tsx +++ b/packages/admin/dashboard/src/providers/router-provider/route-map.tsx @@ -1,5 +1,5 @@ -import { AdminProductCategoryResponse, HttpTypes } from "@medusajs/types" -import { Outlet, RouteObject } from "react-router-dom" +import { HttpTypes } from "@medusajs/types" +import { Outlet, RouteObject, UIMatch } from "react-router-dom" import { t } from "i18next" import { ProtectedRoute } from "../../components/authentication/protected-route" @@ -7,12 +7,7 @@ import { MainLayout } from "../../components/layout/main-layout" import { PublicLayout } from "../../components/layout/public-layout" import { SettingsLayout } from "../../components/layout/settings-layout" import { ErrorBoundary } from "../../components/utilities/error-boundary" -import { getCountryByIso2 } from "../../lib/data/countries" -import { - getProvinceByIso2, - isProvinceInCountry, -} from "../../lib/data/country-states" -import { productLoader } from "../../routes/products/product-detail/loader" +import { TaxRegionDetailBreadcrumb } from "../../routes/tax-regions/tax-region-detail/breadcrumb" import { taxRegionLoader } from "../../routes/tax-regions/tax-region-detail/loader" import { RouteExtensions } from "./route-extensions" import { SettingsExtensions } from "./settings-extensions" @@ -34,7 +29,7 @@ export const RouteMap: RouteObject[] = [ path: "/products", errorElement: , handle: { - crumb: () => t("products.domain"), + breadcrumb: () => t("products.domain"), }, children: [ { @@ -58,11 +53,20 @@ export const RouteMap: RouteObject[] = [ { path: ":id", errorElement: , - Component: Outlet, - loader: productLoader, - handle: { - crumb: (data: HttpTypes.AdminProductResponse) => - data.product.title, + lazy: async () => { + const { Breadcrumb, loader } = await import( + "../../routes/products/product-detail" + ) + + return { + Component: Outlet, + loader, + handle: { + breadcrumb: ( + match: UIMatch + ) => , + }, + } }, children: [ { @@ -134,13 +138,21 @@ export const RouteMap: RouteObject[] = [ }, { path: "variants/:variant_id", - lazy: () => - import( + lazy: async () => { + const { Component, Breadcrumb, loader } = await import( "../../routes/product-variants/product-variant-detail" - ), - handle: { - crumb: (data: HttpTypes.AdminProductVariantResponse) => - data.variant.title, + ) + + return { + Component, + loader, + handle: { + breadcrumb: ( + // eslint-disable-next-line max-len + match: UIMatch + ) => , + }, + } }, children: [ { @@ -172,7 +184,7 @@ export const RouteMap: RouteObject[] = [ path: "/categories", errorElement: , handle: { - crumb: () => t("categories.domain"), + breadcrumb: () => t("categories.domain"), }, children: [ { @@ -193,10 +205,20 @@ export const RouteMap: RouteObject[] = [ }, { path: ":id", - lazy: () => import("../../routes/categories/category-detail"), - handle: { - crumb: (data: AdminProductCategoryResponse) => - data.product_category.name, + lazy: async () => { + const { Component, Breadcrumb, loader } = await import( + "../../routes/categories/category-detail" + ) + + return { + Component, + loader, + handle: { + breadcrumb: ( + match: UIMatch + ) => , + }, + } }, children: [ { @@ -226,7 +248,7 @@ export const RouteMap: RouteObject[] = [ path: "/orders", errorElement: , handle: { - crumb: () => t("orders.domain"), + breadcrumb: () => t("orders.domain"), }, children: [ { @@ -235,7 +257,21 @@ export const RouteMap: RouteObject[] = [ }, { path: ":id", - lazy: () => import("../../routes/orders/order-detail"), + lazy: async () => { + const { Component, Breadcrumb, loader } = await import( + "../../routes/orders/order-detail" + ) + + return { + Component, + loader, + handle: { + breadcrumb: ( + match: UIMatch + ) => , + }, + } + }, children: [ { path: "fulfillment", @@ -289,7 +325,7 @@ export const RouteMap: RouteObject[] = [ path: "/promotions", errorElement: , handle: { - crumb: () => t("promotions.domain"), + breadcrumb: () => t("promotions.domain"), }, children: [ { @@ -302,10 +338,20 @@ export const RouteMap: RouteObject[] = [ }, { path: ":id", - lazy: () => import("../../routes/promotions/promotion-detail"), - handle: { - // TODO: Re-add type when it's available again - crumb: (data: any) => data.promotion?.code, + lazy: async () => { + const { Component, Breadcrumb, loader } = await import( + "../../routes/promotions/promotion-detail" + ) + + return { + Component, + loader, + handle: { + breadcrumb: ( + match: UIMatch + ) => , + }, + } }, children: [ { @@ -330,7 +376,9 @@ export const RouteMap: RouteObject[] = [ { path: "/campaigns", errorElement: , - handle: { crumb: () => t("campaigns.domain") }, + handle: { + breadcrumb: () => t("campaigns.domain"), + }, children: [ { path: "", @@ -343,8 +391,21 @@ export const RouteMap: RouteObject[] = [ }, { path: ":id", - lazy: () => import("../../routes/campaigns/campaign-detail"), - handle: { crumb: (data: any) => data.campaign.name }, + lazy: async () => { + const { Component, Breadcrumb, loader } = await import( + "../../routes/campaigns/campaign-detail" + ) + + return { + Component, + loader, + handle: { + breadcrumb: ( + match: UIMatch + ) => , + }, + } + }, children: [ { path: "edit", @@ -373,7 +434,7 @@ export const RouteMap: RouteObject[] = [ path: "/collections", errorElement: , handle: { - crumb: () => t("collections.domain"), + breadcrumb: () => t("collections.domain"), }, children: [ { @@ -389,11 +450,20 @@ export const RouteMap: RouteObject[] = [ }, { path: ":id", - lazy: () => - import("../../routes/collections/collection-detail"), - handle: { - crumb: (data: { collection: HttpTypes.AdminCollection }) => - data.collection.title, + lazy: async () => { + const { Component, Breadcrumb, loader } = await import( + "../../routes/collections/collection-detail" + ) + + return { + Component, + loader, + handle: { + breadcrumb: ( + match: UIMatch + ) => , + }, + } }, children: [ { @@ -416,7 +486,7 @@ export const RouteMap: RouteObject[] = [ path: "/price-lists", errorElement: , handle: { - crumb: () => t("priceLists.domain"), + breadcrumb: () => t("priceLists.domain"), }, children: [ { @@ -432,11 +502,20 @@ export const RouteMap: RouteObject[] = [ }, { path: ":id", - lazy: () => - import("../../routes/price-lists/price-list-detail"), - handle: { - crumb: (data: HttpTypes.AdminPriceListResponse) => - data.price_list.title, + lazy: async () => { + const { Component, Breadcrumb, loader } = await import( + "../../routes/price-lists/price-list-detail" + ) + + return { + Component, + loader, + handle: { + breadcrumb: ( + match: UIMatch + ) => , + }, + } }, children: [ { @@ -469,7 +548,7 @@ export const RouteMap: RouteObject[] = [ path: "/customers", errorElement: , handle: { - crumb: () => t("customers.domain"), + breadcrumb: () => t("customers.domain"), }, children: [ { @@ -485,10 +564,20 @@ export const RouteMap: RouteObject[] = [ }, { path: ":id", - lazy: () => import("../../routes/customers/customer-detail"), - handle: { - // Re-add type when it's available again - crumb: (data: any) => data.customer.email, + lazy: async () => { + const { Component, Breadcrumb, loader } = await import( + "../../routes/customers/customer-detail" + ) + + return { + Component, + loader, + handle: { + breadcrumb: ( + match: UIMatch + ) => , + }, + } }, children: [ { @@ -515,7 +604,7 @@ export const RouteMap: RouteObject[] = [ path: "/customer-groups", errorElement: , handle: { - crumb: () => t("customerGroups.domain"), + breadcrumb: () => t("customerGroups.domain"), }, children: [ { @@ -534,12 +623,20 @@ export const RouteMap: RouteObject[] = [ }, { path: ":id", - lazy: () => - import("../../routes/customer-groups/customer-group-detail"), - handle: { - crumb: (data: { - customer_group: HttpTypes.AdminCustomerGroup - }) => data.customer_group.name, + lazy: async () => { + const { Component, Breadcrumb, loader } = await import( + "../../routes/customer-groups/customer-group-detail" + ) + + return { + Component, + loader, + handle: { + breadcrumb: ( + match: UIMatch + ) => , + }, + } }, children: [ { @@ -571,7 +668,7 @@ export const RouteMap: RouteObject[] = [ path: "/reservations", errorElement: , handle: { - crumb: () => t("reservations.domain"), + breadcrumb: () => t("reservations.domain"), }, children: [ { @@ -588,16 +685,20 @@ export const RouteMap: RouteObject[] = [ }, { path: ":id", - lazy: () => - import("../../routes/reservations/reservation-detail"), - handle: { - crumb: ({ reservation }: any) => { - return ( - reservation?.inventory_item?.title ?? - reservation?.inventory_item?.sku ?? - reservation?.id - ) - }, + lazy: async () => { + const { Component, Breadcrumb, loader } = await import( + "../../routes/reservations/reservation-detail" + ) + + return { + Component, + loader, + handle: { + breadcrumb: ( + match: UIMatch + ) => , + }, + } }, children: [ { @@ -620,7 +721,7 @@ export const RouteMap: RouteObject[] = [ path: "/inventory", errorElement: , handle: { - crumb: () => t("inventory.domain"), + breadcrumb: () => t("inventory.domain"), }, children: [ { @@ -636,10 +737,20 @@ export const RouteMap: RouteObject[] = [ }, { path: ":id", - lazy: () => import("../../routes/inventory/inventory-detail"), - handle: { - crumb: (data: HttpTypes.AdminInventoryItemResponse) => - data.inventory_item.title ?? data.inventory_item.sku, + lazy: async () => { + const { Component, Breadcrumb, loader } = await import( + "../../routes/inventory/inventory-detail" + ) + + return { + Component, + loader, + handle: { + breadcrumb: ( + match: UIMatch + ) => , + }, + } }, children: [ { @@ -691,7 +802,7 @@ export const RouteMap: RouteObject[] = [ { path: "/settings", handle: { - crumb: () => t("app.nav.settings.header"), + breadcrumb: () => t("app.nav.settings.header"), }, element: , children: [ @@ -705,7 +816,7 @@ export const RouteMap: RouteObject[] = [ errorElement: , lazy: () => import("../../routes/profile/profile-detail"), handle: { - crumb: () => t("profile.domain"), + breadcrumb: () => t("profile.domain"), }, children: [ { @@ -719,7 +830,7 @@ export const RouteMap: RouteObject[] = [ errorElement: , element: , handle: { - crumb: () => t("regions.domain"), + breadcrumb: () => t("regions.domain"), }, children: [ { @@ -734,10 +845,20 @@ export const RouteMap: RouteObject[] = [ }, { path: ":id", - lazy: () => import("../../routes/regions/region-detail"), - handle: { - crumb: (data: { region: HttpTypes.AdminRegion }) => - data.region.name, + lazy: async () => { + const { Component, Breadcrumb, loader } = await import( + "../../routes/regions/region-detail" + ) + + return { + Component, + loader, + handle: { + breadcrumb: ( + match: UIMatch + ) => , + }, + } }, children: [ { @@ -758,7 +879,7 @@ export const RouteMap: RouteObject[] = [ errorElement: , lazy: () => import("../../routes/store/store-detail"), handle: { - crumb: () => t("store.domain"), + breadcrumb: () => t("store.domain"), }, children: [ { @@ -780,7 +901,7 @@ export const RouteMap: RouteObject[] = [ errorElement: , element: , handle: { - crumb: () => t("users.domain"), + breadcrumb: () => t("users.domain"), }, children: [ { @@ -795,9 +916,20 @@ export const RouteMap: RouteObject[] = [ }, { path: ":id", - lazy: () => import("../../routes/users/user-detail"), - handle: { - crumb: (data: HttpTypes.AdminUserResponse) => data.user.email, + lazy: async () => { + const { Component, Breadcrumb, loader } = await import( + "../../routes/users/user-detail" + ) + + return { + Component, + loader, + handle: { + breadcrumb: ( + match: UIMatch + ) => , + }, + } }, children: [ { @@ -817,7 +949,7 @@ export const RouteMap: RouteObject[] = [ errorElement: , element: , handle: { - crumb: () => t("salesChannels.domain"), + breadcrumb: () => t("salesChannels.domain"), }, children: [ { @@ -836,11 +968,20 @@ export const RouteMap: RouteObject[] = [ }, { path: ":id", - lazy: () => - import("../../routes/sales-channels/sales-channel-detail"), - handle: { - crumb: (data: HttpTypes.AdminSalesChannelResponse) => - data.sales_channel.name, + lazy: async () => { + const { Component, Breadcrumb, loader } = await import( + "../../routes/sales-channels/sales-channel-detail" + ) + + return { + Component, + loader, + handle: { + breadcrumb: ( + match: UIMatch + ) => , + }, + } }, children: [ { @@ -871,7 +1012,7 @@ export const RouteMap: RouteObject[] = [ errorElement: , element: , handle: { - crumb: () => t("locations.domain"), + breadcrumb: () => t("locations.domain"), }, children: [ { @@ -886,7 +1027,7 @@ export const RouteMap: RouteObject[] = [ path: "shipping-profiles", element: , handle: { - crumb: () => t("shippingProfile.domain"), + breadcrumb: () => t("shippingProfile.domain"), }, children: [ { @@ -906,24 +1047,42 @@ export const RouteMap: RouteObject[] = [ ], }, { - path: ":id", - handle: { - crumb: (data: HttpTypes.AdminShippingProfileResponse) => - data.shipping_profile.name, - }, - lazy: () => - import( + path: ":shipping_profile_id", + lazy: async () => { + const { Component, Breadcrumb, loader } = await import( "../../routes/shipping-profiles/shipping-profile-detail" - ), + ) + + return { + Component, + loader, + handle: { + breadcrumb: ( + // eslint-disable-next-line max-len + match: UIMatch + ) => , + }, + } + }, }, ], }, { path: ":location_id", - lazy: () => import("../../routes/locations/location-detail"), - handle: { - crumb: (data: HttpTypes.AdminStockLocationResponse) => - data.stock_location.name, + lazy: async () => { + const { Component, Breadcrumb, loader } = await import( + "../../routes/locations/location-detail" + ) + + return { + Component, + loader, + handle: { + breadcrumb: ( + match: UIMatch + ) => , + }, + } }, children: [ { @@ -1013,7 +1172,7 @@ export const RouteMap: RouteObject[] = [ errorElement: , element: , handle: { - crumb: () => t("productTags.domain"), + breadcrumb: () => t("productTags.domain"), }, children: [ { @@ -1030,11 +1189,20 @@ export const RouteMap: RouteObject[] = [ }, { path: ":id", - lazy: () => - import("../../routes/product-tags/product-tag-detail"), - handle: { - crumb: (data: HttpTypes.AdminProductTagResponse) => - data.product_tag.value, + lazy: async () => { + const { Component, Breadcrumb, loader } = await import( + "../../routes/product-tags/product-tag-detail" + ) + + return { + Component, + loader, + handle: { + breadcrumb: ( + match: UIMatch + ) => , + }, + } }, children: [ { @@ -1051,7 +1219,7 @@ export const RouteMap: RouteObject[] = [ errorElement: , element: , handle: { - crumb: () => t("workflowExecutions.domain"), + breadcrumb: () => t("workflowExecutions.domain"), }, children: [ { @@ -1063,18 +1231,20 @@ export const RouteMap: RouteObject[] = [ }, { path: ":id", - lazy: () => - import( + lazy: async () => { + const { Component, Breadcrumb, loader } = await import( "../../routes/workflow-executions/workflow-execution-detail" - ), - handle: { - crumb: (data: { workflow: any }) => { - if (!data) { - return "" - } + ) - return data.workflow.name - }, + return { + Component, + loader, + handle: { + breadcrumb: ( + match: UIMatch + ) => , + }, + } }, }, ], @@ -1084,7 +1254,7 @@ export const RouteMap: RouteObject[] = [ errorElement: , element: , handle: { - crumb: () => t("productTypes.domain"), + breadcrumb: () => t("productTypes.domain"), }, children: [ { @@ -1101,11 +1271,20 @@ export const RouteMap: RouteObject[] = [ }, { path: ":id", - lazy: () => - import("../../routes/product-types/product-type-detail"), - handle: { - crumb: (data: HttpTypes.AdminProductTypeResponse) => - data.product_type.value, + lazy: async () => { + const { Component, Breadcrumb, loader } = await import( + "../../routes/product-types/product-type-detail" + ) + + return { + Component, + loader, + handle: { + breadcrumb: ( + match: UIMatch + ) => , + }, + } }, children: [ { @@ -1121,7 +1300,7 @@ export const RouteMap: RouteObject[] = [ path: "publishable-api-keys", element: , handle: { - crumb: () => t("apiKeyManagement.domain.publishable"), + breadcrumb: () => t("apiKeyManagement.domain.publishable"), }, children: [ { @@ -1148,14 +1327,20 @@ export const RouteMap: RouteObject[] = [ }, { path: ":id", - lazy: () => - import( + lazy: async () => { + const { Component, Breadcrumb, loader } = await import( "../../routes/api-key-management/api-key-management-detail" - ), - handle: { - crumb: (data: HttpTypes.AdminApiKeyResponse) => { - return data.api_key.title - }, + ) + + return { + Component, + loader, + handle: { + breadcrumb: ( + match: UIMatch + ) => , + }, + } }, children: [ { @@ -1180,7 +1365,7 @@ export const RouteMap: RouteObject[] = [ path: "secret-api-keys", element: , handle: { - crumb: () => t("apiKeyManagement.domain.secret"), + breadcrumb: () => t("apiKeyManagement.domain.secret"), }, children: [ { @@ -1207,14 +1392,20 @@ export const RouteMap: RouteObject[] = [ }, { path: ":id", - lazy: () => - import( + lazy: async () => { + const { Component, Breadcrumb, loader } = await import( "../../routes/api-key-management/api-key-management-detail" - ), - handle: { - crumb: (data: HttpTypes.AdminApiKeyResponse) => { - return data.api_key.title - }, + ) + + return { + Component, + loader, + handle: { + breadcrumb: ( + match: UIMatch + ) => , + }, + } }, children: [ { @@ -1232,7 +1423,7 @@ export const RouteMap: RouteObject[] = [ path: "tax-regions", element: , handle: { - crumb: () => t("taxRegions.domain"), + breadcrumb: () => t("taxRegions.domain"), }, children: [ { @@ -1251,19 +1442,22 @@ export const RouteMap: RouteObject[] = [ Component: Outlet, loader: taxRegionLoader, handle: { - crumb: (data: HttpTypes.AdminTaxRegionResponse) => { - return ( - getCountryByIso2(data.tax_region.country_code) - ?.display_name || - data.tax_region.country_code?.toUpperCase() - ) - }, + breadcrumb: ( + match: UIMatch + ) => , }, children: [ { path: "", - lazy: () => - import("../../routes/tax-regions/tax-region-detail"), + lazy: async () => { + const { Component } = await import( + "../../routes/tax-regions/tax-region-detail" + ) + + return { + Component, + } + }, children: [ { path: "provinces/create", @@ -1304,26 +1498,20 @@ export const RouteMap: RouteObject[] = [ }, { path: "provinces/:province_id", - lazy: () => - import( + lazy: async () => { + const { Component, Breadcrumb, loader } = await import( "../../routes/tax-regions/tax-region-province-detail" - ), - handle: { - crumb: (data: HttpTypes.AdminTaxRegionResponse) => { - const countryCode = - data.tax_region.country_code?.toUpperCase() - const provinceCode = - data.tax_region.province_code?.toUpperCase() - - const isValid = isProvinceInCountry( - countryCode, - provinceCode - ) + ) - return isValid - ? getProvinceByIso2(provinceCode) - : provinceCode - }, + return { + Component, + loader, + handle: { + breadcrumb: ( + match: UIMatch + ) => , + }, + } }, children: [ { @@ -1364,7 +1552,7 @@ export const RouteMap: RouteObject[] = [ path: "return-reasons", element: , handle: { - crumb: () => t("returnReasons.domain"), + breadcrumb: () => t("returnReasons.domain"), }, children: [ { diff --git a/packages/admin/dashboard/src/routes/api-key-management/api-key-management-detail/breadcrumb.tsx b/packages/admin/dashboard/src/routes/api-key-management/api-key-management-detail/breadcrumb.tsx new file mode 100644 index 0000000000000..255f7cc7aa1b0 --- /dev/null +++ b/packages/admin/dashboard/src/routes/api-key-management/api-key-management-detail/breadcrumb.tsx @@ -0,0 +1,24 @@ +import { HttpTypes } from "@medusajs/types" +import { UIMatch } from "react-router-dom" + +import { useApiKey } from "../../../hooks/api" + +type ApiKeyManagementDetailBreadcrumbProps = + UIMatch + +export const ApiKeyManagementDetailBreadcrumb = ( + props: ApiKeyManagementDetailBreadcrumbProps +) => { + const { id } = props.params || {} + + const { api_key } = useApiKey(id!, { + initialData: props.data, + enabled: Boolean(id), + }) + + if (!api_key) { + return null + } + + return {api_key.title} +} diff --git a/packages/admin/dashboard/src/routes/api-key-management/api-key-management-detail/index.ts b/packages/admin/dashboard/src/routes/api-key-management/api-key-management-detail/index.ts index 710a7b5175286..7ee3210445dea 100644 --- a/packages/admin/dashboard/src/routes/api-key-management/api-key-management-detail/index.ts +++ b/packages/admin/dashboard/src/routes/api-key-management/api-key-management-detail/index.ts @@ -1,2 +1,3 @@ export { ApiKeyManagementDetail as Component } from "./api-key-management-detail" +export { ApiKeyManagementDetailBreadcrumb as Breadcrumb } from "./breadcrumb" export { apiKeyLoader as loader } from "./loader" diff --git a/packages/admin/dashboard/src/routes/api-key-management/api-key-management-detail/loader.ts b/packages/admin/dashboard/src/routes/api-key-management/api-key-management-detail/loader.ts index 34c06f43d7e74..f7daf2c83704c 100644 --- a/packages/admin/dashboard/src/routes/api-key-management/api-key-management-detail/loader.ts +++ b/packages/admin/dashboard/src/routes/api-key-management/api-key-management-detail/loader.ts @@ -1,6 +1,5 @@ import { LoaderFunctionArgs } from "react-router-dom" -import { HttpTypes } from "@medusajs/types" import { apiKeysQueryKeys } from "../../../hooks/api/api-keys" import { sdk } from "../../../lib/client" import { queryClient } from "../../../lib/query-client" @@ -14,8 +13,5 @@ export const apiKeyLoader = async ({ params }: LoaderFunctionArgs) => { const id = params.id const query = apiKeyDetailQuery(id!) - return ( - queryClient.getQueryData(query.queryKey) ?? - (await queryClient.fetchQuery(query)) - ) + return queryClient.ensureQueryData(query) } diff --git a/packages/admin/dashboard/src/routes/campaigns/campaign-detail/breadcrumb.tsx b/packages/admin/dashboard/src/routes/campaigns/campaign-detail/breadcrumb.tsx new file mode 100644 index 0000000000000..9b46fc0129281 --- /dev/null +++ b/packages/admin/dashboard/src/routes/campaigns/campaign-detail/breadcrumb.tsx @@ -0,0 +1,29 @@ +import { HttpTypes } from "@medusajs/types" +import { UIMatch } from "react-router-dom" +import { useCampaign } from "../../../hooks/api" +import { CAMPAIGN_DETAIL_FIELDS } from "./constants" + +type CampaignDetailBreadcrumbProps = UIMatch + +export const CampaignDetailBreadcrumb = ( + props: CampaignDetailBreadcrumbProps +) => { + const { id } = props.params || {} + + const { campaign } = useCampaign( + id!, + { + fields: CAMPAIGN_DETAIL_FIELDS, + }, + { + initialData: props.data, + enabled: Boolean(id), + } + ) + + if (!campaign) { + return null + } + + return {campaign.name} +} diff --git a/packages/admin/dashboard/src/routes/campaigns/campaign-detail/campaign-detail.tsx b/packages/admin/dashboard/src/routes/campaigns/campaign-detail/campaign-detail.tsx index 4c1d588d51678..a802e4e998521 100644 --- a/packages/admin/dashboard/src/routes/campaigns/campaign-detail/campaign-detail.tsx +++ b/packages/admin/dashboard/src/routes/campaigns/campaign-detail/campaign-detail.tsx @@ -11,6 +11,7 @@ import { TwoColumnPageSkeleton } from "../../../components/common/skeleton" import { TwoColumnPage } from "../../../components/layout/pages" import { useDashboardExtension } from "../../../extensions" import { CampaignConfigurationSection } from "./components/campaign-configuration-section" +import { CAMPAIGN_DETAIL_FIELDS } from "./constants" export const CampaignDetail = () => { const initialData = useLoaderData() as Awaited< @@ -20,7 +21,7 @@ export const CampaignDetail = () => { const { id } = useParams() const { campaign, isLoading, isError, error } = useCampaign( id!, - { fields: "+promotions.id" }, + { fields: CAMPAIGN_DETAIL_FIELDS }, { initialData } ) diff --git a/packages/admin/dashboard/src/routes/campaigns/campaign-detail/constants.ts b/packages/admin/dashboard/src/routes/campaigns/campaign-detail/constants.ts new file mode 100644 index 0000000000000..d449a2d442412 --- /dev/null +++ b/packages/admin/dashboard/src/routes/campaigns/campaign-detail/constants.ts @@ -0,0 +1 @@ +export const CAMPAIGN_DETAIL_FIELDS = "+promotions.id" diff --git a/packages/admin/dashboard/src/routes/campaigns/campaign-detail/index.ts b/packages/admin/dashboard/src/routes/campaigns/campaign-detail/index.ts index d44b9e434d12b..4cf39a3b47660 100644 --- a/packages/admin/dashboard/src/routes/campaigns/campaign-detail/index.ts +++ b/packages/admin/dashboard/src/routes/campaigns/campaign-detail/index.ts @@ -1,2 +1,3 @@ +export { CampaignDetailBreadcrumb as Breadcrumb } from "./breadcrumb" export { CampaignDetail as Component } from "./campaign-detail" export { campaignLoader as loader } from "./loader" diff --git a/packages/admin/dashboard/src/routes/campaigns/campaign-detail/loader.ts b/packages/admin/dashboard/src/routes/campaigns/campaign-detail/loader.ts index 0361e3bc633e0..852f79af0b850 100644 --- a/packages/admin/dashboard/src/routes/campaigns/campaign-detail/loader.ts +++ b/packages/admin/dashboard/src/routes/campaigns/campaign-detail/loader.ts @@ -1,15 +1,15 @@ -import { AdminCampaignResponse } from "@medusajs/types" import { LoaderFunctionArgs } from "react-router-dom" import { campaignsQueryKeys } from "../../../hooks/api/campaigns" import { sdk } from "../../../lib/client" import { queryClient } from "../../../lib/query-client" +import { CAMPAIGN_DETAIL_FIELDS } from "./constants" const campaignDetailQuery = (id: string) => ({ queryKey: campaignsQueryKeys.detail(id), queryFn: async () => sdk.admin.campaign.retrieve(id, { - fields: "+promotions.id", + fields: CAMPAIGN_DETAIL_FIELDS, }), }) @@ -17,8 +17,5 @@ export const campaignLoader = async ({ params }: LoaderFunctionArgs) => { const id = params.id const query = campaignDetailQuery(id!) - return ( - queryClient.getQueryData(query.queryKey) ?? - (await queryClient.fetchQuery(query)) - ) + return queryClient.ensureQueryData(query) } diff --git a/packages/admin/dashboard/src/routes/categories/category-detail/breadcrumb.tsx b/packages/admin/dashboard/src/routes/categories/category-detail/breadcrumb.tsx new file mode 100644 index 0000000000000..9eb94decc0313 --- /dev/null +++ b/packages/admin/dashboard/src/routes/categories/category-detail/breadcrumb.tsx @@ -0,0 +1,29 @@ +import { HttpTypes } from "@medusajs/types" +import { UIMatch } from "react-router-dom" +import { useProductCategory } from "../../../hooks/api" + +type CategoryDetailBreadcrumbProps = + UIMatch + +export const CategoryDetailBreadcrumb = ( + props: CategoryDetailBreadcrumbProps +) => { + const { id } = props.params || {} + + const { product_category } = useProductCategory( + id!, + { + fields: "name", + }, + { + initialData: props.data, + enabled: Boolean(id), + } + ) + + if (!product_category) { + return null + } + + return {product_category.name} +} diff --git a/packages/admin/dashboard/src/routes/categories/category-detail/index.ts b/packages/admin/dashboard/src/routes/categories/category-detail/index.ts index 8e305c712c96a..f69036910917d 100644 --- a/packages/admin/dashboard/src/routes/categories/category-detail/index.ts +++ b/packages/admin/dashboard/src/routes/categories/category-detail/index.ts @@ -1,2 +1,3 @@ +export { CategoryDetailBreadcrumb as Breadcrumb } from "./breadcrumb" export { CategoryDetail as Component } from "./category-detail" export { categoryLoader as loader } from "./loader" diff --git a/packages/admin/dashboard/src/routes/categories/category-detail/loader.ts b/packages/admin/dashboard/src/routes/categories/category-detail/loader.ts index 979cb76d8adb2..27c62b55615e6 100644 --- a/packages/admin/dashboard/src/routes/categories/category-detail/loader.ts +++ b/packages/admin/dashboard/src/routes/categories/category-detail/loader.ts @@ -1,4 +1,3 @@ -import { AdminProductCategoryResponse } from "@medusajs/types" import { LoaderFunctionArgs } from "react-router-dom" import { categoriesQueryKeys } from "../../../hooks/api/categories" @@ -14,8 +13,5 @@ export const categoryLoader = async ({ params }: LoaderFunctionArgs) => { const id = params.id const query = categoryDetailQuery(id!) - return ( - queryClient.getQueryData(query.queryKey) ?? - (await queryClient.fetchQuery(query)) - ) + return queryClient.ensureQueryData(query) } diff --git a/packages/admin/dashboard/src/routes/collections/collection-detail/breadcrumb.tsx b/packages/admin/dashboard/src/routes/collections/collection-detail/breadcrumb.tsx new file mode 100644 index 0000000000000..677ca48b009b1 --- /dev/null +++ b/packages/admin/dashboard/src/routes/collections/collection-detail/breadcrumb.tsx @@ -0,0 +1,23 @@ +import { HttpTypes } from "@medusajs/types" +import { UIMatch } from "react-router-dom" +import { useCollection } from "../../../hooks/api" + +type CollectionDetailBreadcrumbProps = + UIMatch + +export const CollectionDetailBreadcrumb = ( + props: CollectionDetailBreadcrumbProps +) => { + const { id } = props.params || {} + + const { collection } = useCollection(id!, { + initialData: props.data, + enabled: Boolean(id), + }) + + if (!collection) { + return null + } + + return {collection.title} +} diff --git a/packages/admin/dashboard/src/routes/collections/collection-detail/index.ts b/packages/admin/dashboard/src/routes/collections/collection-detail/index.ts index d993cc2b01ec0..c4932aae15a14 100644 --- a/packages/admin/dashboard/src/routes/collections/collection-detail/index.ts +++ b/packages/admin/dashboard/src/routes/collections/collection-detail/index.ts @@ -1,2 +1,3 @@ +export { CollectionDetailBreadcrumb as Breadcrumb } from "./breadcrumb" export { CollectionDetail as Component } from "./collection-detail" export { collectionLoader as loader } from "./loader" diff --git a/packages/admin/dashboard/src/routes/collections/collection-detail/loader.ts b/packages/admin/dashboard/src/routes/collections/collection-detail/loader.ts index 7d5dee3b23ffb..e922557266ee4 100644 --- a/packages/admin/dashboard/src/routes/collections/collection-detail/loader.ts +++ b/packages/admin/dashboard/src/routes/collections/collection-detail/loader.ts @@ -1,4 +1,3 @@ -import { HttpTypes } from "@medusajs/types" import { LoaderFunctionArgs } from "react-router-dom" import { collectionsQueryKeys } from "../../../hooks/api/collections" @@ -14,9 +13,5 @@ export const collectionLoader = async ({ params }: LoaderFunctionArgs) => { const id = params.id const query = collectionDetailQuery(id!) - return ( - queryClient.getQueryData<{ collection: HttpTypes.AdminCollection }>( - query.queryKey - ) ?? (await queryClient.fetchQuery(query)) - ) + return queryClient.ensureQueryData(query) } diff --git a/packages/admin/dashboard/src/routes/customer-groups/customer-group-detail/breadcrumb.tsx b/packages/admin/dashboard/src/routes/customer-groups/customer-group-detail/breadcrumb.tsx new file mode 100644 index 0000000000000..de9232747b011 --- /dev/null +++ b/packages/admin/dashboard/src/routes/customer-groups/customer-group-detail/breadcrumb.tsx @@ -0,0 +1,31 @@ +import { HttpTypes } from "@medusajs/types" +import { UIMatch } from "react-router-dom" + +import { useCustomerGroup } from "../../../hooks/api" +import { CUSTOMER_GROUP_DETAIL_FIELDS } from "./constants" + +type CustomerGroupDetailBreadcrumbProps = + UIMatch + +export const CustomerGroupDetailBreadcrumb = ( + props: CustomerGroupDetailBreadcrumbProps +) => { + const { id } = props.params || {} + + const { customer_group } = useCustomerGroup( + id!, + { + fields: CUSTOMER_GROUP_DETAIL_FIELDS, + }, + { + initialData: props.data, + enabled: Boolean(id), + } + ) + + if (!customer_group) { + return null + } + + return {customer_group.name} +} diff --git a/packages/admin/dashboard/src/routes/customer-groups/customer-group-detail/constants.ts b/packages/admin/dashboard/src/routes/customer-groups/customer-group-detail/constants.ts new file mode 100644 index 0000000000000..bd1ebdf4baa6e --- /dev/null +++ b/packages/admin/dashboard/src/routes/customer-groups/customer-group-detail/constants.ts @@ -0,0 +1 @@ +export const CUSTOMER_GROUP_DETAIL_FIELDS = "+customers.id" diff --git a/packages/admin/dashboard/src/routes/customer-groups/customer-group-detail/customer-group-detail.tsx b/packages/admin/dashboard/src/routes/customer-groups/customer-group-detail/customer-group-detail.tsx index 17d79633ac746..65c81efaabf60 100644 --- a/packages/admin/dashboard/src/routes/customer-groups/customer-group-detail/customer-group-detail.tsx +++ b/packages/admin/dashboard/src/routes/customer-groups/customer-group-detail/customer-group-detail.tsx @@ -8,6 +8,7 @@ import { customerGroupLoader } from "./loader" import { SingleColumnPageSkeleton } from "../../../components/common/skeleton" import { useDashboardExtension } from "../../../extensions" +import { CUSTOMER_GROUP_DETAIL_FIELDS } from "./constants" export const CustomerGroupDetail = () => { const initialData = useLoaderData() as Awaited< @@ -18,7 +19,7 @@ export const CustomerGroupDetail = () => { const { customer_group, isLoading, isError, error } = useCustomerGroup( id!, { - fields: "+customers.id", + fields: CUSTOMER_GROUP_DETAIL_FIELDS, }, { initialData } ) diff --git a/packages/admin/dashboard/src/routes/customer-groups/customer-group-detail/index.ts b/packages/admin/dashboard/src/routes/customer-groups/customer-group-detail/index.ts index c1f4e53399bd9..2765f2827faa6 100644 --- a/packages/admin/dashboard/src/routes/customer-groups/customer-group-detail/index.ts +++ b/packages/admin/dashboard/src/routes/customer-groups/customer-group-detail/index.ts @@ -1,2 +1,3 @@ +export { CustomerGroupDetailBreadcrumb as Breadcrumb } from "./breadcrumb" export { CustomerGroupDetail as Component } from "./customer-group-detail" export { customerGroupLoader as loader } from "./loader" diff --git a/packages/admin/dashboard/src/routes/customer-groups/customer-group-detail/loader.ts b/packages/admin/dashboard/src/routes/customer-groups/customer-group-detail/loader.ts index 8538ead153f83..7d43ad6d4fa8d 100644 --- a/packages/admin/dashboard/src/routes/customer-groups/customer-group-detail/loader.ts +++ b/packages/admin/dashboard/src/routes/customer-groups/customer-group-detail/loader.ts @@ -1,14 +1,14 @@ -import { HttpTypes } from "@medusajs/types" import { LoaderFunctionArgs } from "react-router-dom" import { productsQueryKeys } from "../../../hooks/api/products" import { sdk } from "../../../lib/client" import { queryClient } from "../../../lib/query-client" +import { CUSTOMER_GROUP_DETAIL_FIELDS } from "./constants" const customerGroupDetailQuery = (id: string) => ({ queryKey: productsQueryKeys.detail(id), queryFn: async () => sdk.admin.customerGroup.retrieve(id, { - fields: "+customers.id", + fields: CUSTOMER_GROUP_DETAIL_FIELDS, }), }) @@ -16,9 +16,5 @@ export const customerGroupLoader = async ({ params }: LoaderFunctionArgs) => { const id = params.id const query = customerGroupDetailQuery(id!) - return ( - queryClient.getQueryData<{ - customer_group: HttpTypes.AdminCustomerGroup - }>(query.queryKey) ?? (await queryClient.fetchQuery(query)) - ) + return queryClient.ensureQueryData(query) } diff --git a/packages/admin/dashboard/src/routes/customers/customer-detail/breadcrumb.tsx b/packages/admin/dashboard/src/routes/customers/customer-detail/breadcrumb.tsx new file mode 100644 index 0000000000000..8278c4250f3cc --- /dev/null +++ b/packages/admin/dashboard/src/routes/customers/customer-detail/breadcrumb.tsx @@ -0,0 +1,29 @@ +import { HttpTypes } from "@medusajs/types" +import { UIMatch } from "react-router-dom" + +import { useCustomer } from "../../../hooks/api" + +type CustomerDetailBreadcrumbProps = UIMatch + +export const CustomerDetailBreadcrumb = ( + props: CustomerDetailBreadcrumbProps +) => { + const { id } = props.params || {} + + const { customer } = useCustomer(id!, undefined, { + initialData: props.data, + enabled: Boolean(id), + }) + + if (!customer) { + return null + } + + const name = [customer.first_name, customer.last_name] + .filter(Boolean) + .join(" ") + + const display = name || customer.email + + return {display} +} diff --git a/packages/admin/dashboard/src/routes/customers/customer-detail/index.ts b/packages/admin/dashboard/src/routes/customers/customer-detail/index.ts index bed23b93e7de2..edd694dd101eb 100644 --- a/packages/admin/dashboard/src/routes/customers/customer-detail/index.ts +++ b/packages/admin/dashboard/src/routes/customers/customer-detail/index.ts @@ -1,2 +1,3 @@ +export { CustomerDetailBreadcrumb as Breadcrumb } from "./breadcrumb" export { CustomerDetail as Component } from "./customer-detail" export { customerLoader as loader } from "./loader" diff --git a/packages/admin/dashboard/src/routes/customers/customer-detail/loader.ts b/packages/admin/dashboard/src/routes/customers/customer-detail/loader.ts index 51e19f22f24c0..eebfaa84f9378 100644 --- a/packages/admin/dashboard/src/routes/customers/customer-detail/loader.ts +++ b/packages/admin/dashboard/src/routes/customers/customer-detail/loader.ts @@ -2,7 +2,6 @@ import { LoaderFunctionArgs } from "react-router-dom" import { productsQueryKeys } from "../../../hooks/api/products" import { sdk } from "../../../lib/client" import { queryClient } from "../../../lib/query-client" -import { HttpTypes } from "@medusajs/types" const customerDetailQuery = (id: string) => ({ queryKey: productsQueryKeys.detail(id), @@ -13,9 +12,5 @@ export const customerLoader = async ({ params }: LoaderFunctionArgs) => { const id = params.id const query = customerDetailQuery(id!) - return ( - queryClient.getQueryData<{ customer: HttpTypes.AdminCustomer }>( - query.queryKey - ) ?? (await queryClient.fetchQuery(query)) - ) + return queryClient.ensureQueryData(query) } diff --git a/packages/admin/dashboard/src/routes/inventory/inventory-detail/breadcrumb.tsx b/packages/admin/dashboard/src/routes/inventory/inventory-detail/breadcrumb.tsx new file mode 100644 index 0000000000000..9e9f7a30b1188 --- /dev/null +++ b/packages/admin/dashboard/src/routes/inventory/inventory-detail/breadcrumb.tsx @@ -0,0 +1,31 @@ +import { HttpTypes } from "@medusajs/types" +import { UIMatch } from "react-router-dom" + +import { useInventoryItem } from "../../../hooks/api" +import { INVENTORY_DETAIL_FIELDS } from "./constants" + +type InventoryDetailBreadcrumbProps = + UIMatch + +export const InventoryDetailBreadcrumb = ( + props: InventoryDetailBreadcrumbProps +) => { + const { id } = props.params || {} + + const { inventory_item } = useInventoryItem( + id!, + { + fields: INVENTORY_DETAIL_FIELDS, + }, + { + initialData: props.data, + enabled: Boolean(id), + } + ) + + if (!inventory_item) { + return null + } + + return {inventory_item.title ?? inventory_item.sku ?? id} +} diff --git a/packages/admin/dashboard/src/routes/inventory/inventory-detail/constants.ts b/packages/admin/dashboard/src/routes/inventory/inventory-detail/constants.ts new file mode 100644 index 0000000000000..5e4988ae0e4d9 --- /dev/null +++ b/packages/admin/dashboard/src/routes/inventory/inventory-detail/constants.ts @@ -0,0 +1,2 @@ +export const INVENTORY_DETAIL_FIELDS = + "*variants,*variants.product,*variants.options" diff --git a/packages/admin/dashboard/src/routes/inventory/inventory-detail/index.ts b/packages/admin/dashboard/src/routes/inventory/inventory-detail/index.ts index 730d046ba45b1..205367ecd5948 100644 --- a/packages/admin/dashboard/src/routes/inventory/inventory-detail/index.ts +++ b/packages/admin/dashboard/src/routes/inventory/inventory-detail/index.ts @@ -1,2 +1,3 @@ +export { InventoryDetailBreadcrumb as Breadcrumb } from "./breadcrumb" export { InventoryDetail as Component } from "./inventory-detail" export { inventoryItemLoader as loader } from "./loader" diff --git a/packages/admin/dashboard/src/routes/inventory/inventory-detail/inventory-detail.tsx b/packages/admin/dashboard/src/routes/inventory/inventory-detail/inventory-detail.tsx index d68a413a90489..43a6b0dd5146b 100644 --- a/packages/admin/dashboard/src/routes/inventory/inventory-detail/inventory-detail.tsx +++ b/packages/admin/dashboard/src/routes/inventory/inventory-detail/inventory-detail.tsx @@ -11,6 +11,7 @@ import { InventoryItemVariantsSection } from "./components/inventory-item-varian import { inventoryItemLoader } from "./loader" import { useDashboardExtension } from "../../../extensions" +import { INVENTORY_DETAIL_FIELDS } from "./constants" export const InventoryDetail = () => { const { id } = useParams() @@ -27,7 +28,7 @@ export const InventoryDetail = () => { } = useInventoryItem( id!, { - fields: "*variants,*variants.product,*variants.options", + fields: INVENTORY_DETAIL_FIELDS, }, { initialData, diff --git a/packages/admin/dashboard/src/routes/inventory/inventory-detail/loader.ts b/packages/admin/dashboard/src/routes/inventory/inventory-detail/loader.ts index d51f996d2edbc..7c55e44035054 100644 --- a/packages/admin/dashboard/src/routes/inventory/inventory-detail/loader.ts +++ b/packages/admin/dashboard/src/routes/inventory/inventory-detail/loader.ts @@ -1,15 +1,15 @@ import { LoaderFunctionArgs } from "react-router-dom" -import { HttpTypes } from "@medusajs/types" import { inventoryItemsQueryKeys } from "../../../hooks/api/inventory" import { sdk } from "../../../lib/client" import { queryClient } from "../../../lib/query-client" +import { INVENTORY_DETAIL_FIELDS } from "./constants" const inventoryDetailQuery = (id: string) => ({ queryKey: inventoryItemsQueryKeys.detail(id), queryFn: async () => sdk.admin.inventoryItem.retrieve(id, { - fields: "*variants,*variants.product,*variants.options", + fields: INVENTORY_DETAIL_FIELDS, }), }) @@ -17,9 +17,5 @@ export const inventoryItemLoader = async ({ params }: LoaderFunctionArgs) => { const id = params.id const query = inventoryDetailQuery(id!) - return ( - queryClient.getQueryData( - query.queryKey - ) ?? (await queryClient.fetchQuery(query)) - ) + return queryClient.ensureQueryData(query) } diff --git a/packages/admin/dashboard/src/routes/inventory/inventory-list/inventory-list.tsx b/packages/admin/dashboard/src/routes/inventory/inventory-list/inventory-list.tsx index c94acfdf47d37..a26036f8dcb94 100644 --- a/packages/admin/dashboard/src/routes/inventory/inventory-list/inventory-list.tsx +++ b/packages/admin/dashboard/src/routes/inventory/inventory-list/inventory-list.tsx @@ -1,11 +1,18 @@ +import { SingleColumnPage } from "../../../components/layout/pages" +import { useDashboardExtension } from "../../../extensions" import { InventoryListTable } from "./components/inventory-list-table" -import { Outlet } from "react-router-dom" export const InventoryItemListTable = () => { + const { getWidgets } = useDashboardExtension() + return ( -
    + - -
    + ) } diff --git a/packages/admin/dashboard/src/routes/locations/location-detail/breadcrumb.tsx b/packages/admin/dashboard/src/routes/locations/location-detail/breadcrumb.tsx new file mode 100644 index 0000000000000..efdff21669584 --- /dev/null +++ b/packages/admin/dashboard/src/routes/locations/location-detail/breadcrumb.tsx @@ -0,0 +1,31 @@ +import { HttpTypes } from "@medusajs/types" +import { UIMatch } from "react-router-dom" + +import { useStockLocation } from "../../../hooks/api/stock-locations" +import { LOCATION_DETAILS_FIELD } from "./constants" + +type LocationDetailBreadcrumbProps = + UIMatch + +export const LocationDetailBreadcrumb = ( + props: LocationDetailBreadcrumbProps +) => { + const { location_id } = props.params || {} + + const { stock_location } = useStockLocation( + location_id!, + { + fields: LOCATION_DETAILS_FIELD, + }, + { + initialData: props.data, + enabled: Boolean(location_id), + } + ) + + if (!stock_location) { + return null + } + + return {stock_location.name} +} diff --git a/packages/admin/dashboard/src/routes/locations/location-detail/const.ts b/packages/admin/dashboard/src/routes/locations/location-detail/constants.ts similarity index 90% rename from packages/admin/dashboard/src/routes/locations/location-detail/const.ts rename to packages/admin/dashboard/src/routes/locations/location-detail/constants.ts index c15c45a951360..78f963317d20a 100644 --- a/packages/admin/dashboard/src/routes/locations/location-detail/const.ts +++ b/packages/admin/dashboard/src/routes/locations/location-detail/constants.ts @@ -1,2 +1,2 @@ -export const detailsFields = +export const LOCATION_DETAILS_FIELD = "name,*sales_channels,*address,fulfillment_sets.type,fulfillment_sets.name,*fulfillment_sets.service_zones.geo_zones,*fulfillment_sets.service_zones,*fulfillment_sets.service_zones.shipping_options,*fulfillment_sets.service_zones.shipping_options.rules,*fulfillment_sets.service_zones.shipping_options.shipping_profile,*fulfillment_providers" diff --git a/packages/admin/dashboard/src/routes/locations/location-detail/index.ts b/packages/admin/dashboard/src/routes/locations/location-detail/index.ts index 7aab908774ceb..4f04ed8d2487e 100644 --- a/packages/admin/dashboard/src/routes/locations/location-detail/index.ts +++ b/packages/admin/dashboard/src/routes/locations/location-detail/index.ts @@ -1,2 +1,3 @@ +export { LocationDetailBreadcrumb as Breadcrumb } from "./breadcrumb" export { locationLoader as loader } from "./loader" export { LocationDetail as Component } from "./location-detail" diff --git a/packages/admin/dashboard/src/routes/locations/location-detail/loader.ts b/packages/admin/dashboard/src/routes/locations/location-detail/loader.ts index 07d435ef146ce..7c1bc859a2272 100644 --- a/packages/admin/dashboard/src/routes/locations/location-detail/loader.ts +++ b/packages/admin/dashboard/src/routes/locations/location-detail/loader.ts @@ -1,38 +1,23 @@ -import { HttpTypes } from "@medusajs/types" -import { LoaderFunctionArgs, redirect } from "react-router-dom" +import { LoaderFunctionArgs } from "react-router-dom" -import { FetchError } from "@medusajs/js-sdk" import { stockLocationsQueryKeys } from "../../../hooks/api/stock-locations" import { sdk } from "../../../lib/client" import { queryClient } from "../../../lib/query-client" -import { detailsFields } from "./const" +import { LOCATION_DETAILS_FIELD } from "./constants" const locationQuery = (id: string) => ({ queryKey: stockLocationsQueryKeys.detail(id, { - fields: detailsFields, + fields: LOCATION_DETAILS_FIELD, }), - queryFn: async () => { - return await sdk.admin.stockLocation - .retrieve(id, { - fields: detailsFields, - }) - .catch((error: FetchError) => { - if (error.status === 401) { - throw redirect("/login") - } - - throw error - }) - }, + queryFn: async () => + sdk.admin.stockLocation.retrieve(id, { + fields: LOCATION_DETAILS_FIELD, + }), }) export const locationLoader = async ({ params }: LoaderFunctionArgs) => { const id = params.location_id const query = locationQuery(id!) - return ( - queryClient.getQueryData<{ stock_location: HttpTypes.AdminStockLocation }>( - query.queryKey - ) ?? (await queryClient.fetchQuery(query)) - ) + return queryClient.ensureQueryData(query) } diff --git a/packages/admin/dashboard/src/routes/locations/location-detail/location-detail.tsx b/packages/admin/dashboard/src/routes/locations/location-detail/location-detail.tsx index 9af3ee7389deb..e7a60dbb57ddf 100644 --- a/packages/admin/dashboard/src/routes/locations/location-detail/location-detail.tsx +++ b/packages/admin/dashboard/src/routes/locations/location-detail/location-detail.tsx @@ -9,7 +9,7 @@ import { TwoColumnPageSkeleton } from "../../../components/common/skeleton" import { TwoColumnPage } from "../../../components/layout/pages" import { useDashboardExtension } from "../../../extensions" import LocationsFulfillmentProvidersSection from "./components/location-fulfillment-providers-section/location-fulfillment-providers-section" -import { detailsFields } from "./const" +import { LOCATION_DETAILS_FIELD } from "./constants" export const LocationDetail = () => { const initialData = useLoaderData() as Awaited< @@ -22,7 +22,11 @@ export const LocationDetail = () => { isPending: isLoading, isError, error, - } = useStockLocation(location_id!, { fields: detailsFields }, { initialData }) + } = useStockLocation( + location_id!, + { fields: LOCATION_DETAILS_FIELD }, + { initialData } + ) const { getWidgets } = useDashboardExtension() diff --git a/packages/admin/dashboard/src/routes/orders/order-detail/breadcrumb.tsx b/packages/admin/dashboard/src/routes/orders/order-detail/breadcrumb.tsx new file mode 100644 index 0000000000000..36ca4db27792c --- /dev/null +++ b/packages/admin/dashboard/src/routes/orders/order-detail/breadcrumb.tsx @@ -0,0 +1,27 @@ +import { HttpTypes } from "@medusajs/types" +import { UIMatch } from "react-router-dom" +import { useOrder } from "../../../hooks/api" +import { DEFAULT_FIELDS } from "./constants" + +type OrderDetailBreadcrumbProps = UIMatch + +export const OrderDetailBreadcrumb = (props: OrderDetailBreadcrumbProps) => { + const { id } = props.params || {} + + const { order } = useOrder( + id!, + { + fields: DEFAULT_FIELDS, + }, + { + initialData: props.data, + enabled: Boolean(id), + } + ) + + if (!order) { + return null + } + + return #{order.display_id} +} diff --git a/packages/admin/dashboard/src/routes/orders/order-detail/index.ts b/packages/admin/dashboard/src/routes/orders/order-detail/index.ts index 72ffee80e5c53..bff005715aa3b 100644 --- a/packages/admin/dashboard/src/routes/orders/order-detail/index.ts +++ b/packages/admin/dashboard/src/routes/orders/order-detail/index.ts @@ -1,2 +1,3 @@ +export { OrderDetailBreadcrumb as Breadcrumb } from "./breadcrumb" export { orderLoader as loader } from "./loader" export { OrderDetail as Component } from "./order-detail" diff --git a/packages/admin/dashboard/src/routes/orders/order-detail/loader.ts b/packages/admin/dashboard/src/routes/orders/order-detail/loader.ts index febd09579e565..036cb5aecb0cb 100644 --- a/packages/admin/dashboard/src/routes/orders/order-detail/loader.ts +++ b/packages/admin/dashboard/src/routes/orders/order-detail/loader.ts @@ -1,6 +1,5 @@ import { LoaderFunctionArgs } from "react-router-dom" -import { HttpTypes } from "@medusajs/types" import { ordersQueryKeys } from "../../../hooks/api/orders" import { sdk } from "../../../lib/client" import { queryClient } from "../../../lib/query-client" @@ -18,8 +17,5 @@ export const orderLoader = async ({ params }: LoaderFunctionArgs) => { const id = params.id const query = orderDetailQuery(id!) - return ( - queryClient.getQueryData(query.queryKey) ?? - (await queryClient.fetchQuery(query)) - ) + return queryClient.ensureQueryData(query) } diff --git a/packages/admin/dashboard/src/routes/price-lists/price-list-detail/breadcrumb.tsx b/packages/admin/dashboard/src/routes/price-lists/price-list-detail/breadcrumb.tsx new file mode 100644 index 0000000000000..89c3f1fa236f4 --- /dev/null +++ b/packages/admin/dashboard/src/routes/price-lists/price-list-detail/breadcrumb.tsx @@ -0,0 +1,23 @@ +import { HttpTypes } from "@medusajs/types" +import { UIMatch } from "react-router-dom" + +import { usePriceList } from "../../../hooks/api" + +type PriceListDetailBreadcrumbProps = UIMatch + +export const PriceListDetailBreadcrumb = ( + props: PriceListDetailBreadcrumbProps +) => { + const { id } = props.params || {} + + const { price_list } = usePriceList(id!, undefined, { + initialData: props.data, + enabled: Boolean(id), + }) + + if (!price_list) { + return null + } + + return {price_list.title} +} diff --git a/packages/admin/dashboard/src/routes/price-lists/price-list-detail/index.ts b/packages/admin/dashboard/src/routes/price-lists/price-list-detail/index.ts index a15288c41fe42..0b5c80147e975 100644 --- a/packages/admin/dashboard/src/routes/price-lists/price-list-detail/index.ts +++ b/packages/admin/dashboard/src/routes/price-lists/price-list-detail/index.ts @@ -1,2 +1,3 @@ +export { PriceListDetailBreadcrumb as Breadcrumb } from "./breadcrumb" export { pricingLoader as loader } from "./loader" export { PriceListDetails as Component } from "./price-list-detail" diff --git a/packages/admin/dashboard/src/routes/price-lists/price-list-detail/loader.ts b/packages/admin/dashboard/src/routes/price-lists/price-list-detail/loader.ts index 08c23dc251653..4a03d34672c49 100644 --- a/packages/admin/dashboard/src/routes/price-lists/price-list-detail/loader.ts +++ b/packages/admin/dashboard/src/routes/price-lists/price-list-detail/loader.ts @@ -1,4 +1,3 @@ -import { HttpTypes } from "@medusajs/types" import { LoaderFunctionArgs } from "react-router-dom" import { priceListsQueryKeys } from "../../../hooks/api/price-lists" import { sdk } from "../../../lib/client" @@ -13,9 +12,5 @@ export const pricingLoader = async ({ params }: LoaderFunctionArgs) => { const id = params.id const query = pricingDetailQuery(id!) - return ( - queryClient.getQueryData( - query.queryKey - ) ?? (await queryClient.fetchQuery(query)) - ) + return queryClient.ensureQueryData(query) } diff --git a/packages/admin/dashboard/src/routes/product-tags/product-tag-detail/breadcrumb.tsx b/packages/admin/dashboard/src/routes/product-tags/product-tag-detail/breadcrumb.tsx new file mode 100644 index 0000000000000..34a5fa2344d75 --- /dev/null +++ b/packages/admin/dashboard/src/routes/product-tags/product-tag-detail/breadcrumb.tsx @@ -0,0 +1,23 @@ +import { HttpTypes } from "@medusajs/types" +import { UIMatch } from "react-router-dom" +import { useProductTag } from "../../../hooks/api" + +type ProductTagDetailBreadcrumbProps = + UIMatch + +export const ProductTagDetailBreadcrumb = ( + props: ProductTagDetailBreadcrumbProps +) => { + const { id } = props.params || {} + + const { product_tag } = useProductTag(id!, undefined, { + initialData: props.data, + enabled: Boolean(id), + }) + + if (!product_tag) { + return null + } + + return {product_tag.value} +} diff --git a/packages/admin/dashboard/src/routes/product-tags/product-tag-detail/index.ts b/packages/admin/dashboard/src/routes/product-tags/product-tag-detail/index.ts index 5464ac6b2e0d1..67290d2aae17c 100644 --- a/packages/admin/dashboard/src/routes/product-tags/product-tag-detail/index.ts +++ b/packages/admin/dashboard/src/routes/product-tags/product-tag-detail/index.ts @@ -1,2 +1,3 @@ +export { ProductTagDetailBreadcrumb as Breadcrumb } from "./breadcrumb" export { productTagLoader as loader } from "./loader" export { ProductTagDetail as Component } from "./product-tag-detail" diff --git a/packages/admin/dashboard/src/routes/product-tags/product-tag-detail/loader.ts b/packages/admin/dashboard/src/routes/product-tags/product-tag-detail/loader.ts index 896faa6016bb6..d11a3a7f235f1 100644 --- a/packages/admin/dashboard/src/routes/product-tags/product-tag-detail/loader.ts +++ b/packages/admin/dashboard/src/routes/product-tags/product-tag-detail/loader.ts @@ -13,8 +13,5 @@ export const productTagLoader = async ({ params }: LoaderFunctionArgs) => { const id = params.id const query = productTagDetailQuery(id!) - return ( - queryClient.getQueryData(query.queryKey) ?? - (await queryClient.fetchQuery(query)) - ) + return queryClient.ensureQueryData(query) } diff --git a/packages/admin/dashboard/src/routes/product-types/product-type-detail/breadcrumb.tsx b/packages/admin/dashboard/src/routes/product-types/product-type-detail/breadcrumb.tsx new file mode 100644 index 0000000000000..dcc0e8353b147 --- /dev/null +++ b/packages/admin/dashboard/src/routes/product-types/product-type-detail/breadcrumb.tsx @@ -0,0 +1,24 @@ +import { HttpTypes } from "@medusajs/types" +import { UIMatch } from "react-router-dom" + +import { useProductType } from "../../../hooks/api" + +type ProductTypeDetailBreadcrumbProps = + UIMatch + +export const ProductTypeDetailBreadcrumb = ( + props: ProductTypeDetailBreadcrumbProps +) => { + const { id } = props.params || {} + + const { product_type } = useProductType(id!, undefined, { + initialData: props.data, + enabled: Boolean(id), + }) + + if (!product_type) { + return null + } + + return {product_type.value} +} diff --git a/packages/admin/dashboard/src/routes/product-types/product-type-detail/index.ts b/packages/admin/dashboard/src/routes/product-types/product-type-detail/index.ts index 098bfbc1edcb1..83df010a8bb04 100644 --- a/packages/admin/dashboard/src/routes/product-types/product-type-detail/index.ts +++ b/packages/admin/dashboard/src/routes/product-types/product-type-detail/index.ts @@ -1,2 +1,3 @@ +export { ProductTypeDetailBreadcrumb as Breadcrumb } from "./breadcrumb" export { productTypeLoader as loader } from "./loader" export { ProductTypeDetail as Component } from "./product-type-detail" diff --git a/packages/admin/dashboard/src/routes/product-types/product-type-detail/loader.ts b/packages/admin/dashboard/src/routes/product-types/product-type-detail/loader.ts index 15f5142903e07..9bdbd5595f6fd 100644 --- a/packages/admin/dashboard/src/routes/product-types/product-type-detail/loader.ts +++ b/packages/admin/dashboard/src/routes/product-types/product-type-detail/loader.ts @@ -1,6 +1,5 @@ import { LoaderFunctionArgs } from "react-router-dom" -import { HttpTypes } from "@medusajs/types" import { productTypesQueryKeys } from "../../../hooks/api/product-types" import { sdk } from "../../../lib/client" import { queryClient } from "../../../lib/query-client" @@ -14,9 +13,5 @@ export const productTypeLoader = async ({ params }: LoaderFunctionArgs) => { const id = params.id const query = productTypeDetailQuery(id!) - return ( - queryClient.getQueryData( - query.queryKey - ) ?? (await queryClient.fetchQuery(query)) - ) + return queryClient.ensureQueryData(query) } diff --git a/packages/admin/dashboard/src/routes/product-variants/product-variant-detail/breadcrumb.tsx b/packages/admin/dashboard/src/routes/product-variants/product-variant-detail/breadcrumb.tsx new file mode 100644 index 0000000000000..730ee435ab399 --- /dev/null +++ b/packages/admin/dashboard/src/routes/product-variants/product-variant-detail/breadcrumb.tsx @@ -0,0 +1,31 @@ +import { HttpTypes } from "@medusajs/types" +import { UIMatch } from "react-router-dom" +import { useProductVariant } from "../../../hooks/api" +import { VARIANT_DETAIL_FIELDS } from "./constants" + +type ProductVariantDetailBreadcrumbProps = + UIMatch + +export const ProductVariantDetailBreadcrumb = ( + props: ProductVariantDetailBreadcrumbProps +) => { + const { id, variant_id } = props.params || {} + + const { variant } = useProductVariant( + id!, + variant_id!, + { + fields: VARIANT_DETAIL_FIELDS, + }, + { + initialData: props.data, + enabled: Boolean(id) && Boolean(variant_id), + } + ) + + if (!variant) { + return null + } + + return {variant.title} +} diff --git a/packages/admin/dashboard/src/routes/product-variants/product-variant-detail/index.ts b/packages/admin/dashboard/src/routes/product-variants/product-variant-detail/index.ts index aca57b8850722..73598d513f71e 100644 --- a/packages/admin/dashboard/src/routes/product-variants/product-variant-detail/index.ts +++ b/packages/admin/dashboard/src/routes/product-variants/product-variant-detail/index.ts @@ -1,2 +1,3 @@ +export { ProductVariantDetailBreadcrumb as Breadcrumb } from "./breadcrumb" export { variantLoader as loader } from "./loader" export { ProductVariantDetail as Component } from "./product-variant-detail" diff --git a/packages/admin/dashboard/src/routes/product-variants/product-variant-detail/loader.ts b/packages/admin/dashboard/src/routes/product-variants/product-variant-detail/loader.ts index 0a9167c330e17..973bcb3a91b23 100644 --- a/packages/admin/dashboard/src/routes/product-variants/product-variant-detail/loader.ts +++ b/packages/admin/dashboard/src/routes/product-variants/product-variant-detail/loader.ts @@ -21,8 +21,5 @@ export const variantLoader = async ({ params }: LoaderFunctionArgs) => { const query = variantDetailQuery(productId!, variantId!) - return ( - queryClient.getQueryData(query.queryKey) ?? - (await queryClient.fetchQuery(query)) - ) + return queryClient.ensureQueryData(query) } diff --git a/packages/admin/dashboard/src/routes/product-variants/product-variant-detail/product-variant-detail.tsx b/packages/admin/dashboard/src/routes/product-variants/product-variant-detail/product-variant-detail.tsx index 95fcb802b209e..d7e4c116d4fd6 100644 --- a/packages/admin/dashboard/src/routes/product-variants/product-variant-detail/product-variant-detail.tsx +++ b/packages/admin/dashboard/src/routes/product-variants/product-variant-detail/product-variant-detail.tsx @@ -4,6 +4,7 @@ import { useProductVariant } from "../../../hooks/api/products" import { TwoColumnPageSkeleton } from "../../../components/common/skeleton" import { TwoColumnPage } from "../../../components/layout/pages" +import { useDashboardExtension } from "../../../extensions" import { VariantGeneralSection } from "./components/variant-general-section" import { InventorySectionPlaceholder, @@ -28,6 +29,8 @@ export const ProductVariantDetail = () => { } ) + const { getWidgets } = useDashboardExtension() + if (isLoading || !variant) { return ( { hasOutlet showJSON showMetadata - // TODO: Add widgets zones for variant detail page widgets={{ - after: [], - before: [], - sideAfter: [], - sideBefore: [], + after: getWidgets("product_variant.details.after"), + before: getWidgets("product_variant.details.before"), + sideAfter: getWidgets("product_variant.details.side.after"), + sideBefore: getWidgets("product_variant.details.side.before"), }} > diff --git a/packages/admin/dashboard/src/routes/products/product-detail/breadcrumb.tsx b/packages/admin/dashboard/src/routes/products/product-detail/breadcrumb.tsx new file mode 100644 index 0000000000000..1abc880571c47 --- /dev/null +++ b/packages/admin/dashboard/src/routes/products/product-detail/breadcrumb.tsx @@ -0,0 +1,29 @@ +import { HttpTypes } from "@medusajs/types" +import { UIMatch } from "react-router-dom" +import { useProduct } from "../../../hooks/api" +import { PRODUCT_DETAIL_FIELDS } from "./constants" + +type ProductDetailBreadcrumbProps = UIMatch + +export const ProductDetailBreadcrumb = ( + props: ProductDetailBreadcrumbProps +) => { + const { id } = props.params || {} + + const { product } = useProduct( + id!, + { + fields: PRODUCT_DETAIL_FIELDS, + }, + { + initialData: props.data, + enabled: Boolean(id), + } + ) + + if (!product) { + return null + } + + return {product.title} +} diff --git a/packages/admin/dashboard/src/routes/products/product-detail/index.ts b/packages/admin/dashboard/src/routes/products/product-detail/index.ts index afc54745c9306..eeb6d5461b1b8 100644 --- a/packages/admin/dashboard/src/routes/products/product-detail/index.ts +++ b/packages/admin/dashboard/src/routes/products/product-detail/index.ts @@ -1,2 +1,3 @@ +export { ProductDetailBreadcrumb as Breadcrumb } from "./breadcrumb" export { productLoader as loader } from "./loader" export { ProductDetail as Component } from "./product-detail" diff --git a/packages/admin/dashboard/src/routes/products/product-detail/loader.ts b/packages/admin/dashboard/src/routes/products/product-detail/loader.ts index bf659944a71ea..fa1375a7004d6 100644 --- a/packages/admin/dashboard/src/routes/products/product-detail/loader.ts +++ b/packages/admin/dashboard/src/routes/products/product-detail/loader.ts @@ -6,7 +6,7 @@ import { queryClient } from "../../../lib/query-client" import { PRODUCT_DETAIL_FIELDS } from "./constants" const productDetailQuery = (id: string) => ({ - queryKey: productsQueryKeys.detail(id), + queryKey: productsQueryKeys.detail(id, { fields: PRODUCT_DETAIL_FIELDS }), queryFn: async () => sdk.admin.product.retrieve(id, { fields: PRODUCT_DETAIL_FIELDS }), }) @@ -15,8 +15,10 @@ export const productLoader = async ({ params }: LoaderFunctionArgs) => { const id = params.id const query = productDetailQuery(id!) - return ( - queryClient.getQueryData(query.queryKey) ?? - (await queryClient.fetchQuery(query)) - ) + const response = await queryClient.ensureQueryData({ + ...query, + staleTime: 90000, + }) + + return response } diff --git a/packages/admin/dashboard/src/routes/promotions/promotion-detail/breadcrumb.tsx b/packages/admin/dashboard/src/routes/promotions/promotion-detail/breadcrumb.tsx new file mode 100644 index 0000000000000..4cc936851412e --- /dev/null +++ b/packages/admin/dashboard/src/routes/promotions/promotion-detail/breadcrumb.tsx @@ -0,0 +1,22 @@ +import { HttpTypes } from "@medusajs/types" +import { UIMatch } from "react-router-dom" +import { usePromotion } from "../../../hooks/api" + +type PromotionDetailBreadcrumbProps = UIMatch + +export const PromotionDetailBreadcrumb = ( + props: PromotionDetailBreadcrumbProps +) => { + const { id } = props.params || {} + + const { promotion } = usePromotion(id!, { + initialData: props.data, + enabled: Boolean(id), + }) + + if (!promotion) { + return null + } + + return {promotion.code} +} diff --git a/packages/admin/dashboard/src/routes/promotions/promotion-detail/index.ts b/packages/admin/dashboard/src/routes/promotions/promotion-detail/index.ts index a40fbfe52a56a..d2ee0b33b3004 100644 --- a/packages/admin/dashboard/src/routes/promotions/promotion-detail/index.ts +++ b/packages/admin/dashboard/src/routes/promotions/promotion-detail/index.ts @@ -1,2 +1,3 @@ +export { PromotionDetailBreadcrumb as Breadcrumb } from "./breadcrumb" export { promotionLoader as loader } from "./loader.ts" export { PromotionDetail as Component } from "./promotion-detail.tsx" diff --git a/packages/admin/dashboard/src/routes/promotions/promotion-detail/loader.ts b/packages/admin/dashboard/src/routes/promotions/promotion-detail/loader.ts index b476693132825..49d53da68b731 100644 --- a/packages/admin/dashboard/src/routes/promotions/promotion-detail/loader.ts +++ b/packages/admin/dashboard/src/routes/promotions/promotion-detail/loader.ts @@ -1,4 +1,3 @@ -import { HttpTypes } from "@medusajs/types" import { LoaderFunctionArgs } from "react-router-dom" import { promotionsQueryKeys } from "../../../hooks/api/promotions" import { sdk } from "../../../lib/client" @@ -13,9 +12,5 @@ export const promotionLoader = async ({ params }: LoaderFunctionArgs) => { const id = params.id const query = promotionDetailQuery(id!) - return ( - queryClient.getQueryData( - query.queryKey - ) ?? (await queryClient.fetchQuery(query)) - ) + return queryClient.ensureQueryData(query) } diff --git a/packages/admin/dashboard/src/routes/regions/region-detail/breadcrumb.tsx b/packages/admin/dashboard/src/routes/regions/region-detail/breadcrumb.tsx new file mode 100644 index 0000000000000..c6673aaae3b24 --- /dev/null +++ b/packages/admin/dashboard/src/routes/regions/region-detail/breadcrumb.tsx @@ -0,0 +1,27 @@ +import { HttpTypes } from "@medusajs/types" +import { UIMatch } from "react-router-dom" +import { useRegion } from "../../../hooks/api/regions" +import { REGION_DETAIL_FIELDS } from "./constants" + +type RegionDetailBreadcrumbProps = UIMatch + +export const RegionDetailBreadcrumb = (props: RegionDetailBreadcrumbProps) => { + const { id } = props.params || {} + + const { region } = useRegion( + id!, + { + fields: REGION_DETAIL_FIELDS, + }, + { + initialData: props.data, + enabled: Boolean(id), + } + ) + + if (!region) { + return null + } + + return {region.name} +} diff --git a/packages/admin/dashboard/src/routes/regions/region-detail/constants.ts b/packages/admin/dashboard/src/routes/regions/region-detail/constants.ts new file mode 100644 index 0000000000000..f8b82634f55e3 --- /dev/null +++ b/packages/admin/dashboard/src/routes/regions/region-detail/constants.ts @@ -0,0 +1,2 @@ +export const REGION_DETAIL_FIELDS = + "*payment_providers,*countries,+automatic_taxes" diff --git a/packages/admin/dashboard/src/routes/regions/region-detail/index.ts b/packages/admin/dashboard/src/routes/regions/region-detail/index.ts index 17c680a88e302..c72b9957582ce 100644 --- a/packages/admin/dashboard/src/routes/regions/region-detail/index.ts +++ b/packages/admin/dashboard/src/routes/regions/region-detail/index.ts @@ -1,2 +1,3 @@ +export { RegionDetailBreadcrumb as Breadcrumb } from "./breadcrumb" export { regionLoader as loader } from "./loader" export { RegionDetail as Component } from "./region-detail" diff --git a/packages/admin/dashboard/src/routes/regions/region-detail/loader.ts b/packages/admin/dashboard/src/routes/regions/region-detail/loader.ts index 4a0bb909a1e5d..470d78c7e2815 100644 --- a/packages/admin/dashboard/src/routes/regions/region-detail/loader.ts +++ b/packages/admin/dashboard/src/routes/regions/region-detail/loader.ts @@ -3,12 +3,13 @@ import { LoaderFunctionArgs } from "react-router-dom" import { regionsQueryKeys } from "../../../hooks/api/regions" import { sdk } from "../../../lib/client" import { queryClient } from "../../../lib/query-client" +import { REGION_DETAIL_FIELDS } from "./constants" const regionQuery = (id: string) => ({ queryKey: regionsQueryKeys.detail(id), queryFn: async () => sdk.admin.region.retrieve(id, { - fields: "*payment_providers,*countries,+automatic_taxes", + fields: REGION_DETAIL_FIELDS, }), }) diff --git a/packages/admin/dashboard/src/routes/regions/region-detail/region-detail.tsx b/packages/admin/dashboard/src/routes/regions/region-detail/region-detail.tsx index 386c2e7b90e91..b9d20d5160cdd 100644 --- a/packages/admin/dashboard/src/routes/regions/region-detail/region-detail.tsx +++ b/packages/admin/dashboard/src/routes/regions/region-detail/region-detail.tsx @@ -9,6 +9,7 @@ import { SingleColumnPageSkeleton } from "../../../components/common/skeleton" import { SingleColumnPage } from "../../../components/layout/pages" import { useDashboardExtension } from "../../../extensions" import { usePricePreferences } from "../../../hooks/api/price-preferences" +import { REGION_DETAIL_FIELDS } from "./constants" export const RegionDetail = () => { const initialData = useLoaderData() as Awaited< @@ -23,7 +24,7 @@ export const RegionDetail = () => { error: regionError, } = useRegion( id!, - { fields: "*payment_providers,*countries,+automatic_taxes" }, + { fields: REGION_DETAIL_FIELDS }, { initialData, } diff --git a/packages/admin/dashboard/src/routes/reservations/reservation-detail/breadcrumb.tsx b/packages/admin/dashboard/src/routes/reservations/reservation-detail/breadcrumb.tsx new file mode 100644 index 0000000000000..b3076f0e84482 --- /dev/null +++ b/packages/admin/dashboard/src/routes/reservations/reservation-detail/breadcrumb.tsx @@ -0,0 +1,29 @@ +import { HttpTypes } from "@medusajs/types" +import { UIMatch } from "react-router-dom" + +import { useReservationItem } from "../../../hooks/api" + +type ReservationDetailBreadcrumbProps = + UIMatch + +export const ReservationDetailBreadcrumb = ( + props: ReservationDetailBreadcrumbProps +) => { + const { id } = props.params || {} + + const { reservation } = useReservationItem(id!, undefined, { + initialData: props.data, + enabled: Boolean(id), + }) + + if (!reservation) { + return null + } + + const display = + reservation?.inventory_item?.title ?? + reservation?.inventory_item?.sku ?? + reservation.id + + return {display} +} diff --git a/packages/admin/dashboard/src/routes/reservations/reservation-detail/index.ts b/packages/admin/dashboard/src/routes/reservations/reservation-detail/index.ts index ef0430880c833..bffc3f474fff7 100644 --- a/packages/admin/dashboard/src/routes/reservations/reservation-detail/index.ts +++ b/packages/admin/dashboard/src/routes/reservations/reservation-detail/index.ts @@ -1,2 +1,3 @@ +export { ReservationDetailBreadcrumb as Breadcrumb } from "./breadcrumb" export { reservationItemLoader as loader } from "./loader" export { ReservationDetail as Component } from "./reservation-detail" diff --git a/packages/admin/dashboard/src/routes/reservations/reservation-detail/loader.ts b/packages/admin/dashboard/src/routes/reservations/reservation-detail/loader.ts index dedf1c4622ba0..1088cfb4f8c25 100644 --- a/packages/admin/dashboard/src/routes/reservations/reservation-detail/loader.ts +++ b/packages/admin/dashboard/src/routes/reservations/reservation-detail/loader.ts @@ -1,4 +1,3 @@ -import { HttpTypes } from "@medusajs/types" import { LoaderFunctionArgs } from "react-router-dom" import { reservationItemsQueryKeys } from "../../../hooks/api/reservations" import { sdk } from "../../../lib/client" @@ -13,9 +12,5 @@ export const reservationItemLoader = async ({ params }: LoaderFunctionArgs) => { const id = params.id const query = reservationDetailQuery(id!) - return ( - queryClient.getQueryData( - query.queryKey - ) ?? (await queryClient.fetchQuery(query)) - ) + return queryClient.ensureQueryData(query) } diff --git a/packages/admin/dashboard/src/routes/sales-channels/sales-channel-detail/breadcrumb.tsx b/packages/admin/dashboard/src/routes/sales-channels/sales-channel-detail/breadcrumb.tsx new file mode 100644 index 0000000000000..1c2254c8a4d8f --- /dev/null +++ b/packages/admin/dashboard/src/routes/sales-channels/sales-channel-detail/breadcrumb.tsx @@ -0,0 +1,23 @@ +import { HttpTypes } from "@medusajs/types" +import { UIMatch } from "react-router-dom" +import { useSalesChannel } from "../../../hooks/api/sales-channels" + +type SalesChannelDetailBreadcrumbProps = + UIMatch + +export const SalesChannelDetailBreadcrumb = ( + props: SalesChannelDetailBreadcrumbProps +) => { + const { id } = props.params || {} + + const { sales_channel } = useSalesChannel(id!, { + initialData: props.data, + enabled: Boolean(id), + }) + + if (!sales_channel) { + return null + } + + return {sales_channel.name} +} diff --git a/packages/admin/dashboard/src/routes/sales-channels/sales-channel-detail/index.ts b/packages/admin/dashboard/src/routes/sales-channels/sales-channel-detail/index.ts index 8d5a59045f7b8..a56aa3df7dfd0 100644 --- a/packages/admin/dashboard/src/routes/sales-channels/sales-channel-detail/index.ts +++ b/packages/admin/dashboard/src/routes/sales-channels/sales-channel-detail/index.ts @@ -1,2 +1,3 @@ +export { SalesChannelDetailBreadcrumb as Breadcrumb } from "./breadcrumb" export { salesChannelLoader as loader } from "./loader" export { SalesChannelDetail as Component } from "./sales-channel-detail" diff --git a/packages/admin/dashboard/src/routes/sales-channels/sales-channel-detail/loader.ts b/packages/admin/dashboard/src/routes/sales-channels/sales-channel-detail/loader.ts index 5c58f64764ad5..7fdea88a57ac5 100644 --- a/packages/admin/dashboard/src/routes/sales-channels/sales-channel-detail/loader.ts +++ b/packages/admin/dashboard/src/routes/sales-channels/sales-channel-detail/loader.ts @@ -1,6 +1,5 @@ import { LoaderFunctionArgs } from "react-router-dom" -import { AdminSalesChannelResponse } from "@medusajs/types" import { productsQueryKeys } from "../../../hooks/api/products" import { sdk } from "../../../lib/client" import { queryClient } from "../../../lib/query-client" @@ -14,8 +13,5 @@ export const salesChannelLoader = async ({ params }: LoaderFunctionArgs) => { const id = params.id const query = salesChannelDetailQuery(id!) - return ( - queryClient.getQueryData(query.queryKey) ?? - (await queryClient.fetchQuery(query)) - ) + return queryClient.ensureQueryData(query) } diff --git a/packages/admin/dashboard/src/routes/shipping-profiles/shipping-profile-detail/breadcrumb.tsx b/packages/admin/dashboard/src/routes/shipping-profiles/shipping-profile-detail/breadcrumb.tsx new file mode 100644 index 0000000000000..af6337d943ec8 --- /dev/null +++ b/packages/admin/dashboard/src/routes/shipping-profiles/shipping-profile-detail/breadcrumb.tsx @@ -0,0 +1,27 @@ +import { HttpTypes } from "@medusajs/types" +import { UIMatch } from "react-router-dom" +import { useShippingProfile } from "../../../hooks/api/shipping-profiles" + +type ShippingProfileDetailBreadcrumbProps = + UIMatch + +export const ShippingProfileDetailBreadcrumb = ( + props: ShippingProfileDetailBreadcrumbProps +) => { + const { shipping_profile_id } = props.params || {} + + const { shipping_profile } = useShippingProfile( + shipping_profile_id!, + undefined, + { + initialData: props.data, + enabled: Boolean(shipping_profile_id), + } + ) + + if (!shipping_profile) { + return null + } + + return {shipping_profile.name} +} diff --git a/packages/admin/dashboard/src/routes/shipping-profiles/shipping-profile-detail/index.ts b/packages/admin/dashboard/src/routes/shipping-profiles/shipping-profile-detail/index.ts index c3508861c895f..5bc8051bf19ac 100644 --- a/packages/admin/dashboard/src/routes/shipping-profiles/shipping-profile-detail/index.ts +++ b/packages/admin/dashboard/src/routes/shipping-profiles/shipping-profile-detail/index.ts @@ -1,2 +1,3 @@ +export { ShippingProfileDetailBreadcrumb as Breadcrumb } from "./breadcrumb" export { shippingProfileLoader as loader } from "./loader" export { ShippingProfileDetail as Component } from "./shipping-profile-detail" diff --git a/packages/admin/dashboard/src/routes/shipping-profiles/shipping-profile-detail/loader.ts b/packages/admin/dashboard/src/routes/shipping-profiles/shipping-profile-detail/loader.ts index 2c5115afc2f4f..9e215a59cd9b3 100644 --- a/packages/admin/dashboard/src/routes/shipping-profiles/shipping-profile-detail/loader.ts +++ b/packages/admin/dashboard/src/routes/shipping-profiles/shipping-profile-detail/loader.ts @@ -1,9 +1,8 @@ -import { HttpTypes } from "@medusajs/types" import { LoaderFunctionArgs } from "react-router-dom" +import { shippingProfileQueryKeys } from "../../../hooks/api/shipping-profiles" import { sdk } from "../../../lib/client" import { queryClient } from "../../../lib/query-client" -import { shippingProfileQueryKeys } from "../../../hooks/api/shipping-profiles" const shippingProfileQuery = (id: string) => ({ queryKey: shippingProfileQueryKeys.detail(id), @@ -11,12 +10,8 @@ const shippingProfileQuery = (id: string) => ({ }) export const shippingProfileLoader = async ({ params }: LoaderFunctionArgs) => { - const id = params.id + const id = params.shipping_profile_id const query = shippingProfileQuery(id!) - return ( - queryClient.getQueryData<{ - shipping_profile: HttpTypes.AdminShippingProfile - }>(query.queryKey) ?? (await queryClient.fetchQuery(query)) - ) + return queryClient.ensureQueryData(query) } diff --git a/packages/admin/dashboard/src/routes/shipping-profiles/shipping-profile-detail/shipping-profile-detail.tsx b/packages/admin/dashboard/src/routes/shipping-profiles/shipping-profile-detail/shipping-profile-detail.tsx index 7210c26f9be57..1103360114a9c 100644 --- a/packages/admin/dashboard/src/routes/shipping-profiles/shipping-profile-detail/shipping-profile-detail.tsx +++ b/packages/admin/dashboard/src/routes/shipping-profiles/shipping-profile-detail/shipping-profile-detail.tsx @@ -1,4 +1,4 @@ -import { useParams } from "react-router-dom" +import { useLoaderData, useParams } from "react-router-dom" import { SingleColumnPageSkeleton } from "../../../components/common/skeleton" import { useShippingProfile } from "../../../hooks/api/shipping-profiles" @@ -6,12 +6,19 @@ import { ShippingProfileGeneralSection } from "./components/shipping-profile-gen import { SingleColumnPage } from "../../../components/layout/pages" import { useDashboardExtension } from "../../../extensions" +import { shippingProfileLoader } from "./loader" export const ShippingProfileDetail = () => { - const { id } = useParams() + const { shipping_profile_id } = useParams() + + const initialData = useLoaderData() as Awaited< + ReturnType + > const { shipping_profile, isLoading, isError, error } = useShippingProfile( - id! + shipping_profile_id!, + undefined, + { initialData } ) const { getWidgets } = useDashboardExtension() diff --git a/packages/admin/dashboard/src/routes/tax-regions/tax-region-detail/breadcrumb.tsx b/packages/admin/dashboard/src/routes/tax-regions/tax-region-detail/breadcrumb.tsx new file mode 100644 index 0000000000000..df240d548c0c4 --- /dev/null +++ b/packages/admin/dashboard/src/routes/tax-regions/tax-region-detail/breadcrumb.tsx @@ -0,0 +1,29 @@ +import { HttpTypes } from "@medusajs/types" +import { UIMatch } from "react-router-dom" + +import { useTaxRegion } from "../../../hooks/api" +import { getCountryByIso2 } from "../../../lib/data/countries" + +type TaxRegionDetailBreadcrumbProps = UIMatch + +export const TaxRegionDetailBreadcrumb = ( + props: TaxRegionDetailBreadcrumbProps +) => { + const { id } = props.params || {} + + const { tax_region } = useTaxRegion(id!, undefined, { + initialData: props.data, + enabled: Boolean(id), + }) + + if (!tax_region) { + return null + } + + return ( + + {getCountryByIso2(tax_region.country_code)?.display_name || + tax_region.country_code?.toUpperCase()} + + ) +} diff --git a/packages/admin/dashboard/src/routes/tax-regions/tax-region-detail/index.ts b/packages/admin/dashboard/src/routes/tax-regions/tax-region-detail/index.ts index 38f10d7514a1a..5da2958b44616 100644 --- a/packages/admin/dashboard/src/routes/tax-regions/tax-region-detail/index.ts +++ b/packages/admin/dashboard/src/routes/tax-regions/tax-region-detail/index.ts @@ -1,4 +1,5 @@ export * from "./tax-region-detail" +export { TaxRegionDetailBreadcrumb as Breadcrumb } from "./breadcrumb" export { taxRegionLoader as loader } from "./loader" export { TaxRegionDetail as Component } from "./tax-region-detail" diff --git a/packages/admin/dashboard/src/routes/tax-regions/tax-region-detail/loader.ts b/packages/admin/dashboard/src/routes/tax-regions/tax-region-detail/loader.ts index f9acdc3e6f58c..e7a57fbd7c2e1 100644 --- a/packages/admin/dashboard/src/routes/tax-regions/tax-region-detail/loader.ts +++ b/packages/admin/dashboard/src/routes/tax-regions/tax-region-detail/loader.ts @@ -1,4 +1,3 @@ -import { AdminTaxRegionResponse } from "@medusajs/types" import { LoaderFunctionArgs } from "react-router-dom" import { taxRegionsQueryKeys } from "../../../hooks/api/tax-regions" import { sdk } from "../../../lib/client" @@ -13,8 +12,5 @@ export const taxRegionLoader = async ({ params }: LoaderFunctionArgs) => { const id = params.id const query = taxRegionDetailQuery(id!) - return ( - queryClient.getQueryData(query.queryKey) ?? - (await queryClient.fetchQuery(query)) - ) + return queryClient.ensureQueryData(query) } diff --git a/packages/admin/dashboard/src/routes/tax-regions/tax-region-province-detail/breadcrumb.tsx b/packages/admin/dashboard/src/routes/tax-regions/tax-region-province-detail/breadcrumb.tsx new file mode 100644 index 0000000000000..fd8ab170f52e1 --- /dev/null +++ b/packages/admin/dashboard/src/routes/tax-regions/tax-region-province-detail/breadcrumb.tsx @@ -0,0 +1,32 @@ +import { HttpTypes } from "@medusajs/types" +import { UIMatch } from "react-router-dom" + +import { useTaxRegion } from "../../../hooks/api" +import { + getProvinceByIso2, + isProvinceInCountry, +} from "../../../lib/data/country-states" + +type TaxRegionDetailBreadcrumbProps = UIMatch + +export const TaxRegionDetailBreadcrumb = ( + props: TaxRegionDetailBreadcrumbProps +) => { + const { province_id } = props.params || {} + + const { tax_region } = useTaxRegion(province_id!, undefined, { + initialData: props.data, + enabled: Boolean(province_id), + }) + + if (!tax_region) { + return null + } + + const countryCode = tax_region.country_code?.toUpperCase() + const provinceCode = tax_region.province_code?.toUpperCase() + + const isValid = isProvinceInCountry(countryCode, provinceCode) + + return {isValid ? getProvinceByIso2(provinceCode) : provinceCode} +} diff --git a/packages/admin/dashboard/src/routes/tax-regions/tax-region-province-detail/index.ts b/packages/admin/dashboard/src/routes/tax-regions/tax-region-province-detail/index.ts index 38f10d7514a1a..5da2958b44616 100644 --- a/packages/admin/dashboard/src/routes/tax-regions/tax-region-province-detail/index.ts +++ b/packages/admin/dashboard/src/routes/tax-regions/tax-region-province-detail/index.ts @@ -1,4 +1,5 @@ export * from "./tax-region-detail" +export { TaxRegionDetailBreadcrumb as Breadcrumb } from "./breadcrumb" export { taxRegionLoader as loader } from "./loader" export { TaxRegionDetail as Component } from "./tax-region-detail" diff --git a/packages/admin/dashboard/src/routes/tax-regions/tax-region-province-detail/loader.ts b/packages/admin/dashboard/src/routes/tax-regions/tax-region-province-detail/loader.ts index 5d8a3155e8aa9..84d2f4d182851 100644 --- a/packages/admin/dashboard/src/routes/tax-regions/tax-region-province-detail/loader.ts +++ b/packages/admin/dashboard/src/routes/tax-regions/tax-region-province-detail/loader.ts @@ -1,4 +1,3 @@ -import { AdminTaxRegionResponse } from "@medusajs/types" import { LoaderFunctionArgs } from "react-router-dom" import { taxRegionsQueryKeys } from "../../../hooks/api/tax-regions" import { sdk } from "../../../lib/client" @@ -13,8 +12,5 @@ export const taxRegionLoader = async ({ params }: LoaderFunctionArgs) => { const id = params.province_id const query = taxRegionDetailQuery(id!) - return ( - queryClient.getQueryData(query.queryKey) ?? - (await queryClient.fetchQuery(query)) - ) + return queryClient.ensureQueryData(query) } diff --git a/packages/admin/dashboard/src/routes/users/user-detail/breadcrumb.tsx b/packages/admin/dashboard/src/routes/users/user-detail/breadcrumb.tsx new file mode 100644 index 0000000000000..0262e874ead10 --- /dev/null +++ b/packages/admin/dashboard/src/routes/users/user-detail/breadcrumb.tsx @@ -0,0 +1,24 @@ +import { HttpTypes } from "@medusajs/types" +import { UIMatch } from "react-router-dom" +import { useUser } from "../../../hooks/api/users" + +type UserDetailBreadcrumbProps = UIMatch + +export const UserDetailBreadcrumb = (props: UserDetailBreadcrumbProps) => { + const { id } = props.params || {} + + const { user } = useUser(id!, undefined, { + initialData: props.data, + enabled: Boolean(id), + }) + + if (!user) { + return null + } + + const name = [user.first_name, user.last_name].filter(Boolean).join(" ") + + const display = name || user.email + + return {display} +} diff --git a/packages/admin/dashboard/src/routes/users/user-detail/index.ts b/packages/admin/dashboard/src/routes/users/user-detail/index.ts index d91450c4f035f..2d6cb45999d7a 100644 --- a/packages/admin/dashboard/src/routes/users/user-detail/index.ts +++ b/packages/admin/dashboard/src/routes/users/user-detail/index.ts @@ -1,2 +1,3 @@ +export { UserDetailBreadcrumb as Breadcrumb } from "./breadcrumb" export { userLoader as loader } from "./loader" export { UserDetail as Component } from "./user-detail" diff --git a/packages/admin/dashboard/src/routes/users/user-detail/loader.ts b/packages/admin/dashboard/src/routes/users/user-detail/loader.ts index 4851460d64a76..1f4ed87891842 100644 --- a/packages/admin/dashboard/src/routes/users/user-detail/loader.ts +++ b/packages/admin/dashboard/src/routes/users/user-detail/loader.ts @@ -1,6 +1,5 @@ import { LoaderFunctionArgs } from "react-router-dom" -import { HttpTypes } from "@medusajs/types" import { productsQueryKeys } from "../../../hooks/api/products" import { sdk } from "../../../lib/client" import { queryClient } from "../../../lib/query-client" @@ -14,8 +13,5 @@ export const userLoader = async ({ params }: LoaderFunctionArgs) => { const id = params.id const query = userDetailQuery(id!) - return ( - queryClient.getQueryData(query.queryKey) ?? - (await queryClient.fetchQuery(query)) - ) + return queryClient.ensureQueryData(query) } diff --git a/packages/admin/dashboard/src/routes/workflow-executions/workflow-execution-detail/breadcrumb.tsx b/packages/admin/dashboard/src/routes/workflow-executions/workflow-execution-detail/breadcrumb.tsx new file mode 100644 index 0000000000000..4da7426c5692c --- /dev/null +++ b/packages/admin/dashboard/src/routes/workflow-executions/workflow-execution-detail/breadcrumb.tsx @@ -0,0 +1,26 @@ +import { HttpTypes } from "@medusajs/types" +import { UIMatch } from "react-router-dom" + +import { useWorkflowExecution } from "../../../hooks/api" + +type WorkflowExecutionDetailBreadcrumbProps = + UIMatch + +export const WorkflowExecutionDetailBreadcrumb = ( + props: WorkflowExecutionDetailBreadcrumbProps +) => { + const { id } = props.params || {} + + const { workflow_execution } = useWorkflowExecution(id!, { + initialData: props.data, + enabled: Boolean(id), + }) + + if (!workflow_execution) { + return null + } + + const cleanId = workflow_execution.id.replace("wf_exec_", "") + + return {cleanId} +} diff --git a/packages/admin/dashboard/src/routes/workflow-executions/workflow-execution-detail/index.ts b/packages/admin/dashboard/src/routes/workflow-executions/workflow-execution-detail/index.ts index 2289190872954..d243329092374 100644 --- a/packages/admin/dashboard/src/routes/workflow-executions/workflow-execution-detail/index.ts +++ b/packages/admin/dashboard/src/routes/workflow-executions/workflow-execution-detail/index.ts @@ -1 +1,3 @@ +export { WorkflowExecutionDetailBreadcrumb as Breadcrumb } from "./breadcrumb" +export { workflowExecutionLoader as loader } from "./loader" export { ExecutionDetail as Component } from "./workflow-detail" diff --git a/packages/admin/dashboard/src/routes/workflow-executions/workflow-execution-detail/loader.ts b/packages/admin/dashboard/src/routes/workflow-executions/workflow-execution-detail/loader.ts index d8f331dfc06bd..816063aed43af 100644 --- a/packages/admin/dashboard/src/routes/workflow-executions/workflow-execution-detail/loader.ts +++ b/packages/admin/dashboard/src/routes/workflow-executions/workflow-execution-detail/loader.ts @@ -1,6 +1,5 @@ import { LoaderFunctionArgs } from "react-router-dom" -import { HttpTypes } from "@medusajs/types" import { workflowExecutionsQueryKeys } from "../../../hooks/api/workflow-executions" import { sdk } from "../../../lib/client" import { queryClient } from "../../../lib/query-client" @@ -10,13 +9,11 @@ const executionDetailQuery = (id: string) => ({ queryFn: async () => sdk.admin.workflowExecution.retrieve(id), }) -export const executionLoader = async ({ params }: LoaderFunctionArgs) => { +export const workflowExecutionLoader = async ({ + params, +}: LoaderFunctionArgs) => { const id = params.id const query = executionDetailQuery(id!) - return ( - queryClient.getQueryData( - query.queryKey - ) ?? (await queryClient.fetchQuery(query)) - ) + return queryClient.ensureQueryData(query) } diff --git a/packages/core/core-flows/src/cart/workflows/complete-cart.ts b/packages/core/core-flows/src/cart/workflows/complete-cart.ts index e47a5f9973af2..b991a253fc60c 100644 --- a/packages/core/core-flows/src/cart/workflows/complete-cart.ts +++ b/packages/core/core-flows/src/cart/workflows/complete-cart.ts @@ -77,7 +77,7 @@ export const completeCartWorkflow = createWorkflow( const paymentSessions = validateCartPaymentsStep({ cart }) - authorizePaymentSessionStep({ + const payment = authorizePaymentSessionStep({ // We choose the first payment session, as there will only be one active payment session // This might change in the future. id: paymentSessions[0].id, @@ -103,7 +103,17 @@ export const completeCartWorkflow = createWorkflow( } }) - const cartToOrder = transform({ cart }, ({ cart }) => { + const cartToOrder = transform({ cart, payment }, ({ cart, payment }) => { + const transactions = + payment?.captures?.map((capture) => { + return { + amount: capture.raw_amount ?? capture.amount, + currency_code: payment.currency_code, + reference: "capture", + reference_id: capture.id, + } + }) ?? [] + const allItems = (cart.items ?? []).map((item) => { return prepareLineItemData({ item, @@ -158,6 +168,7 @@ export const completeCartWorkflow = createWorkflow( shipping_methods: shippingMethods, metadata: cart.metadata, promo_codes: promoCodes, + transactions, } }) diff --git a/packages/core/core-flows/src/order/steps/add-order-transaction.ts b/packages/core/core-flows/src/order/steps/add-order-transaction.ts index 4e3a2a03d48e3..841f5a0a1e81e 100644 --- a/packages/core/core-flows/src/order/steps/add-order-transaction.ts +++ b/packages/core/core-flows/src/order/steps/add-order-transaction.ts @@ -4,19 +4,44 @@ import { StepResponse, createStep } from "@medusajs/framework/workflows-sdk" export const addOrderTransactionStepId = "add-order-transaction" /** - * This step creates an order transaction. + * This step creates order transactions. */ export const addOrderTransactionStep = createStep( addOrderTransactionStepId, - async (data: CreateOrderTransactionDTO, { container }) => { + async ( + data: CreateOrderTransactionDTO | CreateOrderTransactionDTO[], + { container } + ) => { const service = container.resolve(Modules.ORDER) - const created = await service.addOrderTransactions(data) + const trxsData = Array.isArray(data) ? data : [data] - return new StepResponse(created, created.id) + for (const trx of trxsData) { + const existing = await service.listOrderTransactions( + { + order_id: trx.order_id, + reference: trx.reference, + reference_id: trx.reference_id, + }, + { + select: ["id"], + } + ) + + if (existing.length) { + return new StepResponse(null) + } + } + + const created = await service.addOrderTransactions(trxsData) + + return new StepResponse( + Array.isArray(data) ? created : created[0], + created.map((c) => c.id) + ) }, async (id, { container }) => { - if (!id) { + if (!id?.length) { return } diff --git a/packages/core/core-flows/src/order/workflows/claim/confirm-claim-request.ts b/packages/core/core-flows/src/order/workflows/claim/confirm-claim-request.ts index 7b7aa1e0a351f..6f8a2999780e6 100644 --- a/packages/core/core-flows/src/order/workflows/claim/confirm-claim-request.ts +++ b/packages/core/core-flows/src/order/workflows/claim/confirm-claim-request.ts @@ -47,6 +47,18 @@ export type ConfirmClaimRequestWorkflowInput = { confirmed_by?: string } +function getUpdateReturnData({ returnId }: { returnId: string }) { + return transform({ returnId }, ({ returnId }) => { + return [ + { + id: returnId, + status: ReturnStatus.REQUESTED, + requested_at: new Date(), + }, + ] + }) +} + /** * This step validates that a requested claim can be confirmed. */ @@ -306,13 +318,8 @@ export const confirmClaimRequestWorkflow = createWorkflow( when({ returnId }, ({ returnId }) => { return !!returnId }).then(() => { - updateReturnsStep([ - { - id: returnId, - status: ReturnStatus.REQUESTED, - requested_at: new Date(), - }, - ]) + const updateReturnDate = getUpdateReturnData({ returnId }) + updateReturnsStep(updateReturnDate) }) const claimId = transform( diff --git a/packages/core/core-flows/src/order/workflows/exchange/confirm-exchange-request.ts b/packages/core/core-flows/src/order/workflows/exchange/confirm-exchange-request.ts index ff2279fa03856..78fecca7fc838 100644 --- a/packages/core/core-flows/src/order/workflows/exchange/confirm-exchange-request.ts +++ b/packages/core/core-flows/src/order/workflows/exchange/confirm-exchange-request.ts @@ -203,6 +203,18 @@ function extractShippingOption({ orderPreview, orderExchange, returnId }) { } } +function getUpdateReturnData({ returnId }: { returnId: string }) { + return transform({ returnId }, ({ returnId }) => { + return [ + { + id: returnId, + status: ReturnStatus.REQUESTED, + requested_at: new Date(), + }, + ] + }) +} + export const confirmExchangeRequestWorkflowId = "confirm-exchange-request" /** * This workflow confirms an exchange request. @@ -294,13 +306,8 @@ export const confirmExchangeRequestWorkflow = createWorkflow( when({ returnId }, ({ returnId }) => { return !!returnId }).then(() => { - updateReturnsStep([ - { - id: returnId, - status: ReturnStatus.REQUESTED, - requested_at: new Date(), - }, - ]) + const updateReturnData = getUpdateReturnData({ returnId }) + updateReturnsStep(updateReturnData) }) const exchangeId = transform( diff --git a/packages/core/core-flows/src/order/workflows/order-edit/order-edit-update-item-quantity.ts b/packages/core/core-flows/src/order/workflows/order-edit/order-edit-update-item-quantity.ts index a70e674f6b65a..176ac2d345a1f 100644 --- a/packages/core/core-flows/src/order/workflows/order-edit/order-edit-update-item-quantity.ts +++ b/packages/core/core-flows/src/order/workflows/order-edit/order-edit-update-item-quantity.ts @@ -4,7 +4,12 @@ import { OrderPreviewDTO, OrderWorkflow, } from "@medusajs/framework/types" -import { ChangeActionType, OrderChangeStatus } from "@medusajs/framework/utils" +import { + BigNumber, + ChangeActionType, + MathBN, + OrderChangeStatus, +} from "@medusajs/framework/utils" import { WorkflowData, WorkflowResponse, @@ -75,19 +80,30 @@ export const orderEditUpdateItemQuantityWorkflow = createWorkflow( const orderChangeActionInput = transform( { order, orderChange, items: input.items }, ({ order, orderChange, items }) => { - return items.map((item) => ({ - order_change_id: orderChange.id, - order_id: order.id, - version: orderChange.version, - action: ChangeActionType.ITEM_UPDATE, - internal_note: item.internal_note, - details: { - reference_id: item.id, - quantity: item.quantity, - unit_price: item.unit_price, - compare_at_unit_price: item.compare_at_unit_price, - }, - })) + return items.map((item) => { + const existing = order?.items?.find( + (exItem) => exItem.id === item.id + )! + + const quantityDiff = new BigNumber( + MathBN.sub(item.quantity, existing.quantity) + ) + + return { + order_change_id: orderChange.id, + order_id: order.id, + version: orderChange.version, + action: ChangeActionType.ITEM_UPDATE, + internal_note: item.internal_note, + details: { + reference_id: item.id, + quantity: item.quantity, + unit_price: item.unit_price, + compare_at_unit_price: item.compare_at_unit_price, + quantity_diff: quantityDiff, + }, + } + }) } ) diff --git a/packages/core/core-flows/src/order/workflows/order-edit/request-order-edit.ts b/packages/core/core-flows/src/order/workflows/order-edit/request-order-edit.ts index d66a924dc85f8..312c816615312 100644 --- a/packages/core/core-flows/src/order/workflows/order-edit/request-order-edit.ts +++ b/packages/core/core-flows/src/order/workflows/order-edit/request-order-edit.ts @@ -8,6 +8,7 @@ import { WorkflowResponse, createStep, createWorkflow, + transform, } from "@medusajs/framework/workflows-sdk" import { useRemoteQueryStep } from "../../../common" import { previewOrderChangeStep } from "../../steps" @@ -23,6 +24,25 @@ export type OrderEditRequestWorkflowInput = { requested_by?: string } +function getOrderChangesData({ + input, + orderChange, +}: { + input: { requested_by?: string } + orderChange: { id: string } +}) { + return transform({ input, orderChange }, ({ input, orderChange }) => { + return [ + { + id: orderChange.id, + status: OrderChangeStatus.REQUESTED, + requested_at: new Date(), + requested_by: input.requested_by, + }, + ] + }) +} + /** * This step validates that a order edit can be requested. */ @@ -74,14 +94,8 @@ export const requestOrderEditRequestWorkflow = createWorkflow( orderChange, }) - updateOrderChangesStep([ - { - id: orderChange.id, - status: OrderChangeStatus.REQUESTED, - requested_at: new Date(), - requested_by: input.requested_by, - }, - ]) + const updateOrderChangesData = getOrderChangesData({ input, orderChange }) + updateOrderChangesStep(updateOrderChangesData) createOrUpdateOrderPaymentCollectionWorkflow.runAsStep({ input: { diff --git a/packages/core/core-flows/src/order/workflows/return/confirm-return-request.ts b/packages/core/core-flows/src/order/workflows/return/confirm-return-request.ts index 3e0d476d77cc9..3ee2aa1345afd 100644 --- a/packages/core/core-flows/src/order/workflows/return/confirm-return-request.ts +++ b/packages/core/core-flows/src/order/workflows/return/confirm-return-request.ts @@ -158,6 +158,18 @@ function extractReturnShippingOptionId({ orderPreview, orderReturn }) { return returnShippingMethod.shipping_option_id } +function getUpdateReturnData({ orderReturn }: { orderReturn: { id: string } }) { + return transform({ orderReturn }, ({ orderReturn }) => { + return [ + { + id: orderReturn.id, + status: ReturnStatus.REQUESTED, + requested_at: new Date(), + }, + ] + }) +} + export const confirmReturnRequestWorkflowId = "confirm-return-request" /** * This workflow confirms a return request. @@ -277,14 +289,10 @@ export const confirmReturnRequestWorkflow = createWorkflow( createRemoteLinkStep(link) }) + const updateReturnData = getUpdateReturnData({ orderReturn }) + parallelize( - updateReturnsStep([ - { - id: orderReturn.id, - status: ReturnStatus.REQUESTED, - requested_at: new Date(), - }, - ]), + updateReturnsStep(updateReturnData), confirmOrderChanges({ changes: [orderChange], orderId: order.id, diff --git a/packages/core/core-flows/src/payment/steps/authorize-payment-session.ts b/packages/core/core-flows/src/payment/steps/authorize-payment-session.ts index 6f6f9ba27cd23..d706e61b7dba8 100644 --- a/packages/core/core-flows/src/payment/steps/authorize-payment-session.ts +++ b/packages/core/core-flows/src/payment/steps/authorize-payment-session.ts @@ -40,7 +40,12 @@ export const authorizePaymentSessionStep = createStep( ) } - const paymentSession = await paymentModule.retrievePaymentSession(input.id) + const paymentSession = await paymentModule.retrievePaymentSession( + input.id, + { + relations: ["payment", "payment.captures"], + } + ) // Throw a special error type when the status is requires_more as it requires a specific further action // from the consumer diff --git a/packages/core/core-flows/src/payment/workflows/capture-payment.ts b/packages/core/core-flows/src/payment/workflows/capture-payment.ts index 49d416e86e37b..a426d562aecf9 100644 --- a/packages/core/core-flows/src/payment/workflows/capture-payment.ts +++ b/packages/core/core-flows/src/payment/workflows/capture-payment.ts @@ -39,13 +39,15 @@ export const capturePaymentWorkflow = createWorkflow( const orderTransactionData = transform( { input, payment, orderPayment }, ({ input, payment, orderPayment }) => { - return { - order_id: orderPayment.order.id, - amount: input.amount ?? payment.raw_amount ?? payment.amount, - currency_code: payment.currency_code, - reference_id: payment.id, - reference: "capture", - } + return payment.captures?.map((capture) => { + return { + order_id: orderPayment.order.id, + amount: input.amount ?? capture.raw_amount ?? capture.amount, + currency_code: payment.currency_code, + reference_id: capture.id, + reference: "capture", + } + }) } ) diff --git a/packages/core/core-flows/src/payment/workflows/index.ts b/packages/core/core-flows/src/payment/workflows/index.ts index ee60681180a57..46de7ec09899e 100644 --- a/packages/core/core-flows/src/payment/workflows/index.ts +++ b/packages/core/core-flows/src/payment/workflows/index.ts @@ -1,5 +1,3 @@ export * from "./capture-payment" -export * from "./on-payment-processed" export * from "./process-payment" export * from "./refund-payment" - diff --git a/packages/core/core-flows/src/payment/workflows/on-payment-processed.ts b/packages/core/core-flows/src/payment/workflows/on-payment-processed.ts deleted file mode 100644 index 9ebc24009389e..0000000000000 --- a/packages/core/core-flows/src/payment/workflows/on-payment-processed.ts +++ /dev/null @@ -1,38 +0,0 @@ -import { WebhookActionResult } from "@medusajs/types" -import { createWorkflow, when } from "@medusajs/workflows-sdk" -import { completeCartWorkflow } from "../../cart" -import { useRemoteQueryStep } from "../../common" -import { useQueryStep } from "../../common/steps/use-query" - -export const onPaymentProcessedWorkflowId = "on-payment-processed-workflow" -export const onPaymentProcessedWorkflow = createWorkflow( - onPaymentProcessedWorkflowId, - (input: WebhookActionResult) => { - const paymentSessionResult = useRemoteQueryStep({ - entry_point: "payment_session", - fields: ["payment_collection_id"], - variables: { filters: { id: input.data?.session_id } }, - list: false, - }) - - const cartPaymentCollection = useQueryStep({ - entity: "cart_payment_collection", - fields: ["cart_id"], - filters: { - payment_collection_id: paymentSessionResult.payment_collection_id, - }, - }) - - when({ cartPaymentCollection }, ({ cartPaymentCollection }) => { - return !!cartPaymentCollection.data.length - }).then(() => { - completeCartWorkflow.runAsStep({ - input: { - id: cartPaymentCollection.data[0].cart_id, - }, - }) - }) - - // TODO: Add more cases down the line, e.g. order payments - } -) diff --git a/packages/core/core-flows/src/payment/workflows/process-payment.ts b/packages/core/core-flows/src/payment/workflows/process-payment.ts index b93516e2fe593..5cfdf5ee82caf 100644 --- a/packages/core/core-flows/src/payment/workflows/process-payment.ts +++ b/packages/core/core-flows/src/payment/workflows/process-payment.ts @@ -1,6 +1,7 @@ import { WebhookActionResult } from "@medusajs/types" import { PaymentActions } from "@medusajs/utils" import { createWorkflow, when } from "@medusajs/workflows-sdk" +import { completeCartWorkflow } from "../../cart/workflows/complete-cart" import { useQueryStep } from "../../common/steps/use-query" import { authorizePaymentSessionStep } from "../steps" import { capturePaymentWorkflow } from "./capture-payment" @@ -15,6 +16,41 @@ export const processPaymentWorkflow = createWorkflow( entity: "payment", fields: ["id"], filters: { payment_session_id: input.data?.session_id }, + }).config({ + name: "payment-query", + }) + + const paymentSessionResult = useQueryStep({ + entity: "payment_session", + fields: ["payment_collection_id"], + filters: { id: input.data?.session_id }, + }).config({ + name: "payment-session-query", + }) + + const cartPaymentCollection = useQueryStep({ + entity: "cart_payment_collection", + fields: ["cart_id"], + filters: { + payment_collection_id: + paymentSessionResult.data[0].payment_collection_id, + }, + }).config({ + name: "cart-payment-query", + }) + + when({ cartPaymentCollection }, ({ cartPaymentCollection }) => { + return !!cartPaymentCollection.data.length + }).then(() => { + completeCartWorkflow + .runAsStep({ + input: { + id: cartPaymentCollection.data[0].cart_id, + }, + }) + .config({ + continueOnPermanentFailure: true, // Continue payment processing even if cart completion fails + }) }) when({ input }, ({ input }) => { @@ -31,8 +67,12 @@ export const processPaymentWorkflow = createWorkflow( }) when({ input }, ({ input }) => { + // Authorize payment session if no Cart is linked to the payment + // When associated with a Cart, the complete cart workflow will handle the authorization return ( - input.action === PaymentActions.AUTHORIZED && !!input.data?.session_id + !cartPaymentCollection.data.length && + input.action === PaymentActions.AUTHORIZED && + !!input.data?.session_id ) }).then(() => { authorizePaymentSessionStep({ diff --git a/packages/core/orchestration/src/transaction/errors.ts b/packages/core/orchestration/src/transaction/errors.ts index 3473bd45f44b5..e41f160150260 100644 --- a/packages/core/orchestration/src/transaction/errors.ts +++ b/packages/core/orchestration/src/transaction/errors.ts @@ -58,30 +58,3 @@ export class TransactionTimeoutError extends Error { this.name = "TransactionTimeoutError" } } - -export function serializeError(error) { - const serialized = { - message: error.message, - name: error.name, - stack: error.stack, - } - - Object.getOwnPropertyNames(error).forEach((key) => { - // eslint-disable-next-line no-prototype-builtins - if (!serialized.hasOwnProperty(key)) { - serialized[key] = error[key] - } - }) - - return serialized -} - -export function isErrorLike(value) { - return ( - !!value && - typeof value === "object" && - "name" in value && - "message" in value && - "stack" in value - ) -} diff --git a/packages/core/orchestration/src/transaction/transaction-orchestrator.ts b/packages/core/orchestration/src/transaction/transaction-orchestrator.ts index 54637322f5daa..912a8e16f2202 100644 --- a/packages/core/orchestration/src/transaction/transaction-orchestrator.ts +++ b/packages/core/orchestration/src/transaction/transaction-orchestrator.ts @@ -17,12 +17,16 @@ import { TransactionStepStatus, } from "./types" -import { MedusaError, promiseAll, TransactionStepState } from "@medusajs/utils" -import { EventEmitter } from "events" import { isErrorLike, - PermanentStepFailureError, + MedusaError, + promiseAll, serializeError, + TransactionStepState, +} from "@medusajs/utils" +import { EventEmitter } from "events" +import { + PermanentStepFailureError, SkipStepResponse, TransactionStepTimeoutError, TransactionTimeoutError, diff --git a/packages/core/types/src/payment/common.ts b/packages/core/types/src/payment/common.ts index de4043f63095d..4dca5c8c7e039 100644 --- a/packages/core/types/src/payment/common.ts +++ b/packages/core/types/src/payment/common.ts @@ -471,6 +471,11 @@ export interface CaptureDTO { */ amount: BigNumberValue + /** + * The raw captured amount. + */ + raw_amount?: BigNumberValue + /** * The creation date of the capture. */ @@ -502,6 +507,11 @@ export interface RefundDTO { */ amount: BigNumberValue + /** + * The raw refunded amount. + */ + raw_amount?: BigNumberValue + /** * The id of the refund_reason that is associated with the refund */ diff --git a/packages/core/utils/src/common/index.ts b/packages/core/utils/src/common/index.ts index 267a605c54d99..0677e5d653140 100644 --- a/packages/core/utils/src/common/index.ts +++ b/packages/core/utils/src/common/index.ts @@ -18,6 +18,7 @@ export * from "./dynamic-import" export * from "./env-editor" export * from "./errors" export * from "./file-system" +export * from "./filter-operator-map" export * from "./generate-entity-id" export * from "./get-caller-file-path" export * from "./get-config-file" @@ -34,6 +35,7 @@ export * from "./is-boolean" export * from "./is-date" export * from "./is-defined" export * from "./is-email" +export * from "./is-error-like" export * from "./is-object" export * from "./is-present" export * from "./is-string" @@ -62,6 +64,7 @@ export * from "./remove-undefined-properties" export * from "./resolve-exports" export * from "./rules" export * from "./selector-constraints-to-string" +export * from "./serialize-error" export * from "./set-metadata" export * from "./simple-hash" export * from "./string-to-select-relation-object" @@ -74,4 +77,3 @@ export * from "./trim-zeros" export * from "./upper-case-first" export * from "./validate-handle" export * from "./wrap-handler" -export * from "./filter-operator-map" diff --git a/packages/core/utils/src/common/is-error-like.ts b/packages/core/utils/src/common/is-error-like.ts new file mode 100644 index 0000000000000..c2aa9ce439aba --- /dev/null +++ b/packages/core/utils/src/common/is-error-like.ts @@ -0,0 +1,9 @@ +export function isErrorLike(value) { + return ( + !!value && + typeof value === "object" && + "name" in value && + "message" in value && + "stack" in value + ) +} diff --git a/packages/core/utils/src/common/serialize-error.ts b/packages/core/utils/src/common/serialize-error.ts new file mode 100644 index 0000000000000..47371236c2a77 --- /dev/null +++ b/packages/core/utils/src/common/serialize-error.ts @@ -0,0 +1,16 @@ +export function serializeError(error) { + const serialized = { + message: error.message, + name: error.name, + stack: error.stack, + } + + Object.getOwnPropertyNames(error).forEach((key) => { + // eslint-disable-next-line no-prototype-builtins + if (!serialized.hasOwnProperty(key)) { + serialized[key] = error[key] + } + }) + + return serialized +} diff --git a/packages/core/utils/src/dml/__tests__/entity-builder.spec.ts b/packages/core/utils/src/dml/__tests__/entity-builder.spec.ts index 75cd192d5a2a3..db304de5a9d9b 100644 --- a/packages/core/utils/src/dml/__tests__/entity-builder.spec.ts +++ b/packages/core/utils/src/dml/__tests__/entity-builder.spec.ts @@ -4702,6 +4702,236 @@ describe("Entity builder", () => { }, }) }) + + test("define entity with relationship to itself via hasMany", () => { + const user = model.define("user", { + id: model.number(), + username: model.text(), + parent: model.belongsTo(() => user, { mappedBy: "children" }), + children: model.hasMany(() => user, { mappedBy: "parent" }), + }) + + const [User] = toMikroOrmEntities([user]) + + expectTypeOf(new User()).toMatchTypeOf<{ + id: number + username: string + deleted_at: Date | null + parent: { + id: number + username: string + deleted_at: Date | null + } + children: { + id: number + username: string + deleted_at: Date | null + }[] + }>() + + const metaData = MetadataStorage.getMetadataFromDecorator(User) + expect(metaData.className).toEqual("User") + expect(metaData.path).toEqual("User") + expect(metaData.properties).toEqual({ + id: { + reference: "scalar", + type: "number", + columnType: "integer", + name: "id", + fieldName: "id", + nullable: false, + getter: false, + setter: false, + }, + username: { + reference: "scalar", + type: "string", + columnType: "text", + name: "username", + fieldName: "username", + nullable: false, + getter: false, + setter: false, + }, + parent: { + name: "parent", + reference: "m:1", + entity: "User", + persist: false, + nullable: false, + }, + parent_id: { + name: "parent_id", + reference: "m:1", + entity: "User", + columnType: "text", + fieldName: "parent_id", + mapToPk: true, + nullable: false, + onDelete: undefined, + isForeignKey: true, + }, + children: { + cascade: undefined, + entity: "User", + mappedBy: "parent", + name: "children", + orphanRemoval: true, + reference: "1:m", + }, + created_at: { + reference: "scalar", + type: "date", + columnType: "timestamptz", + name: "created_at", + fieldName: "created_at", + defaultRaw: "now()", + onCreate: expect.any(Function), + nullable: false, + getter: false, + setter: false, + }, + updated_at: { + reference: "scalar", + type: "date", + columnType: "timestamptz", + name: "updated_at", + fieldName: "updated_at", + defaultRaw: "now()", + onCreate: expect.any(Function), + onUpdate: expect.any(Function), + nullable: false, + getter: false, + setter: false, + }, + deleted_at: { + reference: "scalar", + type: "date", + columnType: "timestamptz", + name: "deleted_at", + fieldName: "deleted_at", + nullable: true, + getter: false, + setter: false, + }, + }) + }) + + test("define relationship with self via hasOne", () => { + const user = model.define("user", { + id: model.number(), + username: model.text(), + parent: model.belongsTo(() => user, { mappedBy: "child" }), + child: model.hasOne(() => user, { mappedBy: "parent" }), + }) + + const [User] = toMikroOrmEntities([user]) + + expectTypeOf(new User()).toMatchTypeOf<{ + id: number + username: string + deleted_at: Date | null + parent: { + id: number + username: string + deleted_at: Date | null + } + child: { + id: number + username: string + deleted_at: Date | null + } + }>() + + const metaData = MetadataStorage.getMetadataFromDecorator(User) + expect(metaData.className).toEqual("User") + expect(metaData.path).toEqual("User") + expect(metaData.properties).toEqual({ + id: { + reference: "scalar", + type: "number", + columnType: "integer", + name: "id", + fieldName: "id", + nullable: false, + getter: false, + setter: false, + }, + username: { + reference: "scalar", + type: "string", + columnType: "text", + name: "username", + fieldName: "username", + nullable: false, + getter: false, + setter: false, + }, + parent: { + name: "parent", + mappedBy: "child", + reference: "1:1", + entity: "User", + nullable: false, + onDelete: undefined, + owner: true, + }, + parent_id: { + name: "parent_id", + type: "string", + columnType: "text", + isForeignKey: true, + persist: false, + reference: "scalar", + getter: false, + setter: false, + nullable: false, + }, + child: { + cascade: undefined, + entity: "User", + mappedBy: "parent", + name: "child", + nullable: false, + reference: "1:1", + }, + created_at: { + reference: "scalar", + type: "date", + columnType: "timestamptz", + name: "created_at", + fieldName: "created_at", + defaultRaw: "now()", + onCreate: expect.any(Function), + nullable: false, + getter: false, + setter: false, + }, + updated_at: { + reference: "scalar", + type: "date", + columnType: "timestamptz", + name: "updated_at", + fieldName: "updated_at", + defaultRaw: "now()", + onCreate: expect.any(Function), + onUpdate: expect.any(Function), + nullable: false, + getter: false, + setter: false, + }, + deleted_at: { + reference: "scalar", + type: "date", + columnType: "timestamptz", + name: "deleted_at", + fieldName: "deleted_at", + nullable: true, + getter: false, + setter: false, + }, + }) + }) }) describe("Entity builder | manyToMany", () => { diff --git a/packages/core/workflows-sdk/src/helper/workflow-export.ts b/packages/core/workflows-sdk/src/helper/workflow-export.ts index cac64fec83eb0..14a9f62b509da 100644 --- a/packages/core/workflows-sdk/src/helper/workflow-export.ts +++ b/packages/core/workflows-sdk/src/helper/workflow-export.ts @@ -519,21 +519,14 @@ function attachOnFinishReleaseEvents( ) || console if (logOnError) { - const TERMINAL_SIZE = process.stdout?.columns ?? 60 - const separator = new Array(TERMINAL_SIZE).join("-") - const workflowName = transaction.getFlow().modelId - const allWorkflowErrors = transaction + transaction .getErrors() - .map( - (err) => + .forEach((err) => + logger.error( `${workflowName}:${err?.action}:${err?.handlerType} - ${err?.error?.message}${EOL}${err?.error?.stack}` + ) ) - .join(EOL + separator + EOL) - - if (allWorkflowErrors) { - logger.error(allWorkflowErrors) - } } await onFinish?.(args) diff --git a/packages/medusa/src/commands/db/create.ts b/packages/medusa/src/commands/db/create.ts index d8aac928e806b..5dd2d6b48ad85 100644 --- a/packages/medusa/src/commands/db/create.ts +++ b/packages/medusa/src/commands/db/create.ts @@ -138,7 +138,7 @@ export async function dbCreate({ if (await dbExists(client, dbName)) { logger.info(`Database "${dbName}" already exists`) - envEditor.set("DB_NAME", dbName) + envEditor.set("DB_NAME", dbName, { withEmptyTemplateValue: true }) await envEditor.save() logger.info(`Updated .env file with "DB_NAME=${dbName}"`) diff --git a/packages/medusa/src/subscribers/payment-webhook.ts b/packages/medusa/src/subscribers/payment-webhook.ts index b8c56f8f6d9eb..895159adc3e3a 100644 --- a/packages/medusa/src/subscribers/payment-webhook.ts +++ b/packages/medusa/src/subscribers/payment-webhook.ts @@ -1,7 +1,4 @@ -import { - onPaymentProcessedWorkflow, - processPaymentWorkflow, -} from "@medusajs/core-flows" +import { processPaymentWorkflow } from "@medusajs/core-flows" import { IPaymentModuleService, ProviderWebhookPayload, @@ -29,7 +26,7 @@ export default async function paymentWebhookhandler({ const input = event.data if ( - (input.payload.rawData as unknown as SerializedBuffer).type === "Buffer" + (input.payload?.rawData as unknown as SerializedBuffer)?.type === "Buffer" ) { input.payload.rawData = Buffer.from( (input.payload.rawData as unknown as SerializedBuffer).data @@ -49,11 +46,6 @@ export default async function paymentWebhookhandler({ await processPaymentWorkflow(container).run({ input: processedEvent, }) - - // We process the intended side effects of payment processing separately. - await onPaymentProcessedWorkflow(container).run({ - input: processedEvent, - }) } export const config: SubscriberConfig = { diff --git a/packages/modules/api-key/package.json b/packages/modules/api-key/package.json index aeb130ebba555..01ace0bb3e47f 100644 --- a/packages/modules/api-key/package.json +++ b/packages/modules/api-key/package.json @@ -30,7 +30,6 @@ "build": "rimraf dist && tsc --build && npm run resolve:aliases", "test": "jest --runInBand --bail --forceExit -- src/**/__tests__/**/*.ts", "test:integration": "jest --forceExit -- integration-tests/**/__tests__/**/*.ts", - "migration:generate": " MIKRO_ORM_CLI=./mikro-orm.config.dev.ts medusa-mikro-orm migration:generate", "migration:initial": " MIKRO_ORM_CLI=./mikro-orm.config.dev.ts medusa-mikro-orm migration:create --initial", "migration:create": " MIKRO_ORM_CLI=./mikro-orm.config.dev.ts medusa-mikro-orm migration:create", "migration:up": " MIKRO_ORM_CLI=./mikro-orm.config.dev.ts medusa-mikro-orm migration:up", diff --git a/packages/modules/auth/package.json b/packages/modules/auth/package.json index fb236871d17e4..813c25271031a 100644 --- a/packages/modules/auth/package.json +++ b/packages/modules/auth/package.json @@ -30,7 +30,6 @@ "build": "rimraf dist && tsc --build && npm run resolve:aliases", "test": "jest --runInBand --bail --passWithNoTests --forceExit -- src", "test:integration": "jest --forceExit -- integration-tests/**/__tests__/**/*.ts", - "migration:generate": " MIKRO_ORM_CLI=./mikro-orm.config.dev.ts medusa-mikro-orm migration:generate", "migration:initial": " MIKRO_ORM_CLI=./mikro-orm.config.dev.ts medusa-mikro-orm migration:create --initial", "migration:create": " MIKRO_ORM_CLI=./mikro-orm.config.dev.ts medusa-mikro-orm migration:create", "migration:up": " MIKRO_ORM_CLI=./mikro-orm.config.dev.ts medusa-mikro-orm migration:up", diff --git a/packages/modules/cart/package.json b/packages/modules/cart/package.json index 47977f6fe9501..315fadd885854 100644 --- a/packages/modules/cart/package.json +++ b/packages/modules/cart/package.json @@ -30,7 +30,6 @@ "build": "rimraf dist && tsc --build && npm run resolve:aliases", "test": "jest --runInBand --bail --passWithNoTests --forceExit -- src", "test:integration": "jest --forceExit -- integration-tests/**/__tests__/**/*.ts", - "migration:generate": " MIKRO_ORM_CLI=./mikro-orm.config.dev.ts medusa-mikro-orm migration:generate", "migration:initial": " MIKRO_ORM_CLI=./mikro-orm.config.dev.ts medusa-mikro-orm migration:create --initial", "migration:create": " MIKRO_ORM_CLI=./mikro-orm.config.dev.ts medusa-mikro-orm migration:create", "migration:up": " MIKRO_ORM_CLI=./mikro-orm.config.dev.ts medusa-mikro-orm migration:up", diff --git a/packages/modules/currency/package.json b/packages/modules/currency/package.json index 0513d5205ecee..d42ec739a7183 100644 --- a/packages/modules/currency/package.json +++ b/packages/modules/currency/package.json @@ -30,7 +30,6 @@ "build": "rimraf dist && tsc --build && npm run resolve:aliases", "test": "jest --runInBand --bail --forceExit -- src/**/__tests__/**/*.ts", "test:integration": "jest --forceExit -- integration-tests/**/__tests__/**/*.ts", - "migration:generate": " MIKRO_ORM_CLI=./mikro-orm.config.dev.ts medusa-mikro-orm migration:generate", "migration:initial": " MIKRO_ORM_CLI=./mikro-orm.config.dev.ts medusa-mikro-orm migration:create --initial", "migration:create": " MIKRO_ORM_CLI=./mikro-orm.config.dev.ts medusa-mikro-orm migration:create", "migration:up": " MIKRO_ORM_CLI=./mikro-orm.config.dev.ts medusa-mikro-orm migration:up", diff --git a/packages/modules/event-bus-local/src/services/__tests__/event-bus-local.ts b/packages/modules/event-bus-local/src/services/__tests__/event-bus-local.ts index c31da43b8ffa4..89b651f493b42 100644 --- a/packages/modules/event-bus-local/src/services/__tests__/event-bus-local.ts +++ b/packages/modules/event-bus-local/src/services/__tests__/event-bus-local.ts @@ -123,6 +123,7 @@ describe("LocalEventBusService", () => { data: { test: "1234" }, metadata: { eventGroupId: "test" }, name: "test-event", + options: {}, }) jest.clearAllMocks() diff --git a/packages/modules/event-bus-local/src/services/event-bus-local.ts b/packages/modules/event-bus-local/src/services/event-bus-local.ts index 5ad982a54a0b7..1bc97179e3f9a 100644 --- a/packages/modules/event-bus-local/src/services/event-bus-local.ts +++ b/packages/modules/event-bus-local/src/services/event-bus-local.ts @@ -9,6 +9,7 @@ import { } from "@medusajs/framework/types" import { AbstractEventBusModuleService } from "@medusajs/framework/utils" import { EventEmitter } from "events" +import { setTimeout } from "timers/promises" import { ulid } from "ulid" type InjectedDependencies = { @@ -69,7 +70,10 @@ export default class LocalEventBusService extends AbstractEventBusModuleService ) } - await this.groupOrEmitEvent(eventData) + await this.groupOrEmitEvent({ + ...eventData, + options, + }) } } @@ -86,7 +90,13 @@ export default class LocalEventBusService extends AbstractEventBusModuleService await this.groupEvent(eventGroupId, eventData) } else { const { options, ...eventBody } = eventData - this.eventEmitter_.emit(eventData.name, eventBody) + + const options_ = options as { delay: number } + const delay = options?.delay ? setTimeout : async () => {} + + delay(options_?.delay).then(() => + this.eventEmitter_.emit(eventData.name, eventBody) + ) } } @@ -108,7 +118,12 @@ export default class LocalEventBusService extends AbstractEventBusModuleService for (const event of groupedEvents) { const { options, ...eventBody } = event - this.eventEmitter_.emit(event.name, eventBody) + const options_ = options as { delay: number } + const delay = options?.delay ? setTimeout : async () => {} + + delay(options_?.delay).then(() => + this.eventEmitter_.emit(event.name, eventBody) + ) } await this.clearGroupedEvents(eventGroupId) @@ -128,10 +143,11 @@ export default class LocalEventBusService extends AbstractEventBusModuleService this.eventEmitter_.on(event, async (data: Event) => { try { await subscriber(data) - } catch (e) { + } catch (err) { this.logger_?.error( - `An error occurred while processing ${event.toString()}: ${e}` + `An error occurred while processing ${event.toString()}:` ) + this.logger_?.error(err) } }) return this diff --git a/packages/modules/event-bus-redis/src/services/__tests__/event-bus.ts b/packages/modules/event-bus-redis/src/services/__tests__/event-bus.ts index a9907512a6d42..bf65eaf0a7c5f 100644 --- a/packages/modules/event-bus-redis/src/services/__tests__/event-bus.ts +++ b/packages/modules/event-bus-redis/src/services/__tests__/event-bus.ts @@ -16,9 +16,9 @@ jest.mock("bullmq") jest.mock("ioredis") const loggerMock = { - info: jest.fn().mockReturnValue(console.log), - warn: jest.fn().mockReturnValue(console.log), - error: jest.fn().mockReturnValue(console.log), + info: jest.fn().mockImplementation(console.log), + warn: jest.fn().mockImplementation(console.warn), + error: jest.fn().mockImplementation(console.error), } as unknown as Logger const redisMock = { @@ -376,7 +376,7 @@ describe("RedisEventBusService", () => { }) eventBus.subscribe("eventName", () => { test.push("fail1") - return Promise.reject("fail1") + throw new Error("fail1") }) eventBus.subscribe("eventName", () => { test.push("hi2") @@ -399,15 +399,21 @@ describe("RedisEventBusService", () => { "Processing eventName which has 4 subscribers" ) - expect(loggerMock.warn).toHaveBeenCalledTimes(3) - expect(loggerMock.warn).toHaveBeenCalledWith( - "An error occurred while processing eventName: fail1" + expect(loggerMock.warn).toHaveBeenCalledTimes(5) + expect(loggerMock.warn).toHaveBeenNthCalledWith( + 1, + "An error occurred while processing eventName:" ) - expect(loggerMock.warn).toHaveBeenCalledWith( - "An error occurred while processing eventName: fail2" + expect(loggerMock.warn).toHaveBeenNthCalledWith(2, new Error("fail1")) + + expect(loggerMock.warn).toHaveBeenNthCalledWith( + 3, + "An error occurred while processing eventName:" ) + expect(loggerMock.warn).toHaveBeenNthCalledWith(4, "fail2") - expect(loggerMock.warn).toHaveBeenCalledWith( + expect(loggerMock.warn).toHaveBeenNthCalledWith( + 5, "One or more subscribers of eventName failed. Retrying is not configured. Use 'attempts' option when emitting events." ) @@ -439,10 +445,11 @@ describe("RedisEventBusService", () => { } as any) .catch((error) => void 0) - expect(loggerMock.warn).toHaveBeenCalledTimes(1) + expect(loggerMock.warn).toHaveBeenCalledTimes(2) expect(loggerMock.warn).toHaveBeenCalledWith( - "An error occurred while processing eventName: fail1" + "An error occurred while processing eventName:" ) + expect(loggerMock.warn).toHaveBeenCalledWith("fail1") expect(loggerMock.info).toHaveBeenCalledTimes(2) expect(loggerMock.info).toHaveBeenCalledWith( @@ -478,10 +485,12 @@ describe("RedisEventBusService", () => { } as any) .catch((err) => void 0) - expect(loggerMock.warn).toHaveBeenCalledTimes(2) + expect(loggerMock.warn).toHaveBeenCalledTimes(3) expect(loggerMock.warn).toHaveBeenCalledWith( - "An error occurred while processing eventName: fail1" + "An error occurred while processing eventName:" ) + expect(loggerMock.warn).toHaveBeenCalledWith("fail1") + expect(loggerMock.warn).toHaveBeenCalledWith( "One or more subscribers of eventName failed. Retrying..." ) diff --git a/packages/modules/event-bus-redis/src/services/event-bus-redis.ts b/packages/modules/event-bus-redis/src/services/event-bus-redis.ts index 921c2f543e073..52c80139143b0 100644 --- a/packages/modules/event-bus-redis/src/services/event-bus-redis.ts +++ b/packages/modules/event-bus-redis/src/services/event-bus-redis.ts @@ -276,18 +276,18 @@ export default class RedisEventBusService extends AbstractEventBusModuleService metadata: data.metadata, } - return await subscriber(event) - .then(async (data) => { + try { + return await subscriber(event).then((data) => { // For every subscriber that completes successfully, add their id to the list of completed subscribers completedSubscribersInCurrentAttempt.push(id) return data }) - .catch((err) => { - this.logger_.warn( - `An error occurred while processing ${name}: ${err}` - ) - return err - }) + } catch (err) { + this.logger_?.warn(`An error occurred while processing ${name}:`) + this.logger_?.warn(err) + + return err + } }) ) diff --git a/packages/modules/file/package.json b/packages/modules/file/package.json index 46ee6e11179a3..2ca7a9bd93d4c 100644 --- a/packages/modules/file/package.json +++ b/packages/modules/file/package.json @@ -30,7 +30,6 @@ "build": "rimraf dist && tsc --build && npm run resolve:aliases", "test": "jest --passWithNoTests --runInBand --bail --forceExit -- src/**/__tests__/**/*.ts", "test:integration": "jest --passWithNoTests --forceExit -- integration-tests/**/__tests__/**/*.ts", - "migration:generate": " MIKRO_ORM_CLI=./mikro-orm.config.dev.ts medusa-mikro-orm migration:generate", "migration:initial": " MIKRO_ORM_CLI=./mikro-orm.config.dev.ts medusa-mikro-orm migration:create --initial", "migration:create": " MIKRO_ORM_CLI=./mikro-orm.config.dev.ts medusa-mikro-orm migration:create", "migration:up": " MIKRO_ORM_CLI=./mikro-orm.config.dev.ts medusa-mikro-orm migration:up", diff --git a/packages/modules/fulfillment/package.json b/packages/modules/fulfillment/package.json index 4bf7190a0d985..76161a2731764 100644 --- a/packages/modules/fulfillment/package.json +++ b/packages/modules/fulfillment/package.json @@ -30,7 +30,6 @@ "build": "rimraf dist && tsc --build && npm run resolve:aliases", "test": "jest --runInBand --bail --forceExit --passWithNoTests -- src", "test:integration": "jest --forceExit -- integration-tests/**/__tests__/**/*.spec.ts", - "migration:generate": " MIKRO_ORM_CLI=./mikro-orm.config.dev.ts medusa-mikro-orm migration:generate", "migration:initial": " MIKRO_ORM_CLI=./mikro-orm.config.dev.ts medusa-mikro-orm migration:create --initial -n InitialSetupMigration", "migration:create": " MIKRO_ORM_CLI=./mikro-orm.config.dev.ts medusa-mikro-orm migration:create", "migration:up": " MIKRO_ORM_CLI=./mikro-orm.config.dev.ts medusa-mikro-orm migration:up", diff --git a/packages/modules/index/package.json b/packages/modules/index/package.json index b851f9e64b38b..14319fe614011 100644 --- a/packages/modules/index/package.json +++ b/packages/modules/index/package.json @@ -30,7 +30,6 @@ "build": "rimraf dist && tsc --build && npm run resolve:aliases", "test": "jest --passWithNoTests ./src", "test:integration": "jest --runInBand --forceExit -- integration-tests/**/__tests__/**/*.ts", - "migration:generate": " MIKRO_ORM_CLI=./mikro-orm.config.dev.ts medusa-mikro-orm migration:generate", "migration:initial": " MIKRO_ORM_CLI=./mikro-orm.config.dev.ts medusa-mikro-orm migration:create --initial", "migration:create": " MIKRO_ORM_CLI=./mikro-orm.config.dev.ts medusa-mikro-orm migration:create", "migration:up": " MIKRO_ORM_CLI=./mikro-orm.config.dev.ts medusa-mikro-orm migration:up", diff --git a/packages/modules/inventory/package.json b/packages/modules/inventory/package.json index 00b67346d1c25..4a16777cca4ea 100644 --- a/packages/modules/inventory/package.json +++ b/packages/modules/inventory/package.json @@ -50,7 +50,6 @@ "build": "rimraf dist && tsc --build && npm run resolve:aliases", "test": "jest --runInBand --bail --forceExit -- src/**/__tests__/**/*.ts", "test:integration": "jest --runInBand --forceExit -- integration-tests/**/__tests__/**/*.spec.ts", - "migration:generate": " MIKRO_ORM_CLI=./mikro-orm.config.dev.ts medusa-mikro-orm migration:generate", "migration:initial": " MIKRO_ORM_CLI=./mikro-orm.config.dev.ts medusa-mikro-orm migration:create --initial -n InitialSetupMigration", "migration:create": " MIKRO_ORM_CLI=./mikro-orm.config.dev.ts medusa-mikro-orm migration:create", "migration:up": " MIKRO_ORM_CLI=./mikro-orm.config.dev.ts medusa-mikro-orm migration:up", diff --git a/packages/modules/locking/package.json b/packages/modules/locking/package.json index 43d15d23abb0f..98ea04c6e59c4 100644 --- a/packages/modules/locking/package.json +++ b/packages/modules/locking/package.json @@ -26,7 +26,6 @@ "build": "rimraf dist && tsc --build && npm run resolve:aliases", "test": "jest --passWithNoTests --runInBand --bail --forceExit -- src/", "test:integration": "jest --runInBand --forceExit -- integration-tests/**/__tests__/**/*.spec.ts", - "migration:generate": " MIKRO_ORM_CLI=./mikro-orm.config.dev.ts medusa-mikro-orm migration:generate", "migration:initial": " MIKRO_ORM_CLI=./mikro-orm.config.dev.ts medusa-mikro-orm migration:create --initial -n InitialSetupMigration", "migration:create": " MIKRO_ORM_CLI=./mikro-orm.config.dev.ts medusa-mikro-orm migration:create", "migration:up": " MIKRO_ORM_CLI=./mikro-orm.config.dev.ts medusa-mikro-orm migration:up", diff --git a/packages/modules/notification/package.json b/packages/modules/notification/package.json index 1164b49cec6e7..199147e2a3324 100644 --- a/packages/modules/notification/package.json +++ b/packages/modules/notification/package.json @@ -30,7 +30,6 @@ "build": "rimraf dist && tsc --build && npm run resolve:aliases", "test": "jest --runInBand --bail --forceExit --passWithNoTests -- src", "test:integration": "jest --forceExit -- integration-tests/**/__tests__/**/*.spec.ts", - "migration:generate": " MIKRO_ORM_CLI=./mikro-orm.config.dev.ts medusa-mikro-orm migration:generate", "migration:initial": " MIKRO_ORM_CLI=./mikro-orm.config.dev.ts medusa-mikro-orm migration:create --initial -n InitialSetupMigration", "migration:create": " MIKRO_ORM_CLI=./mikro-orm.config.dev.ts medusa-mikro-orm migration:create", "migration:up": " MIKRO_ORM_CLI=./mikro-orm.config.dev.ts medusa-mikro-orm migration:up", diff --git a/packages/modules/order/package.json b/packages/modules/order/package.json index 1a814721b49f2..b85119e4fa2ee 100644 --- a/packages/modules/order/package.json +++ b/packages/modules/order/package.json @@ -30,7 +30,6 @@ "build": "rimraf dist && tsc --build && npm run resolve:aliases", "test": "jest --runInBand --bail --forceExit -- src/**/__tests__/**/*.ts", "test:integration": "jest --forceExit -- integration-tests/**/__tests__/**/*.ts", - "migration:generate": " MIKRO_ORM_CLI=./mikro-orm.config.dev.ts medusa-mikro-orm migration:generate", "migration:initial": " MIKRO_ORM_CLI=./mikro-orm.config.dev.ts medusa-mikro-orm migration:create --initial", "migration:create": " MIKRO_ORM_CLI=./mikro-orm.config.dev.ts medusa-mikro-orm migration:create", "migration:up": " MIKRO_ORM_CLI=./mikro-orm.config.dev.ts medusa-mikro-orm migration:up", diff --git a/packages/modules/payment/package.json b/packages/modules/payment/package.json index 26feca2abf715..dadcb8046515c 100644 --- a/packages/modules/payment/package.json +++ b/packages/modules/payment/package.json @@ -30,7 +30,6 @@ "build": "rimraf dist && tsc --build && npm run resolve:aliases", "test": "jest --runInBand --bail --passWithNoTests --forceExit -- src", "test:integration": "jest --forceExit -- integration-tests/**/__tests__/**/*.ts", - "migration:generate": " MIKRO_ORM_CLI=./mikro-orm.config.dev.ts medusa-mikro-orm migration:generate", "migration:initial": " MIKRO_ORM_CLI=./mikro-orm.config.dev.ts medusa-mikro-orm migration:create --initial", "migration:create": " MIKRO_ORM_CLI=./mikro-orm.config.dev.ts medusa-mikro-orm migration:create", "migration:up": " MIKRO_ORM_CLI=./mikro-orm.config.dev.ts medusa-mikro-orm migration:up", diff --git a/packages/modules/pricing/package.json b/packages/modules/pricing/package.json index bb617324f1208..4ad7223057ca8 100644 --- a/packages/modules/pricing/package.json +++ b/packages/modules/pricing/package.json @@ -30,7 +30,6 @@ "build": "rimraf dist && tsc --build && npm run resolve:aliases", "test": "jest --runInBand --bail --forceExit -- src/**/__tests__/**/*.ts", "test:integration": "jest --forceExit -- integration-tests/**/__tests__/**/*.ts", - "migration:generate": " MIKRO_ORM_CLI=./mikro-orm.config.dev.ts medusa-mikro-orm migration:generate", "migration:initial": " MIKRO_ORM_CLI=./mikro-orm.config.dev.ts medusa-mikro-orm migration:create --initial", "migration:create": " MIKRO_ORM_CLI=./mikro-orm.config.dev.ts medusa-mikro-orm migration:create", "migration:up": " MIKRO_ORM_CLI=./mikro-orm.config.dev.ts medusa-mikro-orm migration:up", diff --git a/packages/modules/product/integration-tests/__tests__/product.ts b/packages/modules/product/integration-tests/__tests__/product.ts index d1e1b7b9fef4d..eb2b276148959 100644 --- a/packages/modules/product/integration-tests/__tests__/product.ts +++ b/packages/modules/product/integration-tests/__tests__/product.ts @@ -55,6 +55,7 @@ moduleIntegrationTestRunner({ "product", "productVariant", "productOption", + "productOptionValue", "productType", "productImage", "productTag", @@ -101,6 +102,15 @@ moduleIntegrationTestRunner({ field: "productOption", }, }, + productOptionValue: { + id: { + linkable: "product_option_value_id", + entity: "ProductOptionValue", + primaryKey: "id", + serviceName: "product", + field: "productOptionValue", + }, + }, productType: { id: { linkable: "product_type_id", diff --git a/packages/modules/product/package.json b/packages/modules/product/package.json index 597375739bed6..e9b1234663971 100644 --- a/packages/modules/product/package.json +++ b/packages/modules/product/package.json @@ -30,7 +30,6 @@ "build": "rimraf dist && tsc --build && npm run resolve:aliases", "test": "jest --runInBand --bail --forceExit -- src/**/__tests__/**/*.ts", "test:integration": "jest --forceExit -- integration-tests/**/__tests__/**/*.ts", - "migration:generate": " MIKRO_ORM_CLI=./mikro-orm.config.dev.ts medusa-mikro-orm migration:generate", "migration:initial": " MIKRO_ORM_CLI=./mikro-orm.config.dev.ts medusa-mikro-orm migration:create --initial", "migration:create": " MIKRO_ORM_CLI=./mikro-orm.config.dev.ts medusa-mikro-orm migration:create", "migration:up": " MIKRO_ORM_CLI=./mikro-orm.config.dev.ts medusa-mikro-orm migration:up", diff --git a/packages/modules/product/src/joiner-config.ts b/packages/modules/product/src/joiner-config.ts index f6a60f7f35459..c59334ee56897 100644 --- a/packages/modules/product/src/joiner-config.ts +++ b/packages/modules/product/src/joiner-config.ts @@ -4,6 +4,7 @@ import { ProductCategory, ProductCollection, ProductOption, + ProductOptionValue, ProductTag, ProductType, ProductVariant, @@ -17,6 +18,7 @@ export const joinerConfig = defineJoinerConfig(Modules.PRODUCT, { Product, ProductVariant, ProductOption, + ProductOptionValue, ProductType, ProductImage, ProductTag, diff --git a/packages/modules/product/src/migrations/.snapshot-medusa-products.json b/packages/modules/product/src/migrations/.snapshot-medusa-product.json similarity index 90% rename from packages/modules/product/src/migrations/.snapshot-medusa-products.json rename to packages/modules/product/src/migrations/.snapshot-medusa-product.json index a561010919d8f..93d23dfb7769f 100644 --- a/packages/modules/product/src/migrations/.snapshot-medusa-products.json +++ b/packages/modules/product/src/migrations/.snapshot-medusa-product.json @@ -1,5 +1,7 @@ { - "namespaces": ["public"], + "namespaces": [ + "public" + ], "name": "public", "tables": [ { @@ -120,13 +122,24 @@ "nullable": true, "length": 6, "mappedType": "datetime" + }, + "metadata": { + "name": "metadata", + "type": "jsonb", + "unsigned": false, + "autoincrement": false, + "primary": false, + "nullable": true, + "mappedType": "json" } }, "name": "product_category", "schema": "public", "indexes": [ { - "columnNames": ["deleted_at"], + "columnNames": [ + "deleted_at" + ], "composite": false, "keyName": "IDX_product_category_deleted_at", "primary": false, @@ -134,7 +147,9 @@ }, { "keyName": "product_category_pkey", - "columnNames": ["id"], + "columnNames": [ + "id" + ], "composite": false, "primary": true, "unique": true @@ -144,9 +159,13 @@ "foreignKeys": { "product_category_parent_category_id_foreign": { "constraintName": "product_category_parent_category_id_foreign", - "columnNames": ["parent_category_id"], + "columnNames": [ + "parent_category_id" + ], "localTableName": "public.product_category", - "referencedColumnNames": ["id"], + "referencedColumnNames": [ + "id" + ], "referencedTableName": "public.product_category", "deleteRule": "cascade", "updateRule": "cascade" @@ -228,7 +247,9 @@ "schema": "public", "indexes": [ { - "columnNames": ["deleted_at"], + "columnNames": [ + "deleted_at" + ], "composite": false, "keyName": "IDX_product_collection_deleted_at", "primary": false, @@ -236,7 +257,9 @@ }, { "keyName": "product_collection_pkey", - "columnNames": ["id"], + "columnNames": [ + "id" + ], "composite": false, "primary": true, "unique": true @@ -311,7 +334,9 @@ "schema": "public", "indexes": [ { - "columnNames": ["deleted_at"], + "columnNames": [ + "deleted_at" + ], "composite": false, "keyName": "IDX_product_image_deleted_at", "primary": false, @@ -319,7 +344,9 @@ }, { "keyName": "image_pkey", - "columnNames": ["id"], + "columnNames": [ + "id" + ], "composite": false, "primary": true, "unique": true @@ -394,7 +421,9 @@ "schema": "public", "indexes": [ { - "columnNames": ["deleted_at"], + "columnNames": [ + "deleted_at" + ], "composite": false, "keyName": "IDX_product_tag_deleted_at", "primary": false, @@ -402,7 +431,9 @@ }, { "keyName": "product_tag_pkey", - "columnNames": ["id"], + "columnNames": [ + "id" + ], "composite": false, "primary": true, "unique": true @@ -477,7 +508,9 @@ "schema": "public", "indexes": [ { - "columnNames": ["deleted_at"], + "columnNames": [ + "deleted_at" + ], "composite": false, "keyName": "IDX_product_type_deleted_at", "primary": false, @@ -485,7 +518,9 @@ }, { "keyName": "product_type_pkey", - "columnNames": ["id"], + "columnNames": [ + "id" + ], "composite": false, "primary": true, "unique": true @@ -558,7 +593,12 @@ "autoincrement": false, "primary": false, "nullable": false, - "enumItems": ["draft", "proposed", "published", "rejected"], + "enumItems": [ + "draft", + "proposed", + "published", + "rejected" + ], "mappedType": "enum" }, "thumbnail": { @@ -725,7 +765,9 @@ "schema": "public", "indexes": [ { - "columnNames": ["deleted_at"], + "columnNames": [ + "deleted_at" + ], "composite": false, "keyName": "IDX_product_deleted_at", "primary": false, @@ -733,7 +775,9 @@ }, { "keyName": "product_pkey", - "columnNames": ["id"], + "columnNames": [ + "id" + ], "composite": false, "primary": true, "unique": true @@ -743,18 +787,26 @@ "foreignKeys": { "product_collection_id_foreign": { "constraintName": "product_collection_id_foreign", - "columnNames": ["collection_id"], + "columnNames": [ + "collection_id" + ], "localTableName": "public.product", - "referencedColumnNames": ["id"], + "referencedColumnNames": [ + "id" + ], "referencedTableName": "public.product_collection", "deleteRule": "set null", "updateRule": "cascade" }, "product_type_id_foreign": { "constraintName": "product_type_id_foreign", - "columnNames": ["type_id"], + "columnNames": [ + "type_id" + ], "localTableName": "public.product", - "referencedColumnNames": ["id"], + "referencedColumnNames": [ + "id" + ], "referencedTableName": "public.product_type", "deleteRule": "set null", "updateRule": "cascade" @@ -836,7 +888,9 @@ "schema": "public", "indexes": [ { - "columnNames": ["deleted_at"], + "columnNames": [ + "deleted_at" + ], "composite": false, "keyName": "IDX_product_option_deleted_at", "primary": false, @@ -844,7 +898,9 @@ }, { "keyName": "product_option_pkey", - "columnNames": ["id"], + "columnNames": [ + "id" + ], "composite": false, "primary": true, "unique": true @@ -854,9 +910,13 @@ "foreignKeys": { "product_option_product_id_foreign": { "constraintName": "product_option_product_id_foreign", - "columnNames": ["product_id"], + "columnNames": [ + "product_id" + ], "localTableName": "public.product_option", - "referencedColumnNames": ["id"], + "referencedColumnNames": [ + "id" + ], "referencedTableName": "public.product", "deleteRule": "cascade", "updateRule": "cascade" @@ -938,7 +998,9 @@ "schema": "public", "indexes": [ { - "columnNames": ["deleted_at"], + "columnNames": [ + "deleted_at" + ], "composite": false, "keyName": "IDX_product_option_value_deleted_at", "primary": false, @@ -946,7 +1008,9 @@ }, { "keyName": "product_option_value_pkey", - "columnNames": ["id"], + "columnNames": [ + "id" + ], "composite": false, "primary": true, "unique": true @@ -956,9 +1020,13 @@ "foreignKeys": { "product_option_value_option_id_foreign": { "constraintName": "product_option_value_option_id_foreign", - "columnNames": ["option_id"], + "columnNames": [ + "option_id" + ], "localTableName": "public.product_option_value", - "referencedColumnNames": ["id"], + "referencedColumnNames": [ + "id" + ], "referencedTableName": "public.product_option", "deleteRule": "cascade", "updateRule": "cascade" @@ -991,7 +1059,10 @@ "indexes": [ { "keyName": "product_tags_pkey", - "columnNames": ["product_id", "product_tag_id"], + "columnNames": [ + "product_id", + "product_tag_id" + ], "composite": true, "primary": true, "unique": true @@ -1001,18 +1072,26 @@ "foreignKeys": { "product_tags_product_id_foreign": { "constraintName": "product_tags_product_id_foreign", - "columnNames": ["product_id"], + "columnNames": [ + "product_id" + ], "localTableName": "public.product_tags", - "referencedColumnNames": ["id"], + "referencedColumnNames": [ + "id" + ], "referencedTableName": "public.product", "deleteRule": "cascade", "updateRule": "cascade" }, "product_tags_product_tag_id_foreign": { "constraintName": "product_tags_product_tag_id_foreign", - "columnNames": ["product_tag_id"], + "columnNames": [ + "product_tag_id" + ], "localTableName": "public.product_tags", - "referencedColumnNames": ["id"], + "referencedColumnNames": [ + "id" + ], "referencedTableName": "public.product_tag", "deleteRule": "cascade", "updateRule": "cascade" @@ -1045,7 +1124,10 @@ "indexes": [ { "keyName": "product_images_pkey", - "columnNames": ["product_id", "image_id"], + "columnNames": [ + "product_id", + "image_id" + ], "composite": true, "primary": true, "unique": true @@ -1055,18 +1137,26 @@ "foreignKeys": { "product_images_product_id_foreign": { "constraintName": "product_images_product_id_foreign", - "columnNames": ["product_id"], + "columnNames": [ + "product_id" + ], "localTableName": "public.product_images", - "referencedColumnNames": ["id"], + "referencedColumnNames": [ + "id" + ], "referencedTableName": "public.product", "deleteRule": "cascade", "updateRule": "cascade" }, "product_images_image_id_foreign": { "constraintName": "product_images_image_id_foreign", - "columnNames": ["image_id"], + "columnNames": [ + "image_id" + ], "localTableName": "public.product_images", - "referencedColumnNames": ["id"], + "referencedColumnNames": [ + "id" + ], "referencedTableName": "public.image", "deleteRule": "cascade", "updateRule": "cascade" @@ -1099,7 +1189,10 @@ "indexes": [ { "keyName": "product_category_product_pkey", - "columnNames": ["product_id", "product_category_id"], + "columnNames": [ + "product_id", + "product_category_id" + ], "composite": true, "primary": true, "unique": true @@ -1109,18 +1202,26 @@ "foreignKeys": { "product_category_product_product_id_foreign": { "constraintName": "product_category_product_product_id_foreign", - "columnNames": ["product_id"], + "columnNames": [ + "product_id" + ], "localTableName": "public.product_category_product", - "referencedColumnNames": ["id"], + "referencedColumnNames": [ + "id" + ], "referencedTableName": "public.product", "deleteRule": "cascade", "updateRule": "cascade" }, "product_category_product_product_category_id_foreign": { "constraintName": "product_category_product_product_category_id_foreign", - "columnNames": ["product_category_id"], + "columnNames": [ + "product_category_id" + ], "localTableName": "public.product_category_product", - "referencedColumnNames": ["id"], + "referencedColumnNames": [ + "id" + ], "referencedTableName": "public.product_category", "deleteRule": "cascade", "updateRule": "cascade" @@ -1340,7 +1441,9 @@ "schema": "public", "indexes": [ { - "columnNames": ["deleted_at"], + "columnNames": [ + "deleted_at" + ], "composite": false, "keyName": "IDX_product_variant_deleted_at", "primary": false, @@ -1348,7 +1451,9 @@ }, { "keyName": "product_variant_pkey", - "columnNames": ["id"], + "columnNames": [ + "id" + ], "composite": false, "primary": true, "unique": true @@ -1358,9 +1463,13 @@ "foreignKeys": { "product_variant_product_id_foreign": { "constraintName": "product_variant_product_id_foreign", - "columnNames": ["product_id"], + "columnNames": [ + "product_id" + ], "localTableName": "public.product_variant", - "referencedColumnNames": ["id"], + "referencedColumnNames": [ + "id" + ], "referencedTableName": "public.product", "deleteRule": "cascade", "updateRule": "cascade" @@ -1393,7 +1502,10 @@ "indexes": [ { "keyName": "product_variant_option_pkey", - "columnNames": ["variant_id", "option_value_id"], + "columnNames": [ + "variant_id", + "option_value_id" + ], "composite": true, "primary": true, "unique": true @@ -1403,18 +1515,26 @@ "foreignKeys": { "product_variant_option_variant_id_foreign": { "constraintName": "product_variant_option_variant_id_foreign", - "columnNames": ["variant_id"], + "columnNames": [ + "variant_id" + ], "localTableName": "public.product_variant_option", - "referencedColumnNames": ["id"], + "referencedColumnNames": [ + "id" + ], "referencedTableName": "public.product_variant", "deleteRule": "cascade", "updateRule": "cascade" }, "product_variant_option_option_value_id_foreign": { "constraintName": "product_variant_option_option_value_id_foreign", - "columnNames": ["option_value_id"], + "columnNames": [ + "option_value_id" + ], "localTableName": "public.product_variant_option", - "referencedColumnNames": ["id"], + "referencedColumnNames": [ + "id" + ], "referencedTableName": "public.product_option_value", "deleteRule": "cascade", "updateRule": "cascade" diff --git a/packages/modules/promotion/package.json b/packages/modules/promotion/package.json index 1d685cd161570..5a59c145fe096 100644 --- a/packages/modules/promotion/package.json +++ b/packages/modules/promotion/package.json @@ -30,7 +30,6 @@ "build": "rimraf dist && tsc --build && npm run resolve:aliases", "test": "jest --runInBand --passWithNoTests --bail --forceExit -- src", "test:integration": "jest --forceExit -- integration-tests/**/__tests__/**/*.ts", - "migration:generate": " MIKRO_ORM_CLI=./mikro-orm.config.dev.ts medusa-mikro-orm migration:generate", "migration:initial": " MIKRO_ORM_CLI=./mikro-orm.config.dev.ts medusa-mikro-orm migration:create --initial", "migration:create": " MIKRO_ORM_CLI=./mikro-orm.config.dev.ts medusa-mikro-orm migration:create", "migration:up": " MIKRO_ORM_CLI=./mikro-orm.config.dev.ts medusa-mikro-orm migration:up", diff --git a/packages/modules/providers/auth-google/src/services/google.ts b/packages/modules/providers/auth-google/src/services/google.ts index 1a2a323913a23..5f65f0b17c1b2 100644 --- a/packages/modules/providers/auth-google/src/services/google.ts +++ b/packages/modules/providers/auth-google/src/services/google.ts @@ -145,6 +145,7 @@ export class GoogleAuthService extends AbstractAuthModuleProvider { const entity_id = payload.sub const userMetadata = { name: payload.name, + email: payload.email, picture: payload.picture, given_name: payload.given_name, family_name: payload.family_name, diff --git a/packages/modules/providers/file-local/src/services/local-file.ts b/packages/modules/providers/file-local/src/services/local-file.ts index b5001a6256155..b03fe5d7c5006 100644 --- a/packages/modules/providers/file-local/src/services/local-file.ts +++ b/packages/modules/providers/file-local/src/services/local-file.ts @@ -71,10 +71,13 @@ export class LocalFileService extends AbstractFileProviderService { const filePath = this.getUploadFilePath(baseDir, file.fileKey) try { - await fs.access(filePath, fs.constants.F_OK) + await fs.access(filePath, fs.constants.W_OK) await fs.unlink(filePath) } catch (e) { - // The file does not exist, so it's a noop. + // The file does not exist, we don't do anything + if (e.code !== "ENOENT") { + throw e + } } return diff --git a/packages/modules/providers/locking-postgres/package.json b/packages/modules/providers/locking-postgres/package.json index 3c088090a5c94..1a0eec9bb9b24 100644 --- a/packages/modules/providers/locking-postgres/package.json +++ b/packages/modules/providers/locking-postgres/package.json @@ -41,7 +41,6 @@ "build": "rimraf dist && tsc --build && npm run resolve:aliases", "test": "jest --passWithNoTests src", "test:integration": "jest --runInBand --forceExit -- integration-tests/**/__tests__/**/*.spec.ts", - "migration:generate": " MIKRO_ORM_CLI=./mikro-orm.config.dev.ts medusa-mikro-orm migration:generate", "migration:initial": " MIKRO_ORM_CLI=./mikro-orm.config.dev.ts medusa-mikro-orm migration:create --initial -n InitialSetupMigration", "migration:create": " MIKRO_ORM_CLI=./mikro-orm.config.dev.ts medusa-mikro-orm migration:create", "migration:up": " MIKRO_ORM_CLI=./mikro-orm.config.dev.ts medusa-mikro-orm migration:up", diff --git a/packages/modules/region/package.json b/packages/modules/region/package.json index 2bb343c09fbcc..ae86e8d73bf36 100644 --- a/packages/modules/region/package.json +++ b/packages/modules/region/package.json @@ -30,7 +30,6 @@ "build": "rimraf dist && tsc --build && npm run resolve:aliases", "test": "jest --runInBand --passWithNoTests --bail --forceExit -- src", "test:integration": "jest --forceExit -- integration-tests/**/__tests__/**/*.ts", - "migration:generate": " MIKRO_ORM_CLI=./mikro-orm.config.dev.ts medusa-mikro-orm migration:generate", "migration:initial": " MIKRO_ORM_CLI=./mikro-orm.config.dev.ts medusa-mikro-orm migration:create --initial", "migration:create": " MIKRO_ORM_CLI=./mikro-orm.config.dev.ts medusa-mikro-orm migration:create", "migration:up": " MIKRO_ORM_CLI=./mikro-orm.config.dev.ts medusa-mikro-orm migration:up", diff --git a/packages/modules/sales-channel/package.json b/packages/modules/sales-channel/package.json index 7a34493344508..6cae84fee6d6d 100644 --- a/packages/modules/sales-channel/package.json +++ b/packages/modules/sales-channel/package.json @@ -30,7 +30,6 @@ "build": "rimraf dist && tsc --build && npm run resolve:aliases", "test": "jest --runInBand --bail --forceExit -- src/**/__tests__/**/*.ts", "test:integration": "jest --forceExit -- integration-tests/**/__tests__/**/*.ts", - "migration:generate": " MIKRO_ORM_CLI=./mikro-orm.config.dev.ts medusa-mikro-orm migration:generate", "migration:initial": " MIKRO_ORM_CLI=./mikro-orm.config.dev.ts medusa-mikro-orm migration:create --initial", "migration:create": " MIKRO_ORM_CLI=./mikro-orm.config.dev.ts medusa-mikro-orm migration:create", "migration:up": " MIKRO_ORM_CLI=./mikro-orm.config.dev.ts medusa-mikro-orm migration:up", diff --git a/packages/modules/stock-location/package.json b/packages/modules/stock-location/package.json index a265da9b03013..63d4750aaf082 100644 --- a/packages/modules/stock-location/package.json +++ b/packages/modules/stock-location/package.json @@ -50,7 +50,6 @@ "build": "rimraf dist && tsc --build && npm run resolve:aliases", "test": "jest --runInBand --bail --forceExit -- src/**/__tests__/**/*.ts", "test:integration": "jest --runInBand --forceExit -- integration-tests/**/__tests__/**/*.spec.ts", - "migration:generate": " MIKRO_ORM_CLI=./mikro-orm.config.dev.ts medusa-mikro-orm migration:generate", "migration:initial": " MIKRO_ORM_CLI=./mikro-orm.config.dev.ts medusa-mikro-orm migration:create --initial -n InitialSetupMigration", "migration:create": " MIKRO_ORM_CLI=./mikro-orm.config.dev.ts medusa-mikro-orm migration:create", "migration:up": " MIKRO_ORM_CLI=./mikro-orm.config.dev.ts medusa-mikro-orm migration:up", diff --git a/packages/modules/store/package.json b/packages/modules/store/package.json index b82a31ac77f4f..0286cd7c9d52c 100644 --- a/packages/modules/store/package.json +++ b/packages/modules/store/package.json @@ -30,7 +30,6 @@ "build": "rimraf dist && tsc --build && npm run resolve:aliases", "test": "jest --runInBand --bail --forceExit -- src/**/__tests__/**/*.ts", "test:integration": "jest --forceExit -- integration-tests/**/__tests__/**/*.ts", - "migration:generate": " MIKRO_ORM_CLI=./mikro-orm.config.dev.ts medusa-mikro-orm migration:generate", "migration:initial": " MIKRO_ORM_CLI=./mikro-orm.config.dev.ts medusa-mikro-orm migration:create --initial", "migration:create": " MIKRO_ORM_CLI=./mikro-orm.config.dev.ts medusa-mikro-orm migration:create", "migration:up": " MIKRO_ORM_CLI=./mikro-orm.config.dev.ts medusa-mikro-orm migration:up", diff --git a/packages/modules/tax/package.json b/packages/modules/tax/package.json index 7c23e17928790..2ca747719daad 100644 --- a/packages/modules/tax/package.json +++ b/packages/modules/tax/package.json @@ -30,7 +30,6 @@ "build": "rimraf dist && tsc --build && npm run resolve:aliases", "test": "jest --runInBand --bail --forceExit -- src/**/__tests__/**/*.ts", "test:integration": "jest --forceExit -- integration-tests/**/__tests__/**/*.spec.ts", - "migration:generate": " MIKRO_ORM_CLI=./mikro-orm.config.dev.ts medusa-mikro-orm migration:generate", "migration:initial": " MIKRO_ORM_CLI=./mikro-orm.config.dev.ts medusa-mikro-orm migration:create --initial", "migration:create": " MIKRO_ORM_CLI=./mikro-orm.config.dev.ts medusa-mikro-orm migration:create", "migration:up": " MIKRO_ORM_CLI=./mikro-orm.config.dev.ts medusa-mikro-orm migration:up", diff --git a/packages/modules/user/package.json b/packages/modules/user/package.json index d5fbf121fc017..8a74b5041f24d 100644 --- a/packages/modules/user/package.json +++ b/packages/modules/user/package.json @@ -30,7 +30,6 @@ "build": "rimraf dist && tsc --build && npm run resolve:aliases", "test": "jest --runInBand --passWithNoTests --bail --forceExit -- src", "test:integration": "jest --forceExit -- integration-tests/**/__tests__/**/*.ts", - "migration:generate": " MIKRO_ORM_CLI=./mikro-orm.config.dev.ts medusa-mikro-orm migration:generate", "migration:initial": " MIKRO_ORM_CLI=./mikro-orm.config.dev.ts medusa-mikro-orm migration:create --initial", "migration:create": " MIKRO_ORM_CLI=./mikro-orm.config.dev.ts medusa-mikro-orm migration:create", "migration:up": " MIKRO_ORM_CLI=./mikro-orm.config.dev.ts medusa-mikro-orm migration:up", diff --git a/packages/modules/workflow-engine-inmemory/package.json b/packages/modules/workflow-engine-inmemory/package.json index 82b311923432a..e5e2391cd842b 100644 --- a/packages/modules/workflow-engine-inmemory/package.json +++ b/packages/modules/workflow-engine-inmemory/package.json @@ -30,7 +30,6 @@ "build": "rimraf dist && tsc --build && npm run resolve:aliases", "test": "jest --passWithNoTests --runInBand --bail --forceExit -- src", "test:integration": "jest --silent --forceExit -- integration-tests/**/__tests__/**/*.ts", - "migration:generate": " MIKRO_ORM_CLI=./mikro-orm.config.dev.ts medusa-mikro-orm migration:generate", "migration:initial": " MIKRO_ORM_CLI=./mikro-orm.config.dev.ts medusa-mikro-orm migration:create --initial", "migration:create": " MIKRO_ORM_CLI=./mikro-orm.config.dev.ts medusa-mikro-orm migration:create", "migration:up": " MIKRO_ORM_CLI=./mikro-orm.config.dev.ts medusa-mikro-orm migration:up", diff --git a/packages/modules/workflow-engine-redis/package.json b/packages/modules/workflow-engine-redis/package.json index cb56a0adf12ed..fd554ce64e546 100644 --- a/packages/modules/workflow-engine-redis/package.json +++ b/packages/modules/workflow-engine-redis/package.json @@ -30,7 +30,6 @@ "build": "rimraf dist && tsc --build && npm run resolve:aliases", "test": "jest --passWithNoTests --runInBand --bail --forceExit -- src", "test:integration": "jest --forceExit -- integration-tests/**/__tests__/**/*.ts", - "migration:generate": " MIKRO_ORM_CLI=./mikro-orm.config.dev.ts medusa-mikro-orm migration:generate", "migration:initial": " MIKRO_ORM_CLI=./mikro-orm.config.dev.ts medusa-mikro-orm migration:create --initial", "migration:create": " MIKRO_ORM_CLI=./mikro-orm.config.dev.ts medusa-mikro-orm migration:create", "migration:up": " MIKRO_ORM_CLI=./mikro-orm.config.dev.ts medusa-mikro-orm migration:up", diff --git a/www/.eslintrc.js b/www/.eslintrc.js deleted file mode 100644 index 78500800b5345..0000000000000 --- a/www/.eslintrc.js +++ /dev/null @@ -1,10 +0,0 @@ -module.exports = { - root: true, - // This tells ESLint to load the config from the package `eslint-config-docs` - extends: ["docs"], - settings: { - next: { - rootDir: ["apps/*/"], - }, - }, -}; \ No newline at end of file diff --git a/www/apps/api-reference/.eslintrc.js b/www/apps/api-reference/.eslintrc.js deleted file mode 100644 index 44c231a8d4978..0000000000000 --- a/www/apps/api-reference/.eslintrc.js +++ /dev/null @@ -1,11 +0,0 @@ -module.exports = { - root: true, - extends: [ - "docs/next" - ], - settings: { - next: { - rootDir: ".", - }, - } -} diff --git a/www/apps/api-reference/app/admin/page.tsx b/www/apps/api-reference/app/admin/page.tsx index 619896df301ac..e6958853ccd0e 100644 --- a/www/apps/api-reference/app/admin/page.tsx +++ b/www/apps/api-reference/app/admin/page.tsx @@ -1,11 +1,13 @@ +/* eslint-disable @typescript-eslint/ban-ts-comment */ import AreaProvider from "@/providers/area" -import AdminContent from "../_mdx/admin.mdx" +import AdminContent from "@/markdown/admin.mdx" import Tags from "@/components/Tags" import PageTitleProvider from "@/providers/page-title" import { H1 } from "docs-ui" import { getBaseSpecs } from "../../lib" import BaseSpecsProvider from "../../providers/base-specs" import clsx from "clsx" +import React from "react" const AdminPage = async () => { const data = await getBaseSpecs("admin") @@ -23,6 +25,7 @@ const AdminPage = async () => { > Medusa V2 Admin API Reference + {/* @ts-ignore React v19 doesn't see MDX as valid component */} diff --git a/www/apps/api-reference/app/download/[area]/route.ts b/www/apps/api-reference/app/download/[area]/route.ts index ccf60196e80e7..b14846f8d33d7 100644 --- a/www/apps/api-reference/app/download/[area]/route.ts +++ b/www/apps/api-reference/app/download/[area]/route.ts @@ -3,12 +3,13 @@ import { NextResponse } from "next/server" import path from "path" type DownloadParams = { - params: { + params: Promise<{ area: string - } + }> } -export function GET(request: Request, { params }: DownloadParams) { +export async function GET(request: Request, props: DownloadParams) { + const params = await props.params const { area } = params const filePath = path.join(process.cwd(), "specs", area, "openapi.full.yaml") diff --git a/www/apps/api-reference/app/store/page.tsx b/www/apps/api-reference/app/store/page.tsx index 96bc5475367fa..7ea33394d562f 100644 --- a/www/apps/api-reference/app/store/page.tsx +++ b/www/apps/api-reference/app/store/page.tsx @@ -1,5 +1,6 @@ +/* eslint-disable @typescript-eslint/ban-ts-comment */ import AreaProvider from "@/providers/area" -import StoreContent from "../_mdx/store.mdx" +import StoreContent from "@/markdown/store.mdx" import Tags from "@/components/Tags" import PageTitleProvider from "@/providers/page-title" import { H1 } from "docs-ui" @@ -23,6 +24,7 @@ const StorePage = async () => { > Medusa V2 Store API Reference + {/* @ts-ignore React v19 doesn't see MDX as valid component */} diff --git a/www/apps/api-reference/components/Tags/Operation/Parameters/Types/Object/index.tsx b/www/apps/api-reference/components/Tags/Operation/Parameters/Types/Object/index.tsx index d86f589989e50..edc0a7af4a0ad 100644 --- a/www/apps/api-reference/components/Tags/Operation/Parameters/Types/Object/index.tsx +++ b/www/apps/api-reference/components/Tags/Operation/Parameters/Types/Object/index.tsx @@ -94,8 +94,8 @@ const TagOperationParametersObject = ({ properties[property2].isRequired ? 0 : properties[property1].isRequired - ? -1 - : 1 + ? -1 + : 1 } ) const content = ( diff --git a/www/apps/api-reference/components/Tags/Operation/Parameters/Types/OneOf/index.tsx b/www/apps/api-reference/components/Tags/Operation/Parameters/Types/OneOf/index.tsx index f5b73f0433c78..b5085ad25599d 100644 --- a/www/apps/api-reference/components/Tags/Operation/Parameters/Types/OneOf/index.tsx +++ b/www/apps/api-reference/components/Tags/Operation/Parameters/Types/OneOf/index.tsx @@ -66,19 +66,21 @@ const TagOperationParamatersOneOf = ({ return ( <>
    - One of -
      + One of +
        {schema.oneOf?.map((item, index) => (
      • setActiveTab(index)} diff --git a/www/apps/api-reference/components/Tags/Operation/Parameters/Types/Union/index.tsx b/www/apps/api-reference/components/Tags/Operation/Parameters/Types/Union/index.tsx index 5933951632913..f3f96f387eb92 100644 --- a/www/apps/api-reference/components/Tags/Operation/Parameters/Types/Union/index.tsx +++ b/www/apps/api-reference/components/Tags/Operation/Parameters/Types/Union/index.tsx @@ -36,8 +36,8 @@ const TagOperationParametersUnion = ({ const objectSchema = schema.anyOf ? schema.anyOf.find((item) => item.type === "object" && item.properties) : schema.allOf - ? mergeAllOfTypes(schema) - : undefined + ? mergeAllOfTypes(schema) + : undefined if (!objectSchema) { return ( diff --git a/www/apps/api-reference/components/Tags/Section/Schema/index.tsx b/www/apps/api-reference/components/Tags/Section/Schema/index.tsx index 0fd67bebd696f..ffdd2885ae1e6 100644 --- a/www/apps/api-reference/components/Tags/Section/Schema/index.tsx +++ b/www/apps/api-reference/components/Tags/Section/Schema/index.tsx @@ -116,6 +116,7 @@ const TagSectionSchema = ({ schema, tagName }: TagSectionSchemaProps) => { return ( { return ( - {tags?.map((tag) => ( - - ))} + {tags?.map((tag) => )} ) } diff --git a/www/apps/api-reference/eslint.config.mjs b/www/apps/api-reference/eslint.config.mjs new file mode 100644 index 0000000000000..2ad4af2ffb8a8 --- /dev/null +++ b/www/apps/api-reference/eslint.config.mjs @@ -0,0 +1,205 @@ +import prettier from "eslint-plugin-prettier/recommended" +import globals from "globals" +import babelParser from "@babel/eslint-parser" +import typescriptEslintEslintPlugin from "@typescript-eslint/eslint-plugin" +import tsParser from "@typescript-eslint/parser" +import path from "node:path" +import { fileURLToPath } from "node:url" +import js from "@eslint/js" +import { FlatCompat } from "@eslint/eslintrc" + +const __filename = fileURLToPath(import.meta.url) +const __dirname = path.dirname(__filename) +const compat = new FlatCompat({ + baseDirectory: __dirname, + recommendedConfig: js.configs.recommended, + allConfig: js.configs.all, +}) + +export default [ + prettier, + { + ignores: ["**/eslint-config-docs", "**/.eslintrc.js", "**/dist"], + }, + ...compat.extends( + "eslint:recommended", + "plugin:react/recommended", + "plugin:react/jsx-runtime", + "plugin:react-hooks/recommended", + "plugin:@next/next/recommended" + ), + { + languageOptions: { + globals: { + ...globals.node, + ...globals.jest, + ...globals.browser, + }, + + parser: babelParser, + ecmaVersion: 13, + sourceType: "module", + + parserOptions: { + requireConfigFile: false, + + ecmaFeatures: { + experimentalDecorators: true, + jsx: true, + modules: true, + }, + + project: true, + }, + }, + + settings: { + react: { + version: "detect", + }, + }, + + rules: { + curly: ["error", "all"], + "new-cap": "off", + "require-jsdoc": "off", + "no-unused-expressions": "off", + "no-unused-vars": "off", + camelcase: "off", + "no-invalid-this": "off", + + "max-len": [ + "error", + { + code: 80, + ignoreStrings: true, + ignoreRegExpLiterals: true, + ignoreComments: true, + ignoreTrailingComments: true, + ignoreUrls: true, + ignoreTemplateLiterals: true, + }, + ], + + semi: ["error", "never"], + + quotes: [ + "error", + "double", + { + allowTemplateLiterals: true, + }, + ], + + "comma-dangle": [ + "error", + { + arrays: "always-multiline", + objects: "always-multiline", + imports: "always-multiline", + exports: "always-multiline", + functions: "never", + }, + ], + + "object-curly-spacing": ["error", "always"], + "arrow-parens": ["error", "always"], + "linebreak-style": 0, + + "no-confusing-arrow": [ + "error", + { + allowParens: false, + }, + ], + + "space-before-function-paren": [ + "error", + { + anonymous: "always", + named: "never", + asyncArrow: "always", + }, + ], + + "space-infix-ops": "error", + "eol-last": ["error", "always"], + + "no-console": [ + "error", + { + allow: ["error", "warn"], + }, + ], + + "react/prop-types": [ + 2, + { + ignore: ["className"], + }, + ], + }, + }, + ...compat + .extends( + "plugin:@typescript-eslint/recommended", + "plugin:react/recommended" + ) + .map((config) => ({ + ...config, + files: ["**/*.ts", "**/*.tsx", "**/*.js", "**/*.jsx"], + })), + { + files: ["**/*.ts", "**/*.tsx", "**/*.js", "**/*.jsx"], + + plugins: { + "@typescript-eslint": typescriptEslintEslintPlugin, + }, + + languageOptions: { + parser: tsParser, + ecmaVersion: 13, + sourceType: "module", + + parserOptions: { + project: "./tsconfig.json", + }, + }, + settings: { + next: { + rootDir: ".", + }, + }, + ignores: [ + "**/next.config.js", + "**/spec", + "**/node_modules", + "**/public", + "**/.eslintrc.js", + ], + + rules: { + "react/react-in-jsx-scope": "off", + "@typescript-eslint/prefer-ts-expect-error": "off", + "valid-jsdoc": "off", + "@typescript-eslint/no-non-null-assertion": "off", + "@typescript-eslint/no-floating-promises": "error", + "@typescript-eslint/await-thenable": "error", + "@typescript-eslint/promise-function-async": "error", + "@/keyword-spacing": "error", + + "@/space-before-function-paren": [ + "error", + { + anonymous: "always", + named: "never", + asyncArrow: "always", + }, + ], + + "@/space-infix-ops": "error", + "@typescript-eslint/no-explicit-any": "warn", + "@typescript-eslint/no-unused-vars": "warn", + }, + }, +] diff --git a/www/apps/api-reference/app/_mdx/admin.mdx b/www/apps/api-reference/markdown/admin.mdx similarity index 100% rename from www/apps/api-reference/app/_mdx/admin.mdx rename to www/apps/api-reference/markdown/admin.mdx diff --git a/www/apps/api-reference/app/_mdx/client-libraries.mdx b/www/apps/api-reference/markdown/client-libraries.mdx similarity index 100% rename from www/apps/api-reference/app/_mdx/client-libraries.mdx rename to www/apps/api-reference/markdown/client-libraries.mdx diff --git a/www/apps/api-reference/app/_mdx/store.mdx b/www/apps/api-reference/markdown/store.mdx similarity index 100% rename from www/apps/api-reference/app/_mdx/store.mdx rename to www/apps/api-reference/markdown/store.mdx diff --git a/www/apps/api-reference/next.config.mjs b/www/apps/api-reference/next.config.mjs index 21f182085882b..bdb0de2f37667 100644 --- a/www/apps/api-reference/next.config.mjs +++ b/www/apps/api-reference/next.config.mjs @@ -1,10 +1,12 @@ -import mdx from "@next/mdx" +import createMDX from "@next/mdx" import bundleAnalyzer from "@next/bundle-analyzer" import rehypeMdxCodeProps from "rehype-mdx-code-props" import rehypeSlug from "rehype-slug" /** @type {import('next').NextConfig} */ const nextConfig = { + // Configure `pageExtensions` to include MDX files + pageExtensions: ["js", "jsx", "mdx", "ts", "tsx"], basePath: process.env.NEXT_PUBLIC_BASE_PATH || "/api", webpack: (config) => { config.ignoreWarnings = [{ module: /node_modules\/keyv\/src\/index\.js/ }] @@ -23,8 +25,7 @@ const nextConfig = { }, } -const withMDX = mdx({ - extension: /\.mdx?$/, +const withMDX = createMDX({ options: { rehypePlugins: [ [ @@ -43,4 +44,4 @@ const withBundleAnalyzer = bundleAnalyzer({ enabled: process.env.ANALYZE_BUNDLE === "true", }) -export default withBundleAnalyzer(withMDX(nextConfig)) +export default withMDX(nextConfig) diff --git a/www/apps/api-reference/package.json b/www/apps/api-reference/package.json index 872eef6a21e0f..d029286db5cf9 100644 --- a/www/apps/api-reference/package.json +++ b/www/apps/api-reference/package.json @@ -3,7 +3,7 @@ "version": "0.1.0", "private": true, "scripts": { - "dev": "next dev", + "dev": "NODE_OPTIONS='--inspect' next dev", "dev:monorepo": "yarn dev -p 3000", "build": "next build", "build:dev": "NODE_ENV=test next build", @@ -13,40 +13,33 @@ "lint": "next lint --fix" }, "dependencies": { - "@mdx-js/loader": "^3.0.0", - "@mdx-js/react": "^3.0.0", + "@mdx-js/loader": "^3.1.0", + "@mdx-js/react": "^3.1.0", "@medusajs/icons": "^2.0.0", "@medusajs/ui": "^3.0.0", - "@next/mdx": "14.2.14", + "@next/mdx": "15.0.1", "@react-hook/resize-observer": "^2.0.2", "@readme/openapi-parser": "^2.5.0", - "@types/mapbox__rehype-prism": "^0.8.0", - "@types/mdx": "^2.0.5", - "@types/node": "20.4.5", - "@types/react": "^18.2.0", - "@types/react-dom": "^18.2.0", - "@types/react-transition-group": "^4.4.6", "algoliasearch": "4", "autoprefixer": "10.4.14", "clsx": "^2.0.0", "docs-ui": "*", - "eslint-config-docs": "*", "jsdom": "^22.1.0", "json-schema": "^0.4.0", "json-stringify-pretty-compact": "^4.0.0", - "next": "^14.2.14", - "next-mdx-remote": "^4.4.1", + "next": "15.0.1", + "next-mdx-remote": "5.0.0", "openapi-sampler": "^1.3.1", "openapi-types": "^12.1.3", "pluralize": "^8.0.0", "postcss": "8.4.27", - "prism-react-renderer": "2.3.1", - "react": "^18.2.0", - "react-dom": "^18.2.0", - "react-intersection-observer": "^9.5.3", - "react-tooltip": "^5.19.0", + "prism-react-renderer": "2.4.0", + "react": "rc", + "react-dom": "rc", + "react-intersection-observer": "^9.13.1", + "react-tooltip": "^5.28.0", "react-transition-group": "^4.4.5", - "rehype-mdx-code-props": "^2.0.0", + "rehype-mdx-code-props": "^3.0.1", "rehype-slug": "^6.0.0", "slugify": "^1.6.6", "swr": "^2.2.0", @@ -56,12 +49,24 @@ "yaml": "^2.3.1" }, "devDependencies": { - "@next/bundle-analyzer": "^14.2.14", + "@next/bundle-analyzer": "15.0.1", "@types/jsdom": "^21.1.1", + "@types/mapbox__rehype-prism": "^0.8.0", + "@types/mdx": "^2.0.13", + "@types/node": "20.4.5", "@types/pluralize": "^0.0.33", + "@types/react": "npm:types-react@rc", + "@types/react-dom": "npm:types-react@rc", + "eslint": "^9.13.0", + "eslint-plugin-prettier": "^5.2.1", + "eslint-plugin-react-hooks": "^5.0.0", "types": "*" }, "engines": { "node": ">=20" + }, + "overrides": { + "@types/react": "npm:types-react@rc", + "@types/react-dom": "npm:types-react-dom@rc" } } diff --git a/www/apps/api-reference/specs/admin/components/schemas/AdminBatchProductVariantRequest.yaml b/www/apps/api-reference/specs/admin/components/schemas/AdminBatchProductVariantRequest.yaml index 090be1d3698bf..f09479c287687 100644 --- a/www/apps/api-reference/specs/admin/components/schemas/AdminBatchProductVariantRequest.yaml +++ b/www/apps/api-reference/specs/admin/components/schemas/AdminBatchProductVariantRequest.yaml @@ -11,7 +11,7 @@ properties: type: array description: The product variants to update. items: - $ref: ./AdminUpdateProductVariant.yaml + $ref: ./AdminBatchUpdateProductVariant.yaml delete: type: array description: The product variants to delete. diff --git a/www/apps/api-reference/specs/admin/components/schemas/AdminBatchUpdateProductVariant.yaml b/www/apps/api-reference/specs/admin/components/schemas/AdminBatchUpdateProductVariant.yaml new file mode 100644 index 0000000000000..82a68abb60700 --- /dev/null +++ b/www/apps/api-reference/specs/admin/components/schemas/AdminBatchUpdateProductVariant.yaml @@ -0,0 +1,87 @@ +type: object +description: The properties to update of a product variant. +x-schemaName: AdminBatchUpdateProductVariant +properties: + title: + type: string + title: title + description: The product variant's title. + sku: + type: string + title: sku + description: The product variant's SKU. + ean: + type: string + title: ean + description: The product variant's EAN. + upc: + type: string + title: upc + description: The product variant's UPC. + barcode: + type: string + title: barcode + description: The product variant's barcode. + hs_code: + type: string + title: hs_code + description: The product variant's HS code. + mid_code: + type: string + title: mid_code + description: The product variant's MID code. + allow_backorder: + type: boolean + title: allow_backorder + description: Whether customers can order the variant even if it's not in stock. + manage_inventory: + type: boolean + title: manage_inventory + description: >- + Whether the Medusa application manages the variant's inventory. If + disabled, the product variant is always considered in stock. + variant_rank: + type: number + title: variant_rank + description: The product variant's rank among its siblings. + weight: + type: number + title: weight + description: The product variant's weight. + length: + type: number + title: length + description: The product variant's length. + height: + type: number + title: height + description: The product variant's height. + width: + type: number + title: width + description: The product variant's width. + origin_country: + type: string + title: origin_country + description: The product variant's origin country. + material: + type: string + title: material + description: The product variant's material. + metadata: + type: object + description: The product variant's metadata, can hold custom key-value pairs. + prices: + type: array + description: The product variant's prices. + items: + $ref: ./AdminCreateProductVariantPrice.yaml + options: + type: object + description: The product variant's options. + id: + type: string + title: id + description: The update's ID. +required: + - id diff --git a/www/apps/api-reference/specs/admin/openapi.full.yaml b/www/apps/api-reference/specs/admin/openapi.full.yaml index cace33e139412..f4a66516074b7 100644 --- a/www/apps/api-reference/specs/admin/openapi.full.yaml +++ b/www/apps/api-reference/specs/admin/openapi.full.yaml @@ -43651,7 +43651,7 @@ components: type: array description: The product variants to update. items: - $ref: '#/components/schemas/AdminUpdateProductVariant' + $ref: '#/components/schemas/AdminBatchUpdateProductVariant' delete: type: array description: The product variants to delete. @@ -43702,6 +43702,92 @@ components: type: boolean title: deleted description: Whether the product variants were deleted. + AdminBatchUpdateProductVariant: + type: object + description: The properties to update of a product variant. + x-schemaName: AdminBatchUpdateProductVariant + properties: + title: + type: string + title: title + description: The product variant's title. + sku: + type: string + title: sku + description: The product variant's SKU. + ean: + type: string + title: ean + description: The product variant's EAN. + upc: + type: string + title: upc + description: The product variant's UPC. + barcode: + type: string + title: barcode + description: The product variant's barcode. + hs_code: + type: string + title: hs_code + description: The product variant's HS code. + mid_code: + type: string + title: mid_code + description: The product variant's MID code. + allow_backorder: + type: boolean + title: allow_backorder + description: Whether customers can order the variant even if it's not in stock. + manage_inventory: + type: boolean + title: manage_inventory + description: Whether the Medusa application manages the variant's inventory. If disabled, the product variant is always considered in stock. + variant_rank: + type: number + title: variant_rank + description: The product variant's rank among its siblings. + weight: + type: number + title: weight + description: The product variant's weight. + length: + type: number + title: length + description: The product variant's length. + height: + type: number + title: height + description: The product variant's height. + width: + type: number + title: width + description: The product variant's width. + origin_country: + type: string + title: origin_country + description: The product variant's origin country. + material: + type: string + title: material + description: The product variant's material. + metadata: + type: object + description: The product variant's metadata, can hold custom key-value pairs. + prices: + type: array + description: The product variant's prices. + items: + $ref: '#/components/schemas/AdminCreateProductVariantPrice' + options: + type: object + description: The product variant's options. + id: + type: string + title: id + description: The update's ID. + required: + - id AdminCampaign: type: object description: The campaign's details. diff --git a/www/apps/api-reference/specs/store/components/schemas/AdminBatchProductVariantRequest.yaml b/www/apps/api-reference/specs/store/components/schemas/AdminBatchProductVariantRequest.yaml index 090be1d3698bf..f09479c287687 100644 --- a/www/apps/api-reference/specs/store/components/schemas/AdminBatchProductVariantRequest.yaml +++ b/www/apps/api-reference/specs/store/components/schemas/AdminBatchProductVariantRequest.yaml @@ -11,7 +11,7 @@ properties: type: array description: The product variants to update. items: - $ref: ./AdminUpdateProductVariant.yaml + $ref: ./AdminBatchUpdateProductVariant.yaml delete: type: array description: The product variants to delete. diff --git a/www/apps/api-reference/specs/store/components/schemas/AdminBatchUpdateProductVariant.yaml b/www/apps/api-reference/specs/store/components/schemas/AdminBatchUpdateProductVariant.yaml new file mode 100644 index 0000000000000..82a68abb60700 --- /dev/null +++ b/www/apps/api-reference/specs/store/components/schemas/AdminBatchUpdateProductVariant.yaml @@ -0,0 +1,87 @@ +type: object +description: The properties to update of a product variant. +x-schemaName: AdminBatchUpdateProductVariant +properties: + title: + type: string + title: title + description: The product variant's title. + sku: + type: string + title: sku + description: The product variant's SKU. + ean: + type: string + title: ean + description: The product variant's EAN. + upc: + type: string + title: upc + description: The product variant's UPC. + barcode: + type: string + title: barcode + description: The product variant's barcode. + hs_code: + type: string + title: hs_code + description: The product variant's HS code. + mid_code: + type: string + title: mid_code + description: The product variant's MID code. + allow_backorder: + type: boolean + title: allow_backorder + description: Whether customers can order the variant even if it's not in stock. + manage_inventory: + type: boolean + title: manage_inventory + description: >- + Whether the Medusa application manages the variant's inventory. If + disabled, the product variant is always considered in stock. + variant_rank: + type: number + title: variant_rank + description: The product variant's rank among its siblings. + weight: + type: number + title: weight + description: The product variant's weight. + length: + type: number + title: length + description: The product variant's length. + height: + type: number + title: height + description: The product variant's height. + width: + type: number + title: width + description: The product variant's width. + origin_country: + type: string + title: origin_country + description: The product variant's origin country. + material: + type: string + title: material + description: The product variant's material. + metadata: + type: object + description: The product variant's metadata, can hold custom key-value pairs. + prices: + type: array + description: The product variant's prices. + items: + $ref: ./AdminCreateProductVariantPrice.yaml + options: + type: object + description: The product variant's options. + id: + type: string + title: id + description: The update's ID. +required: + - id diff --git a/www/apps/api-reference/specs/store/openapi.full.yaml b/www/apps/api-reference/specs/store/openapi.full.yaml index 937bfe0141b0d..03e2e02ddad47 100644 --- a/www/apps/api-reference/specs/store/openapi.full.yaml +++ b/www/apps/api-reference/specs/store/openapi.full.yaml @@ -5681,7 +5681,7 @@ components: type: array description: The product variants to update. items: - $ref: '#/components/schemas/AdminUpdateProductVariant' + $ref: '#/components/schemas/AdminBatchUpdateProductVariant' delete: type: array description: The product variants to delete. @@ -5732,6 +5732,92 @@ components: type: boolean title: deleted description: Whether the product variants were deleted. + AdminBatchUpdateProductVariant: + type: object + description: The properties to update of a product variant. + x-schemaName: AdminBatchUpdateProductVariant + properties: + title: + type: string + title: title + description: The product variant's title. + sku: + type: string + title: sku + description: The product variant's SKU. + ean: + type: string + title: ean + description: The product variant's EAN. + upc: + type: string + title: upc + description: The product variant's UPC. + barcode: + type: string + title: barcode + description: The product variant's barcode. + hs_code: + type: string + title: hs_code + description: The product variant's HS code. + mid_code: + type: string + title: mid_code + description: The product variant's MID code. + allow_backorder: + type: boolean + title: allow_backorder + description: Whether customers can order the variant even if it's not in stock. + manage_inventory: + type: boolean + title: manage_inventory + description: Whether the Medusa application manages the variant's inventory. If disabled, the product variant is always considered in stock. + variant_rank: + type: number + title: variant_rank + description: The product variant's rank among its siblings. + weight: + type: number + title: weight + description: The product variant's weight. + length: + type: number + title: length + description: The product variant's length. + height: + type: number + title: height + description: The product variant's height. + width: + type: number + title: width + description: The product variant's width. + origin_country: + type: string + title: origin_country + description: The product variant's origin country. + material: + type: string + title: material + description: The product variant's material. + metadata: + type: object + description: The product variant's metadata, can hold custom key-value pairs. + prices: + type: array + description: The product variant's prices. + items: + $ref: '#/components/schemas/AdminCreateProductVariantPrice' + options: + type: object + description: The product variant's options. + id: + type: string + title: id + description: The update's ID. + required: + - id AdminCampaign: type: object description: The campaign's details. diff --git a/www/apps/api-reference/types/global.d.ts b/www/apps/api-reference/types/global.d.ts index 3747492a3e14a..e3c089e540829 100644 --- a/www/apps/api-reference/types/global.d.ts +++ b/www/apps/api-reference/types/global.d.ts @@ -1,4 +1,4 @@ -export declare global { +declare global { interface Window { // eslint-disable-next-line @typescript-eslint/no-explicit-any analytics?: any diff --git a/www/apps/book/.content.eslint.mjs b/www/apps/book/.content.eslint.mjs new file mode 100644 index 0000000000000..65f47a8b41644 --- /dev/null +++ b/www/apps/book/.content.eslint.mjs @@ -0,0 +1,159 @@ +import prettier from "eslint-plugin-prettier" +import markdown from "eslint-plugin-markdown" +import globals from "globals" +import babelParser from "@babel/eslint-parser" +import typescriptEslintEslintPlugin from "@typescript-eslint/eslint-plugin" +import tsParser from "@typescript-eslint/parser" +import path from "node:path" +import { fileURLToPath } from "node:url" +import js from "@eslint/js" +import { FlatCompat } from "@eslint/eslintrc" + +const __filename = fileURLToPath(import.meta.url) +const __dirname = path.dirname(__filename) +const compat = new FlatCompat({ + baseDirectory: __dirname, + recommendedConfig: js.configs.recommended, + allConfig: js.configs.all, +}) + +export default [ + { + ignores: [ + "**/references/**/*", + "**/events-reference/**/*", + "**/_events-table/**/*", + ], + }, + { + plugins: { + prettier, + markdown, + }, + + languageOptions: { + globals: { + ...globals.node, + }, + + parser: babelParser, + ecmaVersion: 13, + sourceType: "module", + + parserOptions: { + requireConfigFile: false, + + ecmaFeatures: { + experimentalDecorators: true, + modules: true, + }, + }, + }, + + settings: { + react: { + version: "detect", + }, + }, + + rules: { + "no-undef": "off", + "no-unused-expressions": "off", + "no-unused-vars": "off", + "no-unused-labels": "off", + "no-console": "off", + curly: ["error", "all"], + "new-cap": "off", + "require-jsdoc": "off", + camelcase: "off", + "no-invalid-this": "off", + + "max-len": [ + "warn", + { + code: 64, + }, + ], + + semi: ["error", "never"], + + quotes: [ + "error", + "double", + { + allowTemplateLiterals: true, + }, + ], + + "comma-dangle": [ + "error", + { + arrays: "always-multiline", + objects: "always-multiline", + imports: "always-multiline", + exports: "always-multiline", + functions: "never", + }, + ], + + "object-curly-spacing": ["error", "always"], + "arrow-parens": ["error", "always"], + "linebreak-style": 0, + + "no-confusing-arrow": [ + "error", + { + allowParens: false, + }, + ], + + "space-before-function-paren": [ + "error", + { + anonymous: "always", + named: "never", + asyncArrow: "always", + }, + ], + + "space-infix-ops": "off", + "eol-last": ["error", "always"], + "react/prop-types": "off", + "react/jsx-no-undef": "off", + }, + }, + { + files: ["**/*.md", "**/*.mdx"], + processor: "markdown/markdown", + }, + { + files: ["**/*.md/*.js", "**/*.mdx/*.js", "**/*.md/*.jsx", "**/*.mdx/*.jsx"], + }, + ...compat.extends("plugin:@typescript-eslint/recommended").map((config) => ({ + ...config, + files: ["**/*.md/*.ts", "**/*.mdx/*.ts", "**/*.md/*.tsx", "**/*.mdx/*.tsx"], + })), + { + files: ["**/*.md/*.ts", "**/*.mdx/*.ts", "**/*.md/*.tsx", "**/*.mdx/*.tsx"], + + plugins: { + "@typescript-eslint": typescriptEslintEslintPlugin, + }, + + languageOptions: { + parser: tsParser, + }, + + rules: { + "@typescript-eslint/no-unused-vars": "off", + "@typescript-eslint/no-empty-function": "off", + "@typescript-eslint/no-explicit-any": "off", + "@typescript-eslint/no-non-null-assertion": "off", + "@typescript-eslint/no-var-requires": "off", + "prefer-rest-params": "off", + "@typescript-eslint/ban-ts-comment": "off", + "@typescript-eslint/no-non-null-asserted-optional-chain": "off", + "@typescript-eslint/ban-types": "off", + }, + }, +] diff --git a/www/apps/book/.content.eslintrc.js b/www/apps/book/.content.eslintrc.js deleted file mode 100644 index fc843a3a5a4bf..0000000000000 --- a/www/apps/book/.content.eslintrc.js +++ /dev/null @@ -1,6 +0,0 @@ -module.exports = { - root: true, - extends: [ - "docs/content" - ], -} diff --git a/www/apps/book/.eslintrc.js b/www/apps/book/.eslintrc.js deleted file mode 100644 index ef48b51dd2ac1..0000000000000 --- a/www/apps/book/.eslintrc.js +++ /dev/null @@ -1,14 +0,0 @@ -module.exports = { - root: true, - extends: [ - "docs/next" - ], - settings: { - next: { - rootDir: ".", - }, - }, - ignorePatterns: [ - "generated" - ] -} diff --git a/www/apps/book/.gitignore b/www/apps/book/.gitignore index 25bbb4b9c1180..98297a172f7b0 100644 --- a/www/apps/book/.gitignore +++ b/www/apps/book/.gitignore @@ -15,6 +15,7 @@ # production /build +!/app/learn/build # misc .DS_Store diff --git a/www/apps/book/app/_not-found.mdx b/www/apps/book/app/_not-found.mdx index 914b2b8541129..fa69e0b22d4d4 100644 --- a/www/apps/book/app/_not-found.mdx +++ b/www/apps/book/app/_not-found.mdx @@ -23,7 +23,7 @@ If you think this is a mistake, please [report this issue on GitHub](https://git items={[ { title: "Get Started Docs", - href: "/", + href: "/learn", icon: BookOpen }, { diff --git a/www/apps/book/app/learn/advanced-development/admin/tips/page.mdx b/www/apps/book/app/learn/advanced-development/admin/tips/page.mdx index 1975cc38aa1ca..c1e22bd4fd392 100644 --- a/www/apps/book/app/learn/advanced-development/admin/tips/page.mdx +++ b/www/apps/book/app/learn/advanced-development/admin/tips/page.mdx @@ -55,7 +55,7 @@ import { DetailWidgetProps, HttpTypes } from "@medusajs/framework/types" const ProductWidget = () => { const { data, isLoading } = useQuery({ queryFn: () => sdk.admin.product.list(), - queryKey: ["products"] + queryKey: ["products"], }) return ( @@ -95,17 +95,17 @@ import { sdk } from "../lib/config" import { DetailWidgetProps, HttpTypes } from "@medusajs/framework/types" const ProductWidget = ({ - data: productData + data: productData, }: DetailWidgetProps) => { const { mutateAsync } = useMutation({ mutationFn: (payload: HttpTypes.AdminUpdateProduct) => sdk.admin.product.update(productData.id, payload), - onSuccess: () => alert("updated product") + onSuccess: () => alert("updated product"), }) const handleUpdate = () => { mutateAsync({ - title: "New Product Title" + title: "New Product Title", }) } @@ -167,4 +167,12 @@ This adds a widget in a product's details page with a link to the Orders page. T Refer to [react-router-dom’s documentation](https://reactrouter.com/en/main) for other available components and hooks. - \ No newline at end of file + + +--- + +## Admin Translations + +The Medusa Admin dashboard can be displayed in languages other than English, which is the default. Other languages are added through community contributions. + +Learn how to add a new language translation for the Medusa Admin in [this guide](!resources!/contribution-guidelines/admin-translations). diff --git a/www/apps/book/app/learn/advanced-development/admin/ui-routes/page.mdx b/www/apps/book/app/learn/advanced-development/admin/ui-routes/page.mdx index a16b7a4971445..0815a2f4d34c0 100644 --- a/www/apps/book/app/learn/advanced-development/admin/ui-routes/page.mdx +++ b/www/apps/book/app/learn/advanced-development/admin/ui-routes/page.mdx @@ -99,6 +99,41 @@ The configuration object is created using the `defineRouteConfig` function impor The above example adds a new sidebar item with the label `Custom Route` and an icon from the [Medusa UI Icons package](!ui!/icons/overview). +### Nested UI Routes + +Consider that along the UI route above at `src/admin/routes/custom/page.tsx` you create a nested UI route at `src/admin/routes/custom/nested/page.tsx` that also exports route configurations: + +```tsx title="src/admin/routes/custom/nested/page.tsx" +import { defineRouteConfig } from "@medusajs/admin-sdk" +import { Container, Heading } from "@medusajs/ui" + +const NestedCustomPage = () => { + return ( + +
        + This is my nested custom route +
        +
        + ) +} + +export const config = defineRouteConfig({ + label: "Nested Route", +}) + +export default NestedCustomPage +``` + +This UI route is shown in the sidebar as an item nested in the parent "Custom Route" item. Nested items are only shown when the parent sidebar items (in this case, "Custom Route") are clicked. + +#### Caveats + +Some caveats for nested UI routes in the sidebar: + +- Nested dynamic UI routes, such as one created at `src/admin/routes/custom/[id]/page.tsx` aren't added to the sidebar as it's not possible to link to a dynamic route. If the dynamic route exports route configurations, a warning is logged in the browser's console. +- Nested routes in setting pages aren't shown in the sidebar to follow the admin's design conventions. +- The `icon` configuration is ignored for the sidebar item of nested UI route to follow the admin's design conventions. + --- ## Create Settings Page diff --git a/www/apps/book/app/learn/advanced-development/api-routes/parameters/page.mdx b/www/apps/book/app/learn/advanced-development/api-routes/parameters/page.mdx index 4523156ab60b2..5587d6f00a6b9 100644 --- a/www/apps/book/app/learn/advanced-development/api-routes/parameters/page.mdx +++ b/www/apps/book/app/learn/advanced-development/api-routes/parameters/page.mdx @@ -95,6 +95,12 @@ export const GET = async ( The value of `req.query.name` is the value passed in `?name=John`, for example. +### Validate Query Parameters + +You can apply validation rules on received query parameters to ensure they match specified rules and types. + +Learn more in [this documentation](../validation/page.mdx#how-to-validate-request-query-paramters). + --- ## Request Body Parameters @@ -153,3 +159,9 @@ This returns the following JSON object: "message": "[POST] Hello John!" } ``` + +### Validate Body Parameters + +You can apply validation rules on received body parameters to ensure they match specified rules and types. + +Learn more in [this documentation](../validation/page.mdx#how-to-validate-request-body). diff --git a/www/apps/book/app/learn/advanced-development/api-routes/validation/page.mdx b/www/apps/book/app/learn/advanced-development/api-routes/validation/page.mdx index 8c5669ddd756a..ad6177ef33404 100644 --- a/www/apps/book/app/learn/advanced-development/api-routes/validation/page.mdx +++ b/www/apps/book/app/learn/advanced-development/api-routes/validation/page.mdx @@ -1,24 +1,33 @@ export const metadata = { - title: `${pageNumber} Request Body Parameter Validation`, + title: `${pageNumber} Request Body and Query Parameter Validation`, } # {metadata.title} -In this chapter, you'll learn how to validate request body parameters in your custom API route. +In this chapter, you'll learn how to validate request body and query parameters in your custom API route. -## Example Scenario +## Request Validation Consider you're creating a `POST` API route at `/custom`. It accepts two parameters `a` and `b` that are required numbers, and returns their sum. -The next steps explain how to add validation to this API route, as an example. +Medusa provides two middlewares to validate the request body and query paramters of incoming requests to your custom API routes: + +- `validateAndTransformBody` to validate the request's body parameters against a schema. +- `validateAndTransformQuery` to validate the request's query parameters against a schema. + +Both middlewares accept a [Zod](https://zod.dev/) schema as a parameter, which gives you flexibility in how you define your validation schema with complex rules. + +The next steps explain how to add request body and query parameter validation to the API route mentioned earlier. --- -## Step 1: Create Zod Schema +## How to Validate Request Body -Medusa uses [Zod](https://zod.dev/) to validate the body parameters of an incoming request. +### Step 1: Create Validation Schema -To use Zod to validate your custom schemas, create a `validators.ts` file in any `src/api` subfolder. This file holds Zod schemas for each of your API routes. +Medusa uses [Zod](https://zod.dev/) to create validation schemas. These schemas are then used to validate incoming request bodies or query parameters. + +To create a validation schema with Zod, create a `validators.ts` file in any `src/api` subfolder. This file holds Zod schemas for each of your API routes. For example, create the file `src/api/custom/validators.ts` with the following content: @@ -37,11 +46,9 @@ The `PostStoreCustomSchema` variable is a Zod schema that indicates the request 2. It has a property `a` that is a required number. 3. It has a property `b` that is a required number. ---- - -## Step 2: Add Validation Middleware +### Step 2: Add Request Body Validation Middleware -To use this schema for validating the body parameters of requests to `/custom`, use the `validateAndTransformBody` middleware provided by `@medusajs/framework/utils`. It accepts the Zod schema as a parameter. +To use this schema for validating the body parameters of requests to `/custom`, use the `validateAndTransformBody` middleware provided by `@medusajs/framework/http`. It accepts the Zod schema as a parameter. For example, create the file `src/api/middlewares.ts` with the following content: @@ -49,7 +56,7 @@ For example, create the file `src/api/middlewares.ts` with the following content import { defineMiddlewares } from "@medusajs/medusa" import { validateAndTransformBody, -} from "@medusajs/framework/utils" +} from "@medusajs/framework/http" import { PostStoreCustomSchema } from "./custom/validators" export default defineMiddlewares({ @@ -67,15 +74,13 @@ export default defineMiddlewares({ This applies the `validateAndTransformBody` middleware on `POST` requests to `/custom`. It uses the `PostStoreCustomSchema` as the validation schema. -### How the Validation Works +#### How the Validation Works If a request's body parameters don't pass the validation, the `validateAndTransformBody` middleware throws an error indicating the validation errors. If a request's body parameters are validated successfully, the middleware sets the validated body parameters in the `validatedBody` property of `MedusaRequest`. ---- - -## Step 3: Use Validated Body in API Route +### Step 3: Use Validated Body in API Route In your API route, consume the validated body using the `validatedBody` property of `MedusaRequest`. @@ -113,11 +118,131 @@ To pass the request body's type as a type parameter to `MedusaRequest`, use Zod' +### Test it Out + +To test out the validation, send a `POST` request to `/custom` passing `a` and `b` body parameters. You can try sending incorrect request body parameters to test out the validation. + +For example, if you omit the `a` parameter, you'll receive a `400` response code with the following response data: + +```json +{ + "type": "invalid_data", + "message": "Invalid request: Field 'a' is required" +} +``` + --- -## Test it Out +## How to Validate Request Query Paramters + +The steps to validate the request query parameters are the similar to that of [validating the body](#how-to-validate-request-body). + +### Step 1: Create Validation Schema + +The first step is to create a schema with Zod with the rules of the accepted query parameters. + +Consider that the API route accepts two query parameters `a` and `b` that are numbers, similar to the previous section. + +Create the file `src/api/custom/validators.ts` with the following content: + +```ts title="src/api/custom/validators.ts" +import { z } from "zod" + +export const PostStoreCustomSchema = z.object({ + a: z.preprocess( + (val) => { + if (val && typeof val === "string") { + return parseInt(val) + } + return val + }, + z + .number() + ), + b: z.preprocess( + (val) => { + if (val && typeof val === "string") { + return parseInt(val) + } + return val + }, + z + .number() + ), +}) +``` + +Since a query parameter's type is originally a string or array of strings, you have to use Zod's `preprocess` method to validate other query types, such as numbers. + +For both `a` and `b`, you transform the query parameter's value to an integer first if it's a string, then, you check that the resulting value is a number. + +### Step 2: Add Request Query Validation Middleware + +Next, you'll use the schema to validate incoming requests' query parameters to the `/custom` API route. + +Add the `validateAndTransformQuery` middleware to the API route in the file `src/api/middlewares.ts`: + +```ts title="src/api/middlewares.ts" +import { defineMiddlewares } from "@medusajs/medusa" +import { + validateAndTransformQuery, +} from "@medusajs/framework/http" +import { PostStoreCustomSchema } from "./custom/validators" + +export default defineMiddlewares({ + routes: [ + { + matcher: "/custom", + method: "POST", + middlewares: [ + validateAndTransformQuery( + PostStoreCustomSchema, + {} + ), + ], + }, + ], +}) +``` + +The `validateAndTransformQuery` accepts two parameters: + +- The first one is the Zod schema to validate the query parameters against. +- The second one is an object of options for retrieving data using Query, which you can learn more about in [this chapter](../../module-links/query/page.mdx). + +#### How the Validation Works + +If a request's query parameters don't pass the validation, the `validateAndTransformQuery` middleware throws an error indicating the validation errors. + +If a request's query parameters are validated successfully, the middleware sets the validated query parameters in the `validatedQuery` property of `MedusaRequest`. + +### Step 3: Use Validated Query in API Route + +Finally, use the validated query in the API route. The `MedusaRequest` parameter has a `validatedQuery` parameter that you can use to access the validated parameters. + +For example, create the file `src/api/custom/route.ts` with the following content: + +```ts title="src/api/custom/route.ts" +import { MedusaRequest, MedusaResponse } from "@medusajs/framework/http" + +export const GET = async ( + req: MedusaRequest, + res: MedusaResponse +) => { + const a = req.validatedQuery.a as number + const b = req.validatedQuery.b as number + + res.json({ + sum: a + b + }) +} +``` + +In the API route, you use the `validatedQuery` property of `MedusaRequest` to access the values of the `a` and `b` properties as numbers, then return in the response their sum. + +### Test it Out -To test out the validation, send a `POST` request to `/custom`. You can try sending incorrect request body parameters. +To test out the validation, send a `POST` request to `/custom` with `a` and `b` query parameters. You can try sending incorrect query parameters to see how the validation works. For example, if you omit the `a` parameter, you'll receive a `400` response code with the following response data: diff --git a/www/apps/book/app/learn/advanced-development/events-and-subscribers/emit-event/page.mdx b/www/apps/book/app/learn/advanced-development/events-and-subscribers/emit-event/page.mdx index 7f768aa385a34..70635f5b12157 100644 --- a/www/apps/book/app/learn/advanced-development/events-and-subscribers/emit-event/page.mdx +++ b/www/apps/book/app/learn/advanced-development/events-and-subscribers/emit-event/page.mdx @@ -1,22 +1,50 @@ +import { CodeTabs, CodeTab } from "docs-ui" + export const metadata = { - title: `${pageNumber} Emit an Event`, + title: `${pageNumber} Emit Workflow and Service Events`, } # {metadata.title} -In this chapter, you'll learn how to emit an event in a workflow. +In this chapter, you'll learn about event types and how to emit an event in a service or workflow. + +## Event Types + +In your customization, you can emit an event, then listen to it in a subscriber and perform an asynchronus action, such as send a notification or data to a third-party system. + +There are two types of events in Medusa: + +1. Worflow event: an event that's emitted in a workflow after a commerce feature is performed. For example, Medusa emits the `order.placed` event after a cart is completed. +2. Service event: an event that's emitted to track, trace, or debug processes under the hood. For example, you can emit an event with an audit trail. + +### Which Event Type to Use? + +**Workflow events** are the most common event type in development, as most custom features and customizations are built around workflows. + +Some examples of workflow events: -## Emit Event Step +1. When a user creates a blog post and you're emitting an event to send a newsletter email. +2. When you finish syncing products to a third-party system and you want to notify the admin user of new products added. +3. When a customer purchases a digital product and you want to generate and send it to them. -Medusa provides an `emitEventStep` helper step in the `@medusajs/medusa/core-flows` package that emits an event. +You should only go for a **service event** if you're emitting an event for processes under the hood that don't directly affect front-facing features. -When you emit an event, you specify the event's name and data payload to pass with the event. +Some examples of service events: + +1. When you're tracing data manipulation and changes, and you want to track every time some custom data is changed. +2. When you're syncing data with a search engine. + +--- + +## Emit Event in a Workflow + +To emit a workflow event, use the `emitEventStep` helper step provided in the `@medusajs/medusa/core-flows` package. For example: export const highlights = [ ["13", "emitEventStep", "Emit an event."], - ["14", `"custom.created"`, "The name of the event to emit."], + ["14", `eventName`, "The name of the event to emit."], ["15", "data", "The data payload to pass with the event."] ] @@ -37,12 +65,129 @@ const helloWorldWorkflow = createWorkflow( eventName: "custom.created", data: { id: "123", + // other data payload }, }) } ) ``` +The `emitEventStep` accepts an object having the following properties: + +- `eventName`: The event's name. +- `data`: The data payload as an object. You can pass any properties in the object, and subscribers listening to the event will receive this data in the event's payload. + In this example, you emit the event `custom.created` and pass in the data payload an ID property. -If you execute the workflow, the emit is emitted and any subscribers listening to the event are executed. +### Test it Out + +If you execute the workflow, the event is emitted and you can see it in your application's logs. + +Any subscribers listening to the event are executed. + +--- + +## Emit Event in a Service + +To emit a service event: + +1. Resolve `event_bus` from the module's container in your service's constructor: + + + + +```ts title="src/modules/hello/service.ts" highlights={["9"]} +import { IEventBusService } from "@medusajs/framework/types" +import { MedusaService } from "@medusajs/framework/utils" + +class HelloModuleService extends MedusaService({ + MyCustom, +}){ + protected eventBusService_: AbstractEventBusModuleService + + constructor({ event_bus }) { + super(...arguments) + this.eventBusService_ = event_bus + } +} +``` + + + + +```ts title="src/modules/hello/service.ts" highlights={["6"]} +import { IEventBusService } from "@medusajs/framework/types" + +class HelloModuleService { + protected eventBusService_: AbstractEventBusModuleService + + constructor({ event_bus }) { + this.eventBusService_ = event_bus + } +} +``` + + + + +2. Use the event bus service's `emit` method in the service's methods to emit an event: + +export const serviceHighlights = [ + ["6", "emit", "Emit an event."], + ["7", "name", "The name of the event to emit."], + ["8", "data", "The data payload to pass with the event."] +] + +```ts title="src/modules/hello/service.ts" highlights={serviceHighlights} +class HelloModuleService { + // ... + performAction() { + // TODO perform action + + this.eventBusService_.emit({ + name: "custom.event", + data: { + id: "123", + // other data payload + } + }) + } +} +``` + +The method accepts an object having the following properties: + +- `name`: The event's name. +- `data`: The data payload as an object. You can pass any properties in the object, and subscribers listening to the event will receive this data in the event's payload. + +3. By default, the Event Module's service isn't injected into your module's container. To add it to the container, pass it in the module's registration object in `medusa-config.ts` in the `dependencies` property: + +export const depsHighlight = [ + ["8", "dependencies", "An array of module registration names to inject into the Module's container."], +] + +```ts title="medusa-config.ts" highlights={depsHighlight} +import { Modules } from '@medusajs/framework/utils' + +module.exports = defineConfig({ + // ... + modules: [ + { + resolve: "./src/modules/hello", + dependencies: [ + Modules.EVENT_BUS + ] + } + ] +}) +``` + +The `dependencies` property accepts an array of module registration keys. The specified modules' main services are injected into the module's container. + +That's how you can resolve it in your module's main service's constructor. + +### Test it Out + +If you execute the `performAction` method of your service, the event is emitted and you can see it in your application's logs. + +Any subscribers listening to the event are also executed. diff --git a/www/apps/book/app/learn/advanced-development/module-links/query/page.mdx b/www/apps/book/app/learn/advanced-development/module-links/query/page.mdx index cb3a50b3198e4..d1b0b542bac03 100644 --- a/www/apps/book/app/learn/advanced-development/module-links/query/page.mdx +++ b/www/apps/book/app/learn/advanced-development/module-links/query/page.mdx @@ -8,12 +8,6 @@ export const metadata = { In this chapter, you’ll learn about the Query utility and how to use it to fetch data from modules. - - -Query is in development and is subject to change in future releases. - - - ## What is Query? Query fetches data across modules. It’s a set of methods registered in the Medusa container under the `query` key. @@ -227,3 +221,126 @@ When you provide the pagination fields, the `query.graph` method's returned obje description: "The total number of records." } ]} sectionTitle="Apply Pagination" /> + +--- + +## Request Query Configurations + +For API routes that retrieve a single or list of resources, Medusa provides a `validateAndTransformQuery` middleware that: + +- Validates accepted query parameters, as explained in [this documentation](../../api-routes/validation/page.mdx). +- Parses configurations that are received as query parameters to be passed to Query. + +Using this middleware allows you to have default configurations for retrieved fields and relations or pagination, while allowing clients to customize them per request. + +### Step 1: Add Middleware + +The first step is to use the `validateAndTransformQuery` middleware on the `GET` route. You add the middleware in `src/api/middlewares.ts`: + +```ts title="src/api/middlewares.ts" +import { defineMiddlewares } from "@medusajs/medusa" +import { + validateAndTransformQuery, +} from "@medusajs/framework/http" +import { createFindParams } from "@medusajs/medusa/api/utils/validators" + +export const GetCustomSchema = createFindParams() + +export default defineMiddlewares({ + routes: [ + { + matcher: "/customs", + method: "GET", + middlewares: [ + validateAndTransformQuery( + GetCustomSchema, + { + defaults: [ + "id", + "name", + "products.*" + ], + isList: true + } + ), + ], + }, + ], +}) +``` + +The `validateAndTransformQuery` accepts two parameters: + +1. A Zod validation schema for the query parameters, which you can learn more about in the [API Route Validation documentation](../../api-routes/validation/page.mdx). Medusa has a `createFindParams` utility that generates a Zod schema that accepts four query parameters: + 1. `fields`: The fields and relations to retrieve in the returned resources. + 2. `offset`: The number of items to skip before retrieving the returned items. + 3. `limit`: The maximum number of items to return. + 4. `order`: The fields to order the returned items by in ascending or descending order. +2. A Query configuration object. It accepts the following properties: + 1. `defaults`: An array of default fields and relations to retrieve in each resource. + 2. `isList`: A boolean indicating whether a list of items are returned in the response. + 3. `allowed`: An array of fields and relations allowed to be passed in the `fields` query parameter. + 4. `defaultLimit`: A number indicating the default limit to use if no limit is provided. By default, it's `50`. + +### Step 2: Use Configurations in API Route + +After applying this middleware, your API route now accepts the `fields`, `offset`, `limit`, and `order` query parameters mentioned above. + +The middleware transforms these parameters to configurations that you can pass to Query in your API route handler. These configurations are stored in the `remoteQueryConfig` parameter of the `MedusaRequest` object. + +For example, Create the file `src/api/customs/route.ts` with the following content: + +export const queryConfigHighlights = [ + ["17", "req.remoteQueryConfig", "Pass the parsed request Query configurations to the Query graph execution."] +] + +```ts title="src/api/customs/route.ts" +import { + MedusaRequest, + MedusaResponse, +} from "@medusajs/framework/http" +import { + ContainerRegistrationKeys, +} from "@medusajs/framework/utils" + +export const GET = async ( + req: MedusaRequest, + res: MedusaResponse +) => { + const query = req.scope.resolve(ContainerRegistrationKeys.QUERY) + + const { data: myCustoms } = await query.graph({ + entity: "my_custom", + ...req.remoteQueryConfig + }) + + res.json({ my_customs: myCustoms }) +} +``` + +This adds a `GET` API route at `/customs`, which is the API route you added the middleware for. + +In the API route, you pass `req.remoteQueryConfig` to `query.graph`. `remoteQueryConfig` has properties like `fields` and `pagination` to configure the query based on the default values you specified in the middleware, and the query parameters passed in the request. + +### Test it Out + +To test it out, start your Medusa application and send a `GET` request to the `/customs` API route. A list of records are retrieved with the specified fields in the middleware. + +```json title="Returned Data" +{ + "my_customs": [ + { + "id": "123", + "name": "test" + } + ] +} +``` + +Try passing one of the Query configuration parameters, like `fields` or `limit`, and you'll see its impact on the returned result. + + + +Learn more about [specifing fields and relations](!api!/store#select-fields-and-relations) and [pagination](!api!/store#pagination) in the API reference. + + diff --git a/www/apps/book/app/learn/advanced-development/modules/container/page.mdx b/www/apps/book/app/learn/advanced-development/modules/container/page.mdx index 18cd48805bcab..b0d6cd6628b4c 100644 --- a/www/apps/book/app/learn/advanced-development/modules/container/page.mdx +++ b/www/apps/book/app/learn/advanced-development/modules/container/page.mdx @@ -57,7 +57,7 @@ import { LoaderOptions, } from "@medusajs/framework/types" import { - ContainerRegistrationKeys + ContainerRegistrationKeys, } from "@medusajs/framework/utils" export default async function helloWorldLoader({ diff --git a/www/apps/book/app/learn/advanced-development/modules/options/page.mdx b/www/apps/book/app/learn/advanced-development/modules/options/page.mdx index d6bd8cae47efb..7635e9095b336 100644 --- a/www/apps/book/app/learn/advanced-development/modules/options/page.mdx +++ b/www/apps/book/app/learn/advanced-development/modules/options/page.mdx @@ -30,7 +30,7 @@ module.exports = defineConfig({ capitalize: true, }, }, - ] + ], }) ``` diff --git a/www/apps/book/app/learn/advanced-development/modules/service-constraints/page.mdx b/www/apps/book/app/learn/advanced-development/modules/service-constraints/page.mdx index 30e6ad83eeb48..6420aa7098e0b 100644 --- a/www/apps/book/app/learn/advanced-development/modules/service-constraints/page.mdx +++ b/www/apps/book/app/learn/advanced-development/modules/service-constraints/page.mdx @@ -10,7 +10,7 @@ This chapter lists constraints to keep in mind when creating a service. Medusa wraps service method executions to inject useful context or transactions. However, since Medusa can't detect whether the method is asynchronous, it always executes methods in the wrapper with the `await` keyword. -For example, if you have a synchronous `getMessage` method, and you use it other resources like workflows, Medusa executes it as an async method: +For example, if you have a synchronous `getMessage` method, and you use it in other resources like workflows, Medusa executes it as an async method: ```ts await helloModuleService.getMessage() diff --git a/www/apps/book/app/learn/advanced-development/workflows/constructor-constraints/page.mdx b/www/apps/book/app/learn/advanced-development/workflows/constructor-constraints/page.mdx index d1136dceaa4b1..c98b67ef86522 100644 --- a/www/apps/book/app/learn/advanced-development/workflows/constructor-constraints/page.mdx +++ b/www/apps/book/app/learn/advanced-development/workflows/constructor-constraints/page.mdx @@ -34,7 +34,7 @@ You can’t directly manipulate variables within the workflow's constructor func -Learn more about why you can't manipulate variables [in this chapter](../conditions/page.mdx#why-if-conditions-arent-allowed-in-workflows) +Learn more about why you can't manipulate variables [in this chapter](../variable-manipulation/page.mdx) @@ -79,6 +79,49 @@ const myWorkflow = createWorkflow( }) ``` +### Create Dates in transform + +When you use `new Date()` in a workflow's constructor function, the date is evaluated when Medusa creates the internal representation of the workflow, not during execution. + +Instead, create the date using `transform`. + + + +Learn more about how Medusa creates an internal representation of a workflow [in this chapter](../variable-manipulation/page.mdx). + + + +For example: + +export const dateHighlights = [ + ["5", "new Date()", "Don't create a date directly in the constructor function."], + ["16", "transform", "Use the `transform` function to create a date variable."] +] + +```ts highlights={dateHighlights} +// Don't +const myWorkflow = createWorkflow( + "hello-world", + function (input: WorkflowInput) { + const today = new Date() + + return new WorkflowResponse({ + today + }) +}) + +// Do +const myWorkflow = createWorkflow( + "hello-world", + function (input: WorkflowInput) { + const today = transform({}, () => new Date()) + + return new WorkflowResponse({ + today + }) +}) +``` + ### No If Conditions You can't use if-conditions in a workflow. @@ -145,7 +188,7 @@ const myWorkflow = createWorkflow( function (input: WorkflowInput) { const message = transform( { - input + input, }, (data) => data.input.message || "hello" ) diff --git a/www/apps/book/app/learn/advanced-development/workflows/multiple-step-usage/page.mdx b/www/apps/book/app/learn/advanced-development/workflows/multiple-step-usage/page.mdx new file mode 100644 index 0000000000000..91db3d58c3de5 --- /dev/null +++ b/www/apps/book/app/learn/advanced-development/workflows/multiple-step-usage/page.mdx @@ -0,0 +1,80 @@ +export const metadata = { + title: `${pageNumber} Multiple Step Usage in Workflow`, +} + +# {metadata.title} + +In this chapter, you'll learn how to use a step multiple times in a workflow. + +## Problem Reusing a Step in a Workflow + +In some cases, you may need to use a step multiple times in the same workflow. + +The most common example is using the `useQueryGraphStep` multiple times in a workflow to retrieve multiple unrelated data, such as customers and products. + +Each workflow step must have a unique ID, which is the ID passed as a first parameter when creating the step: + +```ts +const useQueryGraphStep = createStep( + "use-query-graph", + // ... +) +``` + +This causes an error when you use the same step multiple times in a workflow, as it's registered in the workflow as two steps having the same ID: + +```ts +const helloWorkflow = createWorkflow( + "hello", + () => { + const { data: products } = useQueryGraphStep({ + entity: "product", + fields: ["id"] + }) + + // ERROR OCCURS HERE: A STEP HAS THE SAME ID AS ANOTHER IN THE WORKFLOW + const { data: customers } = useQueryGraphStep({ + entity: "customer", + fields: ["id"] + }) + } +) +``` + +The next section explains how to fix this issue to use the same step multiple times in a workflow. + +--- + +## How to Use a Step Multiple Times in a Workflow? + +When you execute a step in a workflow, you can chain a `config` method to it to change the step's config. + +Use the `config` method to change a step's ID for a single execution. + +So, this is the correct way to write the example above: + +export const highlights = [ + ["13", "name", "Change the step's ID for this execution."] +] + +```ts highlights={highlights} +const helloWorkflow = createWorkflow( + "hello", + () => { + const { data: products } = useQueryGraphStep({ + entity: "product", + fields: ["id"] + }) + + // ✓ No error occurs, the step has a different ID. + const { data: customers } = useQueryGraphStep({ + entity: "customer", + fields: ["id"] + }).config({ name: "fetch-customers" }) + } +) +``` + +The `config` method accepts an object with a `name` property. Its value is a new ID of the step to use for this execution only. + +The first `useQueryGraphStep` usage has the ID `use-query-graph`, and the second `useQueryGraphStep` usage has the ID `fetch-customers`. diff --git a/www/apps/book/app/learn/advanced-development/workflows/variable-manipulation/page.mdx b/www/apps/book/app/learn/advanced-development/workflows/variable-manipulation/page.mdx index e3f84a2a5c780..d911e3462775e 100644 --- a/www/apps/book/app/learn/advanced-development/workflows/variable-manipulation/page.mdx +++ b/www/apps/book/app/learn/advanced-development/workflows/variable-manipulation/page.mdx @@ -6,7 +6,7 @@ export const metadata = { In this chapter, you'll learn how to use the `transform` utility to manipulate variables in a workflow. -## Why Variable Manipulation isn't Allowed in Workflows? +## Why Variable Manipulation isn't Allowed in Workflows Medusa creates an internal representation of the workflow definition you pass to `createWorkflow` to track and store its steps. @@ -117,6 +117,29 @@ You then pass the `ids` variable as a parameter to the `doSomethingStep`. --- +## Example: Creating a Date + +If you create a date with `new Date()` in a workflow's constructor function, Medusa evaluates the date's value when it creates the internal representation of the workflow, not when the workflow is executed. + +So, use `transform` instead to create a date variable with `new Date()`. + +For example: + +```ts +const myWorkflow = createWorkflow( + "hello-world", + () => { + const today = transform({}, () => new Date()) + + doSomethingStep(today) + } +) +``` + +In this workflow, `today` is only evaluated when the workflow is executed. + +--- + ## Caveats ### Transform Evaluation @@ -179,7 +202,7 @@ const myWorkflow = createWorkflow( "hello-world", function (input) { validateHasStr1({ - input + input, }) // workflow continues its execution only if diff --git a/www/apps/book/app/learn/basics/modules/page.mdx b/www/apps/book/app/learn/basics/modules/page.mdx index ccefdce4436be..aca04b00bbad5 100644 --- a/www/apps/book/app/learn/basics/modules/page.mdx +++ b/www/apps/book/app/learn/basics/modules/page.mdx @@ -135,8 +135,8 @@ module.exports = defineConfig({ modules: [ { resolve: "./src/modules/hello", - } - ] + }, + ], }) ``` @@ -212,11 +212,11 @@ export async function GET( ) const my_custom = await helloModuleService.createMyCustoms({ - name: "test" + name: "test", }) res.json({ - my_custom + my_custom, }) } ``` diff --git a/www/apps/book/app/learn/build/page.mdx b/www/apps/book/app/learn/build/page.mdx new file mode 100644 index 0000000000000..d0cc43bee76e6 --- /dev/null +++ b/www/apps/book/app/learn/build/page.mdx @@ -0,0 +1,80 @@ +export const metadata = { + title: `${pageNumber} Build Medusa Application`, +} + +# {metadata.title} + +In this chapter, you'll learn how to create a production build of your Medusa application to be deployed to a hosting provider. + +Next chapters explain how to deploy the Medusa application. + +## build Command + +The Medusa CLI tool has a [build](!resources!/medusa-cli/commands/build) command which creates a standalone build of the Medusa application that: + +- Doesn't rely on the source TypeScript files. +- Can be copied to a production server reliably. + +So, to create the production build, run the following command in the root of your Medusa application: + +```bash +npx medusa build +``` + +--- + +## Build Output + +The `build` command outputs the production build in the `.medusa/server` directory, and the admin dashboard build in the `.medusa/server/public/admin`. + +### Separate Admin Build + +The `build` command accepts a `--admin-only` option that outputs the admin to the `.medusa/admin` directory. This is useful when deploying the admin dashboard separately, such as on Vercel: + +```bash +npx medusa build --admin-only +``` + +--- + +## Start Built Medusa Application + +To start the Medusa application after running the `build` command: + +- Change to the `.medusa/server` directory and install the dependencies: + +```bash npm2yarn +cd .medusa/server && npm install +``` + +- When running the application locally, make sure to copy the `.env` file from the root project's directory. In production, use system environment variables instead. + +```bash title=".medusa/server" +cp ../../.env .env.production +``` + + + +When `NODE_ENV=production`, the Medusa application loads the environment variables from `.env.production`. Learn more about environment variables in [this guide](../advanced-development/environment-variables/page.mdx). + + + +- In the system environment variables, set `NODE_ENV` to `production`: + +```bash +NODE_ENV=production +``` + +- Use the `start` command in the `.medusa/server` directory to run the application: + +```bash npm2yarn title=".medusa/server" +npm run start +``` + +--- + +## Deploying Production Build + +The next chapter covers how you generally deploy the production build. + +You can also refer to the [deployment how-to guides](!resources!/deployment) for platform-specific how-to guides. diff --git a/www/apps/book/app/learn/customization/custom-features/api-route/page.mdx b/www/apps/book/app/learn/customization/custom-features/api-route/page.mdx index 34c1d5869ec7d..462629566288d 100644 --- a/www/apps/book/app/learn/customization/custom-features/api-route/page.mdx +++ b/www/apps/book/app/learn/customization/custom-features/api-route/page.mdx @@ -16,7 +16,7 @@ This chapter covers how to define an API route that creates a brand as the last items={[ { text: "createBrandWorkflow", - link: "/customization/custom-features/workflow" + link: "/learn/customization/custom-features/workflow" } ]} /> diff --git a/www/apps/book/app/learn/customization/custom-features/module/page.mdx b/www/apps/book/app/learn/customization/custom-features/module/page.mdx index 9dc8ac4f2d3f4..eacdc739fd4d0 100644 --- a/www/apps/book/app/learn/customization/custom-features/module/page.mdx +++ b/www/apps/book/app/learn/customization/custom-features/module/page.mdx @@ -105,8 +105,8 @@ module.exports = defineConfig({ modules: [ { resolve: "./src/modules/brand", - } - ] + }, + ], }) ``` diff --git a/www/apps/book/app/learn/customization/custom-features/workflow/page.mdx b/www/apps/book/app/learn/customization/custom-features/workflow/page.mdx index cd283ecdfdb25..ab66d555f30e4 100644 --- a/www/apps/book/app/learn/customization/custom-features/workflow/page.mdx +++ b/www/apps/book/app/learn/customization/custom-features/workflow/page.mdx @@ -34,7 +34,7 @@ This is even more useful when you create workflows with many steps, or integrate items={[ { text: "Brand Module", - link: "/customization/custom-features/module" + link: "/learn/customization/custom-features/module" } ]} /> diff --git a/www/apps/book/app/learn/customization/customize-admin/route/page.mdx b/www/apps/book/app/learn/customization/customize-admin/route/page.mdx index 01ddb07221212..049cb0b6edb96 100644 --- a/www/apps/book/app/learn/customization/customize-admin/route/page.mdx +++ b/www/apps/book/app/learn/customization/customize-admin/route/page.mdx @@ -26,7 +26,7 @@ The UI Route can be shown in the sidebar or added as a nested page. items={[ { text: "Brand Module", - link: "/customization/custom-features/module" + link: "/learn/customization/custom-features/module" }, ]} /> diff --git a/www/apps/book/app/learn/customization/customize-admin/widget/page.mdx b/www/apps/book/app/learn/customization/customize-admin/widget/page.mdx index e4b4cea99d4b2..df354ac619488 100644 --- a/www/apps/book/app/learn/customization/customize-admin/widget/page.mdx +++ b/www/apps/book/app/learn/customization/customize-admin/widget/page.mdx @@ -18,7 +18,7 @@ This chapter covers how to show the brand of a product in the Medusa Admin using items={[ { text: "Retrieve Brand of Product API Route", - link: "/customization/extend-models/query-linked-records" + link: "/learn/customization/extend-models/query-linked-records" } ]} /> diff --git a/www/apps/book/app/learn/customization/extend-models/define-link/page.mdx b/www/apps/book/app/learn/customization/extend-models/define-link/page.mdx index 0891dbfc979df..ebc1c22600a28 100644 --- a/www/apps/book/app/learn/customization/extend-models/define-link/page.mdx +++ b/www/apps/book/app/learn/customization/extend-models/define-link/page.mdx @@ -18,7 +18,7 @@ This chapter covers how to define a link between the `Brand` and `Product`data m items={[ { text: "Brand Module having a Brand data model", - link: "/customization/custom-features/module" + link: "/learn/customization/custom-features/module" } ]} /> diff --git a/www/apps/book/app/learn/customization/extend-models/extend-create-product/page.mdx b/www/apps/book/app/learn/customization/extend-models/extend-create-product/page.mdx index 962e8fdbc243c..17c0f3e165ef9 100644 --- a/www/apps/book/app/learn/customization/extend-models/extend-create-product/page.mdx +++ b/www/apps/book/app/learn/customization/extend-models/extend-create-product/page.mdx @@ -26,11 +26,11 @@ It's useful when you want to pass custom data, such as the brand ID, then perfor items={[ { text: "Brand Module", - link: "/customization/custom-features/module" + link: "/learn/customization/custom-features/module" }, { text: "Defined link between the Brand and Product data models.", - link: "/customization/extend-models/define-link" + link: "/learn/customization/extend-models/define-link" } ]} /> diff --git a/www/apps/book/app/learn/customization/extend-models/query-linked-records/page.mdx b/www/apps/book/app/learn/customization/extend-models/query-linked-records/page.mdx index 6a56da474f318..3a4ba06e02440 100644 --- a/www/apps/book/app/learn/customization/extend-models/query-linked-records/page.mdx +++ b/www/apps/book/app/learn/customization/extend-models/query-linked-records/page.mdx @@ -24,11 +24,11 @@ Query is a utility that retrieves data across modules and their links. It’s re items={[ { text: "Brand Module", - link: "/customization/custom-features/module" + link: "/learn/customization/custom-features/module" }, { text: "Defined link between the Brand and Product data models.", - link: "/customization/extend-models/define-link" + link: "/learn/customization/extend-models/define-link" } ]} /> diff --git a/www/apps/book/app/learn/customization/integrate-systems/handle-event/page.mdx b/www/apps/book/app/learn/customization/integrate-systems/handle-event/page.mdx index 3d72c3e258565..d0cad26da6354 100644 --- a/www/apps/book/app/learn/customization/integrate-systems/handle-event/page.mdx +++ b/www/apps/book/app/learn/customization/integrate-systems/handle-event/page.mdx @@ -18,7 +18,7 @@ This chapter covers how to emit an event when a brand is created, listen to that items={[ { text: "Brand Module with createBrandWorkflow", - link: "/customization/custom-features/workflow" + link: "/learn/customization/custom-features/workflow" } ]} /> diff --git a/www/apps/book/app/learn/customization/integrate-systems/schedule-task/page.mdx b/www/apps/book/app/learn/customization/integrate-systems/schedule-task/page.mdx index 375c1b3a00484..58f70e5251bd4 100644 --- a/www/apps/book/app/learn/customization/integrate-systems/schedule-task/page.mdx +++ b/www/apps/book/app/learn/customization/integrate-systems/schedule-task/page.mdx @@ -18,7 +18,7 @@ This chapter covers how to use workflows and scheduled jobs to sync brands from items={[ { text: "Brand Module", - link: "/customization/custom-features/module" + link: "/learn/customization/custom-features/module" }, ]} /> diff --git a/www/apps/book/app/learn/customization/integrate-systems/service/page.mdx b/www/apps/book/app/learn/customization/integrate-systems/service/page.mdx index cd79fa6c9d83f..82b96e44a10d7 100644 --- a/www/apps/book/app/learn/customization/integrate-systems/service/page.mdx +++ b/www/apps/book/app/learn/customization/integrate-systems/service/page.mdx @@ -18,7 +18,7 @@ This chapter covers how to integrate a dummy third-party system in a service as items={[ { text: "Brand Module", - link: "/customization/custom-features/module" + link: "/learn/customization/custom-features/module" } ]} /> @@ -192,7 +192,7 @@ module.exports = defineConfig({ apiKey: process.env.BRAND_API_KEY || "temp", }, }, - ] + ], }) ``` diff --git a/www/apps/book/app/learn/debugging-and-testing/testing-tools/integration-tests/api-routes/page.mdx b/www/apps/book/app/learn/debugging-and-testing/testing-tools/integration-tests/api-routes/page.mdx index 80fc794f04ca7..57f728efda905 100644 --- a/www/apps/book/app/learn/debugging-and-testing/testing-tools/integration-tests/api-routes/page.mdx +++ b/www/apps/book/app/learn/debugging-and-testing/testing-tools/integration-tests/api-routes/page.mdx @@ -12,7 +12,7 @@ In this chapter, you'll learn how to write integration tests for API routes usin items={[ { text: "Testing Tools Setup", - link: "/debugging-and-testing/testing-tools" + link: "/learn/debugging-and-testing/testing-tools" } ]} /> @@ -60,6 +60,8 @@ medusaIntegrationTestRunner({ }) }, }) + +jest.setTimeout(60 * 1000) ``` You use the `medusaIntegrationTestRunner` to write your tests. @@ -86,6 +88,15 @@ If you don't have a `test:integration` script in `package.json`, refer to the [M This runs your Medusa application and runs the tests available under the `src/integrations/http` directory. +### Jest Timeout + +Since your tests connect to the database and perform actions that require more time than the typical tests, make sure to increase the timeout in your test: + +```ts title="integration-tests/http/custom-routes.spec.ts" +// in your test's file +jest.setTimeout(60 * 1000) +``` + --- ## Test a POST API Route diff --git a/www/apps/book/app/learn/debugging-and-testing/testing-tools/integration-tests/page.mdx b/www/apps/book/app/learn/debugging-and-testing/testing-tools/integration-tests/page.mdx index 4a4d5330f6785..c8b0dfe5cd633 100644 --- a/www/apps/book/app/learn/debugging-and-testing/testing-tools/integration-tests/page.mdx +++ b/www/apps/book/app/learn/debugging-and-testing/testing-tools/integration-tests/page.mdx @@ -36,6 +36,8 @@ medusaIntegrationTestRunner({ // TODO write tests... }, }) + +jest.setTimeout(60 * 1000) ``` The `medusaIntegrationTestRunner` function accepts an object as a parameter. The object has a required property `testSuite`. @@ -50,6 +52,15 @@ The `medusaIntegrationTestRunner` function accepts an object as a parameter. The The tests in the `testSuite` function are written using [Jest](https://jestjs.io/). +### Jest Timeout + +Since your tests connect to the database and perform actions that require more time than the typical tests, make sure to increase the timeout in your test: + +```ts title="integration-tests/http/test.spec.ts" +// in your test's file +jest.setTimeout(60 * 1000) +``` + --- ### Run Tests diff --git a/www/apps/book/app/learn/debugging-and-testing/testing-tools/integration-tests/workflows/page.mdx b/www/apps/book/app/learn/debugging-and-testing/testing-tools/integration-tests/workflows/page.mdx index 0aec5b27c1565..d5cf5bb91b6e6 100644 --- a/www/apps/book/app/learn/debugging-and-testing/testing-tools/integration-tests/workflows/page.mdx +++ b/www/apps/book/app/learn/debugging-and-testing/testing-tools/integration-tests/workflows/page.mdx @@ -12,7 +12,7 @@ In this chapter, you'll learn how to write integration tests for workflows using items={[ { text: "Testing Tools Setup", - link: "/debugging-and-testing/testing-tools" + link: "/learn/debugging-and-testing/testing-tools" } ]} /> @@ -61,10 +61,21 @@ medusaIntegrationTestRunner({ }) }, }) + +jest.setTimeout(60 * 1000) ``` You use the `medusaIntegrationTestRunner` to write an integration test for the workflow. The test pases if the workflow returns the string `"Hello, World!"`. +### Jest Timeout + +Since your tests connect to the database and perform actions that require more time than the typical tests, make sure to increase the timeout in your test: + +```ts title="integration-tests/http/custom-routes.spec.ts" +// in your test's file +jest.setTimeout(60 * 1000) +``` + --- ## Run Test diff --git a/www/apps/book/app/learn/debugging-and-testing/testing-tools/modules-tests/module-example/page.mdx b/www/apps/book/app/learn/debugging-and-testing/testing-tools/modules-tests/module-example/page.mdx index e88c4811c07a0..c104862d8f516 100644 --- a/www/apps/book/app/learn/debugging-and-testing/testing-tools/modules-tests/module-example/page.mdx +++ b/www/apps/book/app/learn/debugging-and-testing/testing-tools/modules-tests/module-example/page.mdx @@ -12,7 +12,7 @@ In this chapter, find an example of writing an integration test for a module usi items={[ { text: "Testing Tools Setup", - link: "/debugging-and-testing/testing-tools" + link: "/learn/debugging-and-testing/testing-tools" } ]} /> diff --git a/www/apps/book/app/learn/debugging-and-testing/testing-tools/modules-tests/page.mdx b/www/apps/book/app/learn/debugging-and-testing/testing-tools/modules-tests/page.mdx index c0229a41b39a0..b265527cca561 100644 --- a/www/apps/book/app/learn/debugging-and-testing/testing-tools/modules-tests/page.mdx +++ b/www/apps/book/app/learn/debugging-and-testing/testing-tools/modules-tests/page.mdx @@ -12,7 +12,7 @@ In this chapter, you'll learn about the `moduleIntegrationTestRunner` utility fu items={[ { text: "Testing Tools Setup", - link: "/debugging-and-testing/testing-tools" + link: "/learn/debugging-and-testing/testing-tools" } ]} /> diff --git a/www/apps/book/app/learn/deployment/general/page.mdx b/www/apps/book/app/learn/deployment/general/page.mdx new file mode 100644 index 0000000000000..b77d1d9548816 --- /dev/null +++ b/www/apps/book/app/learn/deployment/general/page.mdx @@ -0,0 +1,331 @@ +import { Prerequisites } from "docs-ui" + +export const metadata = { + title: `General Medusa Application Deployment Guide`, +} + +# {metadata.title} + +In this document, you'll learn the general steps to deploy your Medusa application. How you apply these steps depend on your chosen hosting provider or platform. + + + +Find how-to guides for specific platforms in [this documentation](!resources!/deployment). + + + + + +## Hosting Provider Requirements + +When you deploy your Medusa application, make sure your chosen hosting provider supports deploying the following resources: + +1. PostgreSQL database: If your hosting provider doesn't support database hosting, you must find another hosting provider for the PostgreSQL database. +2. Redis database: If your hosting provider doesn't support database hosting, you must find another hosting provider for the Redis database. +3. Medusa application in server and worker mode. This means your hosting provider should support deploying two applications or instances from the same codebase. +5. If you're also hosting the Medusa Admin with the server, the hosting provider and plan should offer at least 2GB of RAM. + +--- + +## 1. Configure Medusa Application + +### Worker Mode + +The `workerMode` configuration determines which mode the Medusa application runs in. + +When you deploy the Medusa application, you deploy two instances: one in server mode, and one in worker mode. + +Learn more about the `workerMode` configuration in [this document](!resources!/references/medusa-config#workermode). + +So, add the following configuration in `medusa-config.ts`: + +```ts title="medusa-config.ts" +module.exports = defineConfig({ + projectConfig: { + // ... + workerMode: process.env.MEDUSA_WORKER_MODE as "shared" | "worker" | "server", + }, +}) +``` + +Later, you’ll set different values of the `MEDUSA_WORKER_MODE` environment variable for each Medusa application deployment or instance. + +### Configure Medusa Admin + +There are two cases where you may disable the Medusa Admin in your deployed Medusa application: + +1. If you choose to host it separately. +2. In the Medusa application running in worker mode, as it doesn’t need to run the admin. + + + +To host the admin with the Medusa application, the hosting provider and plan should offer at least 2GB of RAM. + + + +So, add the following configuration in `medusa-config.ts`: + +```ts title="medusa-config.ts" +module.exports = defineConfig({ + // ... + admin: { + disable: process.env.DISABLE_MEDUSA_ADMIN === "true", + }, +}) +``` + +Later, you’ll set different values of the `DISABLE_MEDUSA_ADMIN` environment variable. + +### Configure Redis URL + +The `redisUrl` configuration specifies the connection URL to Redis to store the Medusa server's session. + + + +Learn more in the [Medusa Configuration documentation](!resources!/references/medusa-config#redisurl). + + + +So, add the following configuration in `medusa-config.ts` : + +```ts title="medusa-config.ts" +module.exports = defineConfig({ + projectConfig: { + // ... + redisUrl: process.env.REDIS_URL, + }, +}) +``` + +--- + +## 2. Add predeploy Script + +Before you start the Medusa application in production, you should always run migrations and sync links. + +So, add the following script in `package.json`: + +```json +"scripts": { + // ... + "predeploy": "medusa db:migrate" +}, +``` + +--- + +## 3. Install Production Modules and Providers + +By default, your Medusa application uses modules and providers useful for development, such as the In-Memory Cache Module or the Local File Module Provider. + +It’s highly recommended to instead use modules and providers suitable for production, including: + +- [Redis Cache Module](!resources!/architectural-modules/cache/redis) +- [Redis Event Bus Module](!resources!/architectural-modules/event/redis) +- [Workflow Engine Redis Module](!resources!/architectural-modules/workflow-engine/redis) +- [S3 File Module Provider](!resources!/architectural-modules/file/s3) (or other file module providers production-ready). +- [SendGrid Notification Module Provider](!resources!/architectural-modules/notification/sendgrid) (or other notification module providers production-ready). + +Then, add these modules in `medusa-config.ts`: + +```ts title="medusa-config.ts" +import { Modules } from "@medusajs/framework/utils" + +module.exports = defineConfig({ + // ... + modules: [ + { + resolve: "@medusajs/medusa/cache-redis", + options: { + redisUrl: process.env.REDIS_URL, + }, + }, + { + resolve: "@medusajs/medusa/event-bus-redis", + options: { + redisUrl: process.env.REDIS_URL, + }, + }, + { + resolve: "@medusajs/medusa/workflow-engine-redis", + options: { + redis: { + url: process.env.REDIS_URL, + }, + }, + }, + ] +}) +``` + + + +Check out the [Integrations](!resources!/integrations) and [Architectural Modules](!resources!/architectural-modules) documentation for other modules and providers to use. + + + +--- + +## 4. Create PostgreSQL and Redis Databases + +Your Medusa application must connect to PostgreSQL and Redis databases. So, before you deploy it, create production PostgreSQL and Redis databases. + +If your hosting provider doesn't support databases, you can use [Neon for PostgreSQL database hosting](https://neon.tech/), and [Redis Cloud for the Redis database hosting](https://redis.io/cloud/). + +After hosting both databases, keep their connection URLs for the next steps. + +--- + +## 5. Deploy Medusa Application in Server Mode + +As mentioned earlier, you'll deploy two instances or create two deployments of your Medusa application: one in server mode, and the other in worker mode. + +The deployment steps depend on your hosting provider. This section provides the general steps to perform during the deployment. + +### Set Environment Variables + +When setting the environment variables of the Medusa application, set the following variables: + +```bash +COOKIE_SECRET=supersecret # TODO GENERATE SECURE SECRET +JWT_SECRET=supersecret # TODO GENERATE SECURE SECRET +STORE_CORS= # STOREFRONT URL +ADMIN_CORS= # ADMIN URL +AUTH_CORS= # STOREFRONT AND ADMIN URLS, SEPARATED BY COMMAS +# change to false if you're hosting the admin with the application +DISABLE_MEDUSA_ADMIN=true +MEDUSA_WORKER_MODE=server +PORT=9000 +DATABASE_URL # POSTGRES DATABASE URL +REDIS_URL= # REDIS DATABASE URL +``` + +Where: + +- The value of `COOKIE_SECRET` and `JWT_SECRET` must be a randomly generated secret. +- `STORE_CORS`'s value is the URL of your storefront. If you don’t have it yet, you can skip adding it for now. +- `ADMIN_CORS`'s value is the URL of the admin dashboard. If you don’t have it yet, or you’re deploying the admin with the Medusa application, you can skip adding it for now. +- `AUTH_CORS`'s value is the URLs of any application authenticating users, customers, or other actor types, such as the storefront and admin URLs. The URLs are separated by commas. If you don’t have the URLs yet, you can set its value later. +- Change `DISABLE_MEDUSA_ADMIN` to `false` if you’re hosting the admin with the Medusa application. +- Set the PostgreSQL database's connection URL as the value of `DATABASE_URL` +- Set the Redis database's connection URL as the value of `REDIS_URL`. + +Feel free to add any other relevant environment variables, such as for integrations and architectural modules. + +### Set Start Command + +The Medusa application's production build, which is created using the `build` command, outputs the Medusa application to `.medusa/server`. + +So, you must run the `start` command from the `.medusa/server` directory. + +If your hosting provider doesn't support setting a current-working directory, set the start command to the following: + +```bash npm2yarn +cd .medusa/server && npm run predeploy && npm run start +``` + +### Additional Configuration if Deploying with Admin + +If you’re deploying the Medusa application in server mode with the admin, you have to make some changes after you’ve obtained the application’s URL. + +First, add the following configuration to `medusa-config.ts`: + +```ts title="medusa-config.ts" +module.exports = defineConfig({ + // ... + admin: { + // ... + backendUrl: process.env.MEDUSA_BACKEND_URL, + }, +}) +``` + +Then, push the changes to the GitHub repository or deployed application. + +In your hosting provider, add or modify the following environment variables for the Medusa application in server mode: + +```bash +ADMIN_CORS= # MEDUSA APPLICATION URL +AUTH_CORS= # ADD MEDUSA APPLICATION URL +MEDUSA_BACKEND_URL= # URL TO DEPLOYED MEDUSA APPLICATION +``` + +Where you set the value of `ADMIN_CORS` and `MEDUSA_BACKEND_URL` to the Medusa application’s URL, and you add the URL to `AUTH_CORS`. + + + +Remember to separate URLs in `AUTH_CORS` by commas. + + + +--- + +## 6. Deploy Medusa Application in Worker Mode + +Next, you'll deploy the Medusa application in worker mode. + +As explained in the previous section, the deployment steps depend on your hosting provider. This section provides the general steps to perform during the deployment. + +### Set Environment Variables + +When setting the environment variables of the Medusa application, set the following variables: + +```bash +COOKIE_SECRET=supersecret # TODO GENERATE SECURE SECRET +JWT_SECRET=supersecret # TODO GENERATE SECURE SECRET +DISABLE_MEDUSA_ADMIN=true +MEDUSA_WORKER_MODE=worker +PORT=9000 +DATABASE_URL # POSTGRES DATABASE URL +REDIS_URL= # REDIS DATABASE URL +``` + +Where: + +- The value of `COOKIE_SECRET` and `JWT_SECRET` must be a randomly generated secret. +- Keep `DISABLE_MEDUSA_ADMIN`'s value set to `true`, even if you’re hosting the admin with the Medusa application. +- Set the PostgreSQL database's connection URL as the value of `DATABASE_URL` +- Set the Redis database's connection URL as the value of `REDIS_URL`. + +Feel free to add any other relevant environment variables, such as for integrations and architectural modules. + +### Set Start Command + +The Medusa application's production build, which is created using the `build` command, outputs the Medusa application to `.medusa/server`. + +So, you must run the `start` command from the `.medusa/server` directory. + +If your hosting provider doesn't support setting a current-working directory, set the start command to the following: + +```bash npm2yarn +cd .medusa/server && npm run predeploy && npm run start +``` + +--- + +## 7. Test Deployed Application + +Once the application is deployed and live, go to `/health`, where `` is the URL of the Medusa application in server mode. If the deployment was successful, you’ll see the `OK` response. + +### Open Deployed Medusa Admin + +If you deployed the Medusa Admin with the application, it’ll be available at `/app`. + +--- + +## Create Admin User + +If your hosting provider supports running commands in your Medusa application's directory, run the following command to create an admin user: + +```bash +npx medusa user -e admin-medusa@test.com -p supersecret +``` + +Replace the email `admin-medusa@test.com` and password `supersecret` with the credentials you want. + +You can use these credentials to log into the Medusa Admin dashboard. diff --git a/www/apps/book/app/learn/deployment/page.mdx b/www/apps/book/app/learn/deployment/page.mdx index 4c91773771786..0e8f161f1ff0b 100644 --- a/www/apps/book/app/learn/deployment/page.mdx +++ b/www/apps/book/app/learn/deployment/page.mdx @@ -1,5 +1,5 @@ export const metadata = { - title: `${pageNumber} Deployment Overview`, + title: `${pageNumber} Medusa Deployment Overview`, } # {metadata.title} @@ -12,7 +12,7 @@ A standard Medusa project is made up of: - Medusa application: The Medusa server and the Medusa Admin. - One or more storefronts - + ![Diagram showcasing the connection between the three deployed components](https://res.cloudinary.com/dza7lstvk/image/upload/v1708600807/Medusa%20Book/deployment-options_ceuuvo.jpg) You can either deploy the Medusa application fully (server with the admin), or deploy the Medusa Admin separately. The storefront is always deployed separately. @@ -35,7 +35,11 @@ For optimal experience, make sure that the hosting provider and plan offer at le Your server connects to a PostgreSQL database, Redis, and other services relevant for your setup. Most hosting providers support deploying and managing these databases along with your Medusa server (such as Railway and DigitalOcean). -Refer to [this reference](!resources!/deployment) to find how-to deployment guides for specific hosting providers. +### How to Deploy Medusa? + +The [next chapter](./general/page.mdx) explains the general steps to deploy your Medusa application. + +Refer to [this reference](!resources!/deployment) to find how-to deployment guides for general and specific hosting providers. --- @@ -51,7 +55,7 @@ In this scenario, make sure the hosting provider and plan of your choice provide -The server deployment guides mention details on how to deploy the admin with the Medusa server. +The [server deployment guides](!resources!/deployment) mention details on how to deploy the admin with the Medusa server. diff --git a/www/apps/book/app/learn/installation/page.mdx b/www/apps/book/app/learn/installation/page.mdx index afde8da56d4a1..e64287b8627a2 100644 --- a/www/apps/book/app/learn/installation/page.mdx +++ b/www/apps/book/app/learn/installation/page.mdx @@ -109,7 +109,7 @@ You can then use the user's credentials to log into the Medusa Admin application By default, your Medusa application is equipped with the basic configuration to start your development. -If you run into issues with configurations, such as CORS configurations, or need to make changes to the default configuration, refer to [this guide on all available configurations](!resources!/medusa-config). +If you run into issues with configurations, such as CORS configurations, or need to make changes to the default configuration, refer to [this guide on all available configurations](!resources!/references/medusa-config). --- diff --git a/www/apps/book/app/not-found.tsx b/www/apps/book/app/not-found.tsx index 36dfb6a183035..43c7cacf99592 100644 --- a/www/apps/book/app/not-found.tsx +++ b/www/apps/book/app/not-found.tsx @@ -1,3 +1,4 @@ +/* eslint-disable @typescript-eslint/ban-ts-comment */ import { TightLayout } from "docs-ui" import Feedback from "../components/Feedback" import EditButton from "../components/EditButton" @@ -15,6 +16,7 @@ const NotFoundPage = () => { editComponent={} ProvidersComponent={Providers} > + {/* @ts-ignore React v19 doesn't recognize MDX import as component */} ) diff --git a/www/apps/book/components/Homepage/LinksSection/index.tsx b/www/apps/book/components/Homepage/LinksSection/index.tsx index 34700fd27e2bc..dc0dce5f561e3 100644 --- a/www/apps/book/components/Homepage/LinksSection/index.tsx +++ b/www/apps/book/components/Homepage/LinksSection/index.tsx @@ -84,7 +84,12 @@ const Section = ({ title, links }: SectionProps) => {

        {title}

        {links.map((link, index) => ( - + {link.text} ))} diff --git a/www/apps/book/components/Homepage/TopSection/index.tsx b/www/apps/book/components/Homepage/TopSection/index.tsx index 5f4f903bdd8fd..c80bc9923df05 100644 --- a/www/apps/book/components/Homepage/TopSection/index.tsx +++ b/www/apps/book/components/Homepage/TopSection/index.tsx @@ -1,4 +1,3 @@ -/* eslint-disable @next/next/no-img-element */ import clsx from "clsx" import { BookIcon, Card, IconHeadline, WindowPaintbrushIcon } from "docs-ui" import { basePathUrl } from "../../../utils/base-path-url" diff --git a/www/apps/book/eslint.config.mjs b/www/apps/book/eslint.config.mjs new file mode 100644 index 0000000000000..0113bd8b20aa1 --- /dev/null +++ b/www/apps/book/eslint.config.mjs @@ -0,0 +1,207 @@ +import prettier from "eslint-plugin-prettier/recommended" +import globals from "globals" +import babelParser from "@babel/eslint-parser" +import typescriptEslintEslintPlugin from "@typescript-eslint/eslint-plugin" +import tsParser from "@typescript-eslint/parser" +import path from "node:path" +import { fileURLToPath } from "node:url" +import js from "@eslint/js" +import { FlatCompat } from "@eslint/eslintrc" + +const __filename = fileURLToPath(import.meta.url) +const __dirname = path.dirname(__filename) +const compat = new FlatCompat({ + baseDirectory: __dirname, + recommendedConfig: js.configs.recommended, + allConfig: js.configs.all, +}) + +export default [ + prettier, + { + ignores: ["**/eslint-config-docs", "**/.eslintrc.js", "**/dist"], + }, + ...compat.extends( + "eslint:recommended", + "plugin:react/recommended", + "plugin:react/jsx-runtime", + "plugin:react-hooks/recommended", + "plugin:@next/next/recommended" + ), + { + languageOptions: { + globals: { + ...globals.node, + ...globals.jest, + ...globals.browser, + }, + + parser: babelParser, + ecmaVersion: 13, + sourceType: "module", + + parserOptions: { + requireConfigFile: false, + + ecmaFeatures: { + experimentalDecorators: true, + jsx: true, + modules: true, + }, + + project: true, + }, + }, + + settings: { + react: { + version: "detect", + }, + }, + + rules: { + curly: ["error", "all"], + "new-cap": "off", + "require-jsdoc": "off", + "no-unused-expressions": "off", + "no-unused-vars": "off", + camelcase: "off", + "no-invalid-this": "off", + + "max-len": [ + "error", + { + code: 80, + ignoreStrings: true, + ignoreRegExpLiterals: true, + ignoreComments: true, + ignoreTrailingComments: true, + ignoreUrls: true, + ignoreTemplateLiterals: true, + }, + ], + + semi: ["error", "never"], + + quotes: [ + "error", + "double", + { + allowTemplateLiterals: true, + }, + ], + + "comma-dangle": [ + "error", + { + arrays: "always-multiline", + objects: "always-multiline", + imports: "always-multiline", + exports: "always-multiline", + functions: "never", + }, + ], + + "object-curly-spacing": ["error", "always"], + "arrow-parens": ["error", "always"], + "linebreak-style": 0, + + "no-confusing-arrow": [ + "error", + { + allowParens: false, + }, + ], + + "space-before-function-paren": [ + "error", + { + anonymous: "always", + named: "never", + asyncArrow: "always", + }, + ], + + "space-infix-ops": "error", + "eol-last": ["error", "always"], + + "no-console": [ + "error", + { + allow: ["error", "warn"], + }, + ], + + "react/prop-types": [ + 2, + { + ignore: ["className"], + }, + ], + }, + }, + ...compat + .extends( + "plugin:@typescript-eslint/recommended", + "plugin:react/recommended" + ) + .map((config) => ({ + ...config, + files: ["**/*.ts", "**/*.tsx", "**/*.js", "**/*.jsx"], + })), + { + files: ["**/*.ts", "**/*.tsx", "**/*.js", "**/*.jsx"], + + plugins: { + "@typescript-eslint": typescriptEslintEslintPlugin, + }, + + languageOptions: { + parser: tsParser, + ecmaVersion: 13, + sourceType: "module", + + parserOptions: { + project: "./tsconfig.json", + }, + }, + + settings: { + next: { + rootDir: ".", + }, + }, + ignores: [ + "**/next.config.js", + "**/spec", + "**/node_modules", + "**/public", + "**/.eslintrc.js", + ], + + rules: { + "react/react-in-jsx-scope": "off", + "@typescript-eslint/prefer-ts-expect-error": "off", + "valid-jsdoc": "off", + + "@typescript-eslint/no-non-null-assertion": "off", + "@typescript-eslint/no-floating-promises": "error", + "@typescript-eslint/await-thenable": "error", + "@typescript-eslint/promise-function-async": "error", + "@/keyword-spacing": "error", + + "@/space-before-function-paren": [ + "error", + { + anonymous: "always", + named: "never", + asyncArrow: "always", + }, + ], + + "@/space-infix-ops": "error", + "@typescript-eslint/no-explicit-any": "warn", + "@typescript-eslint/no-unused-vars": "warn", + }, + }, +] diff --git a/www/apps/book/generated/edit-dates.mjs b/www/apps/book/generated/edit-dates.mjs index 1fb70dd2e8b3c..7e1bf2ba01171 100644 --- a/www/apps/book/generated/edit-dates.mjs +++ b/www/apps/book/generated/edit-dates.mjs @@ -1,7 +1,7 @@ export const generatedEditDates = { "app/learn/basics/scheduled-jobs/page.mdx": "2024-09-30T08:43:53.132Z", "app/learn/basics/workflows/page.mdx": "2024-09-30T08:43:53.132Z", - "app/learn/deployment/page.mdx": "2024-08-05T07:24:05+00:00", + "app/learn/deployment/page.mdx": "2024-11-11T11:03:59.725Z", "app/learn/page.mdx": "2024-09-03T07:09:09.034Z", "app/learn/basics/commerce-modules/page.mdx": "2024-09-30T08:43:53.131Z", "app/learn/advanced-development/workflows/retry-failed-steps/page.mdx": "2024-09-30T08:43:53.130Z", @@ -35,12 +35,12 @@ export const generatedEditDates = { "app/learn/advanced-development/events-and-subscribers/data-payload/page.mdx": "2024-07-16T17:12:05+01:00", "app/learn/advanced-development/data-models/default-properties/page.mdx": "2024-09-19T07:32:06.118Z", "app/learn/advanced-development/workflows/advanced-example/page.mdx": "2024-09-11T10:46:59.975Z", - "app/learn/advanced-development/events-and-subscribers/emit-event/page.mdx": "2024-09-30T08:43:53.125Z", + "app/learn/advanced-development/events-and-subscribers/emit-event/page.mdx": "2024-11-11T15:17:58.045Z", "app/learn/advanced-development/workflows/conditions/page.mdx": "2024-09-30T08:43:53.128Z", "app/learn/advanced-development/modules/module-link-directions/page.mdx": "2024-07-24T09:16:01+02:00", "app/learn/advanced-development/admin/page.mdx": "2024-10-07T12:39:13.178Z", "app/learn/advanced-development/workflows/long-running-workflow/page.mdx": "2024-09-30T08:43:53.129Z", - "app/learn/advanced-development/workflows/constructor-constraints/page.mdx": "2024-10-04T08:40:14.867Z", + "app/learn/advanced-development/workflows/constructor-constraints/page.mdx": "2024-11-14T16:13:19.234Z", "app/learn/advanced-development/data-models/write-migration/page.mdx": "2024-07-15T17:46:10+02:00", "app/learn/advanced-development/data-models/manage-relationships/page.mdx": "2024-09-10T11:39:51.167Z", "app/learn/advanced-development/modules/remote-query/page.mdx": "2024-07-21T21:20:24+02:00", @@ -52,11 +52,11 @@ export const generatedEditDates = { "app/learn/advanced-development/modules/module-links/page.mdx": "2024-09-30T08:43:53.126Z", "app/learn/advanced-development/data-models/searchable-property/page.mdx": "2024-09-30T08:43:53.125Z", "app/learn/advanced-development/scheduled-jobs/execution-number/page.mdx": "2024-07-02T09:41:15+00:00", - "app/learn/advanced-development/api-routes/parameters/page.mdx": "2024-09-11T10:44:13.491Z", + "app/learn/advanced-development/api-routes/parameters/page.mdx": "2024-11-12T13:35:09.393Z", "app/learn/advanced-development/api-routes/http-methods/page.mdx": "2024-09-11T10:43:33.169Z", "app/learn/advanced-development/admin/tips/page.mdx": "2024-10-07T12:50:36.335Z", "app/learn/advanced-development/api-routes/cors/page.mdx": "2024-09-30T08:43:53.121Z", - "app/learn/advanced-development/admin/ui-routes/page.mdx": "2024-10-07T12:52:37.509Z", + "app/learn/advanced-development/admin/ui-routes/page.mdx": "2024-11-14T15:29:22.901Z", "app/learn/advanced-development/api-routes/middlewares/page.mdx": "2024-09-11T10:45:31.861Z", "app/learn/advanced-development/modules/isolation/page.mdx": "2024-07-04T17:26:03+03:00", "app/learn/advanced-development/data-models/configure-properties/page.mdx": "2024-09-30T08:43:53.122Z", @@ -72,7 +72,7 @@ export const generatedEditDates = { "app/learn/advanced-development/modules/service-constraints/page.mdx": "2024-09-30T08:43:53.127Z", "app/learn/advanced-development/api-routes/page.mdx": "2024-09-04T09:36:33.961Z", "app/learn/advanced-development/api-routes/responses/page.mdx": "2024-09-11T10:44:37.016Z", - "app/learn/advanced-development/api-routes/validation/page.mdx": "2024-09-11T10:46:31.476Z", + "app/learn/advanced-development/api-routes/validation/page.mdx": "2024-11-12T13:32:32.484Z", "app/learn/advanced-development/api-routes/errors/page.mdx": "2024-09-30T08:43:53.121Z", "app/learn/advanced-development/admin/constraints/page.mdx": "2024-09-10T11:39:51.165Z", "app/learn/debugging-and-testing/testing-tools/modules-tests/module-example/page.mdx": "2024-10-16T08:50:03.061Z", @@ -80,7 +80,7 @@ export const generatedEditDates = { "app/learn/advanced-development/module-links/custom-columns/page.mdx": "2024-09-16T15:51:33.570Z", "app/learn/advanced-development/module-links/directions/page.mdx": "2024-09-16T15:37:51.441Z", "app/learn/advanced-development/module-links/page.mdx": "2024-09-16T15:36:48.190Z", - "app/learn/advanced-development/module-links/query/page.mdx": "2024-09-16T12:42:27.579Z", + "app/learn/advanced-development/module-links/query/page.mdx": "2024-11-12T15:40:24.411Z", "app/learn/advanced-development/module-links/remote-link/page.mdx": "2024-09-16T12:42:27.581Z", "app/learn/advanced-development/modules/db-operations/page.mdx": "2024-09-16T14:38:29.150Z", "app/learn/advanced-development/modules/multiple-services/page.mdx": "2024-09-16T14:41:32.975Z", @@ -88,7 +88,7 @@ export const generatedEditDates = { "app/learn/debugging-and-testing/instrumentation/page.mdx": "2024-09-17T08:53:15.910Z", "app/learn/advanced-development/api-routes/additional-data/page.mdx": "2024-09-30T08:43:53.120Z", "app/learn/advanced-development/workflows/page.mdx": "2024-09-18T08:00:57.364Z", - "app/learn/advanced-development/workflows/variable-manipulation/page.mdx": "2024-11-11T13:33:41.270Z", + "app/learn/advanced-development/workflows/variable-manipulation/page.mdx": "2024-11-14T16:11:24.538Z", "app/learn/customization/custom-features/api-route/page.mdx": "2024-09-12T12:42:34.201Z", "app/learn/customization/custom-features/module/page.mdx": "2024-10-16T08:49:44.676Z", "app/learn/customization/custom-features/workflow/page.mdx": "2024-09-30T08:43:53.133Z", @@ -113,5 +113,8 @@ export const generatedEditDates = { "app/learn/advanced-development/data-models/infer-type/page.mdx": "2024-09-30T08:43:53.123Z", "app/learn/advanced-development/custom-cli-scripts/seed-data/page.mdx": "2024-10-03T11:11:07.181Z", "app/learn/basics/modules/page.mdx": "2024-10-16T08:49:39.997Z", - "app/learn/advanced-development/environment-variables/page.mdx": "2024-10-25T14:59:07.831Z" + "app/learn/advanced-development/environment-variables/page.mdx": "2024-10-25T14:59:07.831Z", + "app/learn/build/page.mdx": "2024-11-11T11:08:41.832Z", + "app/learn/deployment/general/page.mdx": "2024-11-11T11:50:04.248Z", + "app/learn/advanced-development/workflows/multiple-step-usage/page.mdx": "2024-11-12T11:11:49.191Z" } \ No newline at end of file diff --git a/www/apps/book/package.json b/www/apps/book/package.json index 382a3c9eb0c49..38e662bb0ff53 100644 --- a/www/apps/book/package.json +++ b/www/apps/book/package.json @@ -10,33 +10,33 @@ "start": "next start", "start:monorepo": "yarn start -p 3001", "lint": "next lint --fix", - "lint:content": "eslint --no-eslintrc -c .content.eslintrc.js app/**/*.mdx --fix", + "lint:content": "eslint --no-config-lookup -c .content.eslint.mjs app/**/*.mdx --fix", "prep": "node ./scripts/prepare.mjs" }, "dependencies": { - "@mdx-js/loader": "^3.0.0", - "@mdx-js/react": "^3.0.0", + "@mdx-js/loader": "^3.1.0", + "@mdx-js/react": "^3.1.0", "@medusajs/icons": "^2.0.0", - "@next/mdx": "^14.2.14", + "@next/mdx": "15.0.1", "clsx": "^2.1.0", "docs-ui": "*", - "next": "14.2.14", - "react": "^18.2.0", - "react-dom": "^18.2.0", + "next": "15.0.1", + "react": "rc", + "react-dom": "rc", "rehype-mdx-code-props": "^2.0.0", "rehype-slug": "^6.0.0", "remark-rehype-plugins": "*" }, "devDependencies": { - "@types/mdx": "^2.0.10", + "@types/mdx": "^2.0.13", "@types/node": "^20", - "@types/react": "^18.2.0", - "@types/react-dom": "^18.2.0", + "@types/react": "npm:types-react@rc", + "@types/react-dom": "npm:types-react@rc", "autoprefixer": "^10.0.1", "build-scripts": "*", - "eslint": "^8", - "eslint-config-docs": "*", - "eslint-config-next": "14.2.3", + "eslint": "^9.13.0", + "eslint-plugin-prettier": "^5.2.1", + "eslint-plugin-react-hooks": "^5.0.0", "postcss": "^8", "tailwind": "*", "tailwindcss": "^3.3.0", @@ -46,5 +46,9 @@ }, "engines": { "node": ">=20" + }, + "overrides": { + "@types/react": "npm:types-react@rc", + "@types/react-dom": "npm:types-react-dom@rc" } } diff --git a/www/apps/book/providers/index.tsx b/www/apps/book/providers/index.tsx index e157fd811d9c9..17bdd196e2cca 100644 --- a/www/apps/book/providers/index.tsx +++ b/www/apps/book/providers/index.tsx @@ -32,7 +32,7 @@ const Providers = ({ children }: ProvidersProps) => { {children} diff --git a/www/apps/book/sidebar.mjs b/www/apps/book/sidebar.mjs index 757ff0328313f..e0dcb359294ba 100644 --- a/www/apps/book/sidebar.mjs +++ b/www/apps/book/sidebar.mjs @@ -392,8 +392,9 @@ export const sidebar = numberSidebarItems( title: "Events Data Payload", }, { + type: "link", path: "/learn/advanced-development/events-and-subscribers/emit-event", - title: "Emit an Event", + title: "Emit Event", }, ], }, @@ -473,6 +474,11 @@ export const sidebar = numberSidebarItems( path: "/learn/advanced-development/workflows/execute-another-workflow", title: "Execute Another Workflow", }, + { + type: "link", + path: "/learn/advanced-development/workflows/multiple-step-usage", + title: "Multiple Step Usage", + }, ], }, { @@ -517,8 +523,8 @@ export const sidebar = numberSidebarItems( { type: "link", title: "Environment Variables", - path: "/learn/advanced-development/environment-variables" - } + path: "/learn/advanced-development/environment-variables", + }, ], }, { @@ -588,8 +594,21 @@ export const sidebar = numberSidebarItems( }, { type: "link", - path: "/learn/deployment", - title: "Deployment", + path: "/learn/build", + title: "Build", + chapterTitle: "Production", + children: [ + { + type: "link", + path: "/learn/deployment", + title: "Deployment Overview", + }, + { + type: "link", + path: "/learn/deployment/general", + title: "General Deployment", + }, + ], }, { type: "link", diff --git a/www/apps/book/types/index.d.ts b/www/apps/book/types/index.d.ts index 73bc06a87f99a..3934655afd10e 100644 --- a/www/apps/book/types/index.d.ts +++ b/www/apps/book/types/index.d.ts @@ -3,7 +3,6 @@ import { SidebarSectionItems, SidebarItem as SidebarItemType } from "types" export declare type SidebarItem = SidebarItemType & { isSoon: boolean number?: string - chapterTitle?: string } export declare type SidebarConfig = SidebarSectionItems diff --git a/www/apps/resources/.content.eslintrc.js b/www/apps/resources/.content.eslintrc.js deleted file mode 100644 index fc843a3a5a4bf..0000000000000 --- a/www/apps/resources/.content.eslintrc.js +++ /dev/null @@ -1,6 +0,0 @@ -module.exports = { - root: true, - extends: [ - "docs/content" - ], -} diff --git a/www/apps/resources/.content.eslintrc.mjs b/www/apps/resources/.content.eslintrc.mjs new file mode 100644 index 0000000000000..65f47a8b41644 --- /dev/null +++ b/www/apps/resources/.content.eslintrc.mjs @@ -0,0 +1,159 @@ +import prettier from "eslint-plugin-prettier" +import markdown from "eslint-plugin-markdown" +import globals from "globals" +import babelParser from "@babel/eslint-parser" +import typescriptEslintEslintPlugin from "@typescript-eslint/eslint-plugin" +import tsParser from "@typescript-eslint/parser" +import path from "node:path" +import { fileURLToPath } from "node:url" +import js from "@eslint/js" +import { FlatCompat } from "@eslint/eslintrc" + +const __filename = fileURLToPath(import.meta.url) +const __dirname = path.dirname(__filename) +const compat = new FlatCompat({ + baseDirectory: __dirname, + recommendedConfig: js.configs.recommended, + allConfig: js.configs.all, +}) + +export default [ + { + ignores: [ + "**/references/**/*", + "**/events-reference/**/*", + "**/_events-table/**/*", + ], + }, + { + plugins: { + prettier, + markdown, + }, + + languageOptions: { + globals: { + ...globals.node, + }, + + parser: babelParser, + ecmaVersion: 13, + sourceType: "module", + + parserOptions: { + requireConfigFile: false, + + ecmaFeatures: { + experimentalDecorators: true, + modules: true, + }, + }, + }, + + settings: { + react: { + version: "detect", + }, + }, + + rules: { + "no-undef": "off", + "no-unused-expressions": "off", + "no-unused-vars": "off", + "no-unused-labels": "off", + "no-console": "off", + curly: ["error", "all"], + "new-cap": "off", + "require-jsdoc": "off", + camelcase: "off", + "no-invalid-this": "off", + + "max-len": [ + "warn", + { + code: 64, + }, + ], + + semi: ["error", "never"], + + quotes: [ + "error", + "double", + { + allowTemplateLiterals: true, + }, + ], + + "comma-dangle": [ + "error", + { + arrays: "always-multiline", + objects: "always-multiline", + imports: "always-multiline", + exports: "always-multiline", + functions: "never", + }, + ], + + "object-curly-spacing": ["error", "always"], + "arrow-parens": ["error", "always"], + "linebreak-style": 0, + + "no-confusing-arrow": [ + "error", + { + allowParens: false, + }, + ], + + "space-before-function-paren": [ + "error", + { + anonymous: "always", + named: "never", + asyncArrow: "always", + }, + ], + + "space-infix-ops": "off", + "eol-last": ["error", "always"], + "react/prop-types": "off", + "react/jsx-no-undef": "off", + }, + }, + { + files: ["**/*.md", "**/*.mdx"], + processor: "markdown/markdown", + }, + { + files: ["**/*.md/*.js", "**/*.mdx/*.js", "**/*.md/*.jsx", "**/*.mdx/*.jsx"], + }, + ...compat.extends("plugin:@typescript-eslint/recommended").map((config) => ({ + ...config, + files: ["**/*.md/*.ts", "**/*.mdx/*.ts", "**/*.md/*.tsx", "**/*.mdx/*.tsx"], + })), + { + files: ["**/*.md/*.ts", "**/*.mdx/*.ts", "**/*.md/*.tsx", "**/*.mdx/*.tsx"], + + plugins: { + "@typescript-eslint": typescriptEslintEslintPlugin, + }, + + languageOptions: { + parser: tsParser, + }, + + rules: { + "@typescript-eslint/no-unused-vars": "off", + "@typescript-eslint/no-empty-function": "off", + "@typescript-eslint/no-explicit-any": "off", + "@typescript-eslint/no-non-null-assertion": "off", + "@typescript-eslint/no-var-requires": "off", + "prefer-rest-params": "off", + "@typescript-eslint/ban-ts-comment": "off", + "@typescript-eslint/no-non-null-asserted-optional-chain": "off", + "@typescript-eslint/ban-types": "off", + }, + }, +] diff --git a/www/apps/resources/.eslintrc.js b/www/apps/resources/.eslintrc.js deleted file mode 100644 index ef48b51dd2ac1..0000000000000 --- a/www/apps/resources/.eslintrc.js +++ /dev/null @@ -1,14 +0,0 @@ -module.exports = { - root: true, - extends: [ - "docs/next" - ], - settings: { - next: { - rootDir: ".", - }, - }, - ignorePatterns: [ - "generated" - ] -} diff --git a/www/apps/resources/app/admin-components/components/action-menu/page.mdx b/www/apps/resources/app/admin-components/components/action-menu/page.mdx index d1dad26c8a2c5..6abaadca0cf5a 100644 --- a/www/apps/resources/app/admin-components/components/action-menu/page.mdx +++ b/www/apps/resources/app/admin-components/components/action-menu/page.mdx @@ -20,7 +20,7 @@ To create a component that shows this menu in your customizations, create the fi import { DropdownMenu, IconButton, - clx + clx, } from "@medusajs/ui" import { EllipsisHorizontal } from "@medusajs/icons" import { Link } from "react-router-dom" @@ -202,10 +202,10 @@ const ProductWidget = () => { label: "Edit", onClick: () => { alert("You clicked the edit action!") - } - } - ] - } + }, + }, + ], + }, ]} /> ) @@ -250,13 +250,13 @@ const ProductWidget = () => { label: "Edit", onClick: () => { alert("You clicked the edit action!") - } - } - ] - } - ] - } - } + }, + }, + ], + }, + ], + }, + }, ]} /> diff --git a/www/apps/resources/app/admin-components/components/container/page.mdx b/www/apps/resources/app/admin-components/components/container/page.mdx index a000513d3421c..07ce22b9d87cc 100644 --- a/www/apps/resources/app/admin-components/components/container/page.mdx +++ b/www/apps/resources/app/admin-components/components/container/page.mdx @@ -17,7 +17,7 @@ To create a component that uses the same container styling in your widgets or UI ```tsx import { Container as UiContainer, - clx + clx, } from "@medusajs/ui" type ContainerProps = React.ComponentProps diff --git a/www/apps/resources/app/admin-components/components/forms/page.mdx b/www/apps/resources/app/admin-components/components/forms/page.mdx index 469dcae57d83c..5051232fe2f5f 100644 --- a/www/apps/resources/app/admin-components/components/forms/page.mdx +++ b/www/apps/resources/app/admin-components/components/forms/page.mdx @@ -38,24 +38,24 @@ import { Heading, Label, Input, - Button + Button, } from "@medusajs/ui" import { useForm, FormProvider, - Controller + Controller, } from "react-hook-form" import * as zod from "zod" const schema = zod.object({ - name: zod.string() + name: zod.string(), }) export const CreateForm = () => { const form = useForm>({ defaultValues: { - name: "" - } + name: "", + }, }) const handleSubmit = form.handleSubmit(({ name }) => { @@ -137,7 +137,7 @@ In `src/admin/components/create-form.tsx`, create a validation schema with Zod f import * as zod from "zod" const schema = zod.object({ - name: zod.string() + name: zod.string(), }) ``` @@ -158,8 +158,8 @@ import { useForm } from "react-hook-form" export const CreateForm = () => { const form = useForm>({ defaultValues: { - name: "" - } + name: "", + }, }) const handleSubmit = form.handleSubmit(({ name }) => { @@ -190,11 +190,11 @@ import { Heading, Label, Input, - Button + Button, } from "@medusajs/ui" import { FormProvider, - Controller + Controller, } from "react-hook-form" export const CreateForm = () => { @@ -290,8 +290,8 @@ const ProductWidget = () => { actions={[ { type: "custom", - children: - } + children: , + }, ]} /> @@ -323,24 +323,24 @@ import { Heading, Label, Input, - Button + Button, } from "@medusajs/ui" import { useForm, FormProvider, - Controller + Controller, } from "react-hook-form" import * as zod from "zod" const schema = zod.object({ - name: zod.string() + name: zod.string(), }) export const EditForm = () => { const form = useForm>({ defaultValues: { - name: "" - } + name: "", + }, }) const handleSubmit = form.handleSubmit(({ name }) => { @@ -416,7 +416,7 @@ In `src/admin/components/edit-form.tsx`, create a validation schema with Zod for import * as zod from "zod" const schema = zod.object({ - name: zod.string() + name: zod.string(), }) ``` @@ -437,8 +437,8 @@ import { useForm } from "react-hook-form" export const EditForm = () => { const form = useForm>({ defaultValues: { - name: "" - } + name: "", + }, }) const handleSubmit = form.handleSubmit(({ name }) => { @@ -469,11 +469,11 @@ import { Heading, Label, Input, - Button + Button, } from "@medusajs/ui" import { FormProvider, - Controller + Controller, } from "react-hook-form" export const EditForm = () => { @@ -563,8 +563,8 @@ const ProductWidget = () => { actions={[ { type: "custom", - children: - } + children: , + }, ]} /> diff --git a/www/apps/resources/app/admin-components/components/header/page.mdx b/www/apps/resources/app/admin-components/components/header/page.mdx index b5864d6b3ea7a..38f13dea1241e 100644 --- a/www/apps/resources/app/admin-components/components/header/page.mdx +++ b/www/apps/resources/app/admin-components/components/header/page.mdx @@ -45,7 +45,7 @@ export type HeadingProps = { export const Header = ({ title, subtitle, - actions = [] + actions = [], }: HeadingProps) => { return (
        @@ -172,9 +172,9 @@ const ProductWidget = () => { variant: "secondary", onClick: () => { alert("You clicked the button.") - } - } - } + }, + }, + }, ]} /> diff --git a/www/apps/resources/app/admin-components/components/json-view-section/page.mdx b/www/apps/resources/app/admin-components/components/json-view-section/page.mdx index bef5293d72b15..03ae2c0c9d47a 100644 --- a/www/apps/resources/app/admin-components/components/json-view-section/page.mdx +++ b/www/apps/resources/app/admin-components/components/json-view-section/page.mdx @@ -222,7 +222,7 @@ import { JsonViewSection } from "../components/json-view-section" const ProductWidget = () => { return } diff --git a/www/apps/resources/app/admin-components/components/table/page.mdx b/www/apps/resources/app/admin-components/components/table/page.mdx index 02087fb9e6190..8296bf5fca90e 100644 --- a/www/apps/resources/app/admin-components/components/table/page.mdx +++ b/www/apps/resources/app/admin-components/components/table/page.mdx @@ -39,7 +39,7 @@ export const Table = ({ pageSize, count, currentPage, - setCurrentPage + setCurrentPage, }: TableProps) => { const pageCount = useMemo(() => { return Math.ceil(data.length / pageSize) @@ -200,7 +200,7 @@ const ProductWidget = () => { columns={[ { key: "name", - label: "Name" + label: "Name", }, { key: "is_enabled", @@ -213,18 +213,18 @@ const ProductWidget = () => { {isEnabled ? "Enabled" : "Disabled"} ) - } - } + }, + }, ]} data={[ { name: "John", - is_enabled: true + is_enabled: true, }, { name: "Jane", - is_enabled: false - } + is_enabled: false, + }, ]} pageSize={2} count={2} diff --git a/www/apps/resources/app/admin-components/layouts/two-column/page.mdx b/www/apps/resources/app/admin-components/layouts/two-column/page.mdx index dffcc0e68cde3..653c514f0059f 100644 --- a/www/apps/resources/app/admin-components/layouts/two-column/page.mdx +++ b/www/apps/resources/app/admin-components/layouts/two-column/page.mdx @@ -28,7 +28,7 @@ export type TwoColumnLayoutProps = { export const TwoColumnLayout = ({ firstCol, - secondCol + secondCol, }: TwoColumnLayoutProps) => { return (
        diff --git a/www/apps/resources/app/admin-widget-injection-zones/page.mdx b/www/apps/resources/app/admin-widget-injection-zones/page.mdx index 63f2cd91b732c..78768abb3197c 100644 --- a/www/apps/resources/app/admin-widget-injection-zones/page.mdx +++ b/www/apps/resources/app/admin-widget-injection-zones/page.mdx @@ -8,55 +8,7 @@ export const metadata = { This documentation page includes the list of injection zones you can add Admin Widgets to. -## Login Page - - - - - Injection Zone Name - Description - Additional Props - - - - - - - `login.before` - - - - - Added before the login form. - - - - - \- - - - - - - - `login.after` - - - - - Added after the login form. - - - - - \- - - - - -
        - -## Order Pages +## Campaign Pages @@ -70,12 +22,12 @@ This documentation page includes the list of injection zones you can add Admin W - `order.list.before` + `campaign.list.before` - Added at the top of the orders list page. + Added at the top of the campaigns list page. @@ -87,12 +39,12 @@ This documentation page includes the list of injection zones you can add Admin W - `order.list.after` + `campaign.list.after` - Added at the bottom of the order list page. + Added at the bottom of the campaigns list page. @@ -104,21 +56,21 @@ This documentation page includes the list of injection zones you can add Admin W - `order.details.before` + `campaign.details.before` - Added at the top of the order details page + Added at the top of a campaign's details page. - Type `DetailWidgetProps` imported from `@medusajs/framework/types` + Type `DetailWidgetProps` imported from `@medusajs/framework/types` ```ts blockStyle="inline" { - data, // Order object + data, // AdminCampaign object } ``` @@ -127,21 +79,21 @@ This documentation page includes the list of injection zones you can add Admin W - `order.details.after` + `campaign.details.after` - Added at the end of the order details page. + Added at the bottom of a campaign's details page. - Type `DetailWidgetProps` imported from `@medusajs/framework/types` + Type `DetailWidgetProps` imported from `@medusajs/framework/types` ```ts blockStyle="inline" { - data, // Order object + data, // AdminCampaign object } ``` @@ -150,21 +102,21 @@ This documentation page includes the list of injection zones you can add Admin W - `order.details.side.before` + `campaign.details.side.before` - Added at the top of the second column in the order details page. + Added at the top of the second column in the campaign details page. - Type `DetailWidgetProps` imported from `@medusajs/framework/types` + Type `DetailWidgetProps` imported from `@medusajs/framework/types` ```ts blockStyle="inline" { - data, // Order object + data, // AdminCampaign object } ``` @@ -173,21 +125,21 @@ This documentation page includes the list of injection zones you can add Admin W - `order.details.side.before` + `campaign.details.side.after` - Added at the end of the second column in the order details page. + Added at the bottom of the second column in the campaign details page. - Type `DetailWidgetProps` imported from `@medusajs/framework/types` + Type `DetailWidgetProps` imported from `@medusajs/framework/types` ```ts blockStyle="inline" { - data, // Order object + data, // AdminCampaign object } ``` @@ -258,7 +210,7 @@ This documentation page includes the list of injection zones you can add Admin W ```ts blockStyle="inline" { - data, // Customer object + data, // AdminCustomer object } ``` @@ -281,12 +233,26 @@ This documentation page includes the list of injection zones you can add Admin W ```ts blockStyle="inline" { - data, // Customer object + data, // AdminCustomer object } ``` + +
        + +## Customer Group Pages + + + + + Injection Zone Name + Description + Additional Props + + + @@ -338,7 +304,7 @@ This documentation page includes the list of injection zones you can add Admin W ```ts blockStyle="inline" { - data, // CustomerGroup object + data, // AdminCustomerGroup object } ``` @@ -361,7 +327,7 @@ This documentation page includes the list of injection zones you can add Admin W ```ts blockStyle="inline" { - data, // CustomerGroup object + data, // AdminCustomerGroup object } ``` @@ -370,7 +336,7 @@ This documentation page includes the list of injection zones you can add Admin W
        -## Product Pages +## Inventory Pages @@ -384,12 +350,12 @@ This documentation page includes the list of injection zones you can add Admin W - `product.list.before` + `inventory_item.list.before` - Added at the top of the product list page. + Added at the top of the inventory list page. @@ -401,12 +367,12 @@ This documentation page includes the list of injection zones you can add Admin W - `product.list.after` + `inventory_item.list.after` - Added at the bottom of the products list page. + Added at the bottom of the inventory list page. @@ -418,21 +384,21 @@ This documentation page includes the list of injection zones you can add Admin W - `product.details.before` + `inventory_item.details.before` - Added at the top of the product details page. + Added at the top of the inventory item details page. - Type `DetailWidgetProps` imported from `@medusajs/framework/types` + Type `DetailWidgetProps` imported from `@medusajs/framework/types` ```ts blockStyle="inline" { - data, // Product object + data, // AdminInventoryItem object } ``` @@ -441,21 +407,21 @@ This documentation page includes the list of injection zones you can add Admin W - `product.details.after` + `inventory_item.details.after` - Added at the bottom of the product details page + Added at the bottom of the inventory item details page. - Type `DetailWidgetProps` imported from `@medusajs/framework/types` + Type `DetailWidgetProps` imported from `@medusajs/framework/types` ```ts blockStyle="inline" { - data, // Product object + data, // AdminInventoryItem object } ``` @@ -464,21 +430,21 @@ This documentation page includes the list of injection zones you can add Admin W - `product.details.side.before` + `inventory_item.details.side.before` - Added at the top of the second column in the product details page. + Added at the top of the second column in the inventory item details page. - Type `DetailWidgetProps` imported from `@medusajs/framework/types` + Type `DetailWidgetProps` imported from `@medusajs/framework/types` ```ts blockStyle="inline" { - data, // Product object + data, // AdminInventoryItem object } ``` @@ -487,52 +453,49 @@ This documentation page includes the list of injection zones you can add Admin W - `product.details.side.after` + `inventory_item.details.side.after` - Added at the bottom of the second column in the product details page. + Added at the end of the second column in the inventory item details page. - Type `DetailWidgetProps` imported from `@medusajs/framework/types` + Type `DetailWidgetProps` imported from `@medusajs/framework/types` ```ts blockStyle="inline" { - data, // Product object + data, // AdminInventoryItem object } ``` - - - - `product_collection.list.before` - - - - - Added at the top of the product collections list page. - - - + +
        - \- +## Login Page - + + + + Injection Zone Name + Description + Additional Props + + - `product_collection.list.after` + `login.before` - Added at the bottom of the product collections list page. + Added before the login form. @@ -544,58 +507,43 @@ This documentation page includes the list of injection zones you can add Admin W - `product_collection.details.before` + `login.after` - Added at the top of the product collection details page. + Added after the login form. - - Type `DetailWidgetProps` imported from `@medusajs/framework/types` - ```ts blockStyle="inline" - { - data, // ProductCollection object - } - ``` + \- - - - - `product_collection.details.after` - - - - - Added at the bottom of the product collection details page. - - - - - Type `DetailWidgetProps` imported from `@medusajs/framework/types` + +
        - ```ts blockStyle="inline" - { - data, // ProductCollection object - } - ``` +## Order Pages - + + + + Injection Zone Name + Description + Additional Props + + - `product_category.list.before` + `order.list.before` - Added at the top of the product categories list page. + Added at the top of the orders list page. @@ -607,12 +555,12 @@ This documentation page includes the list of injection zones you can add Admin W - `product_category.list.after` + `order.list.after` - Added at the bottom of the product categories list page. + Added at the bottom of the order list page. @@ -624,21 +572,21 @@ This documentation page includes the list of injection zones you can add Admin W - `product_category.details.before` + `order.details.before` - Added at the top of the product category details page. + Added at the top of the order details page - Type `DetailWidgetProps` imported from `@medusajs/framework/types` + Type `DetailWidgetProps` imported from `@medusajs/framework/types` ```ts blockStyle="inline" { - data, // ProductCategory object + data, // AdminOrder object } ``` @@ -647,21 +595,21 @@ This documentation page includes the list of injection zones you can add Admin W - `product_category.details.after` + `order.details.after` - Added at the bottom of the product category details page. + Added at the end of the order details page. - Type `DetailWidgetProps` imported from `@medusajs/framework/types` + Type `DetailWidgetProps` imported from `@medusajs/framework/types` ```ts blockStyle="inline" { - data, // ProductCategory object + data, // AdminOrder object } ``` @@ -670,21 +618,21 @@ This documentation page includes the list of injection zones you can add Admin W - `product_category.details.side.before` + `order.details.side.before` - Added at the top of the second column in the product category details page. + Added at the top of the second column in the order details page. - Type `DetailWidgetProps` imported from `@medusajs/framework/types` + Type `DetailWidgetProps` imported from `@medusajs/framework/types` ```ts blockStyle="inline" { - data, // ProductCategory object + data, // AdminOrder object } ``` @@ -693,21 +641,21 @@ This documentation page includes the list of injection zones you can add Admin W - `product_category.details.side.after` + `order.details.side.after` - Added at the bottom of the second column in the product category details page. + Added at the end of the second column in the order details page. - Type `DetailWidgetProps` imported from `@medusajs/framework/types` + Type `DetailWidgetProps` imported from `@medusajs/framework/types` ```ts blockStyle="inline" { - data, // ProductCategory object + data, // AdminOrder object } ``` @@ -716,7 +664,7 @@ This documentation page includes the list of injection zones you can add Admin W
        -## Pricing Pages +## Price List Pages @@ -774,11 +722,11 @@ This documentation page includes the list of injection zones you can add Admin W - Type `DetailWidgetProps` imported from `@medusajs/framework/types` + Type `DetailWidgetProps` imported from `@medusajs/framework/types` ```ts blockStyle="inline" { - data, // PriceList object + data, // AdminPriceList object } ``` @@ -797,11 +745,11 @@ This documentation page includes the list of injection zones you can add Admin W - Type `DetailWidgetProps` imported from `@medusajs/framework/types` + Type `DetailWidgetProps` imported from `@medusajs/framework/types` ```ts blockStyle="inline" { - data, // PriceList object + data, // AdminPriceList object } ``` @@ -820,11 +768,11 @@ This documentation page includes the list of injection zones you can add Admin W - Type `DetailWidgetProps` imported from `@medusajs/framework/types` + Type `DetailWidgetProps` imported from `@medusajs/framework/types` ```ts blockStyle="inline" { - data, // PriceList object + data, // AdminPriceList object } ``` @@ -843,11 +791,11 @@ This documentation page includes the list of injection zones you can add Admin W - Type `DetailWidgetProps` imported from `@medusajs/framework/types` + Type `DetailWidgetProps` imported from `@medusajs/framework/types` ```ts blockStyle="inline" { - data, // PriceList object + data, // AdminPriceList object } ``` @@ -856,7 +804,7 @@ This documentation page includes the list of injection zones you can add Admin W
        -## Promotion Pages +## Product Pages @@ -870,12 +818,12 @@ This documentation page includes the list of injection zones you can add Admin W - `promotion.list.before` + `product.list.before` - Added at the top of the promotions list page. + Added at the top of the product list page. @@ -887,12 +835,12 @@ This documentation page includes the list of injection zones you can add Admin W - `promotion.list.after` + `product.list.after` - Added at the bottom of the promotions list page. + Added at the bottom of the products list page. @@ -904,21 +852,21 @@ This documentation page includes the list of injection zones you can add Admin W - `promotion.details.before` + `product.details.before` - Added at the top of a promotion's details page. + Added at the top of the product details page. - Type `DetailWidgetProps` imported from `@medusajs/framework/types` + Type `DetailWidgetProps` imported from `@medusajs/framework/types` ```ts blockStyle="inline" { - data, // Promotion object + data, // AdminProduct object } ``` @@ -927,21 +875,21 @@ This documentation page includes the list of injection zones you can add Admin W - `promotion.details.after` + `product.details.after` - Added at the bottom of a promotion's details page. + Added at the bottom of the product details page - Type `DetailWidgetProps` imported from `@medusajs/framework/types` + Type `DetailWidgetProps` imported from `@medusajs/framework/types` ```ts blockStyle="inline" { - data, // Promotion object + data, // AdminProduct object } ``` @@ -950,21 +898,21 @@ This documentation page includes the list of injection zones you can add Admin W - `promotion.details.side.before` + `product.details.side.before` - Added at the top of the second column in the promotion details page. + Added at the top of the second column in the product details page. - Type `DetailWidgetProps` imported from `@medusajs/framework/types` + Type `DetailWidgetProps` imported from `@medusajs/framework/types` ```ts blockStyle="inline" { - data, // Promotion object + data, // AdminProduct object } ``` @@ -973,35 +921,49 @@ This documentation page includes the list of injection zones you can add Admin W - `promotion.details.side.after` + `product.details.side.after` - Added at the bottom of the second column in the promotion details page. + Added at the bottom of the second column in the product details page. - Type `DetailWidgetProps` imported from `@medusajs/framework/types` + Type `DetailWidgetProps` imported from `@medusajs/framework/types` ```ts blockStyle="inline" { - data, // Promotion object + data, // AdminProduct object } ``` + +
        + +## Product Collection Pages + + + + + Injection Zone Name + Description + Additional Props + + + - `campaign.list.before` + `product_collection.list.before` - Added at the top of the campaigns list page. + Added at the top of the product collections list page. @@ -1013,12 +975,12 @@ This documentation page includes the list of injection zones you can add Admin W - `campaign.list.after` + `product_collection.list.after` - Added at the bottom of the campaigns list page. + Added at the bottom of the product collections list page. @@ -1030,21 +992,21 @@ This documentation page includes the list of injection zones you can add Admin W - `campaign.details.before` + `product_collection.details.before` - Added at the top of a campaign's details page. + Added at the top of the product collection details page. - Type `DetailWidgetProps` imported from `@medusajs/framework/types` + Type `DetailWidgetProps` imported from `@medusajs/framework/types` ```ts blockStyle="inline" { - data, // Campaign object + data, // AdminProductCollection object } ``` @@ -1053,44 +1015,376 @@ This documentation page includes the list of injection zones you can add Admin W - `campaign.details.after` + `product_collection.details.after` + + + + + Added at the bottom of the product collection details page. + + + + + Type `DetailWidgetProps` imported from `@medusajs/framework/types` + + ```ts blockStyle="inline" + { + data, // AdminProductCollection object + } + ``` + + + + +
        + +## Product Category Pages + + + + + Injection Zone Name + Description + Additional Props + + + + + + + `product_category.list.before` + + + + + Added at the top of the product categories list page. + + + + + \- + + + + + + + `product_category.list.after` + + + + + Added at the bottom of the product categories list page. + + + + + \- + + + + + + + `product_category.details.before` + + + + + Added at the top of the product category details page. + + + + + Type `DetailWidgetProps` imported from `@medusajs/framework/types` + + ```ts blockStyle="inline" + { + data, // AdminProductCategory object + } + ``` + + + + + + + `product_category.details.after` + + + + + Added at the bottom of the product category details page. + + + + + Type `DetailWidgetProps` imported from `@medusajs/framework/types` + + ```ts blockStyle="inline" + { + data, // AdminProductCategory object + } + ``` + + + + + + + `product_category.details.side.before` + + + + + Added at the top of the second column in the product category details page. + + + + + Type `DetailWidgetProps` imported from `@medusajs/framework/types` + + ```ts blockStyle="inline" + { + data, // AdminProductCategory object + } + ``` + + + + + + + `product_category.details.side.after` + + + + + Added at the bottom of the second column in the product category details page. + + + + + Type `DetailWidgetProps` imported from `@medusajs/framework/types` + + ```ts blockStyle="inline" + { + data, // AdminProductCategory object + } + ``` + + + + +
        + + + +## Promotion Pages + + + + + Injection Zone Name + Description + Additional Props + + + + + + + `promotion.list.before` + + + + + Added at the top of the promotions list page. + + + + + \- + + + + + + + `promotion.list.after` + + + + + Added at the bottom of the promotions list page. + + + + + \- + + + + + + + `promotion.details.before` + + + + + Added at the top of a promotion's details page. + + + + + Type `DetailWidgetProps` imported from `@medusajs/framework/types` + + ```ts blockStyle="inline" + { + data, // AdminPromotion object + } + ``` + + + + + + + `promotion.details.after` + + + + + Added at the bottom of a promotion's details page. + + + + + Type `DetailWidgetProps` imported from `@medusajs/framework/types` + + ```ts blockStyle="inline" + { + data, // AdminPromotion object + } + ``` + + + + + + + `promotion.details.side.before` + + + + + Added at the top of the second column in the promotion details page. + + + + + Type `DetailWidgetProps` imported from `@medusajs/framework/types` + + ```ts blockStyle="inline" + { + data, // AdminPromotion object + } + ``` + + + + + + + `promotion.details.side.after` + + + + + Added at the bottom of the second column in the promotion details page. + + + + + Type `DetailWidgetProps` imported from `@medusajs/framework/types` + + ```ts blockStyle="inline" + { + data, // AdminPromotion object + } + ``` + + + + +
        + +## Setting Pages + +### API Key Pages + + + + + Injection Zone Name + Description + Additional Props + + + + + + + `api_key.list.before` + + + + + Added at the top of the API keys list page. + + + + + \- + + + + + + + `api_key.list.after` - Added at the bottom of a campaign's details page. + Added at the bottom of the API keys list page. - - Type `DetailWidgetProps` imported from `@medusajs/framework/types` - ```ts blockStyle="inline" - { - data, // Campaign object - } - ``` + \- - `campaign.details.side.before` + `api_key.details.before` - Added at the top of the second column in the campaign details page. + Added at the top of a API key's details page. - Type `DetailWidgetProps` imported from `@medusajs/framework/types` + Type `DetailWidgetProps` imported from `@medusajs/framework/types` ```ts blockStyle="inline" { - data, // Campaign object + data, // AdminApiKey object } ``` @@ -1099,21 +1393,21 @@ This documentation page includes the list of injection zones you can add Admin W - `campaign.details.side.after` + `api_key.details.after` - Added at the bottom of the second column in the campaign details page. + Added at the bottom of a API key's details page. - Type `DetailWidgetProps` imported from `@medusajs/framework/types` + Type `DetailWidgetProps` imported from `@medusajs/framework/types` ```ts blockStyle="inline" { - data, // Campaign object + data, // AdminApiKey object } ``` @@ -1122,9 +1416,7 @@ This documentation page includes the list of injection zones you can add Admin W
        -## Setting Pages - -### User Pages +### Location Pages @@ -1138,12 +1430,12 @@ This documentation page includes the list of injection zones you can add Admin W - `user.list.before` + `location.list.before` - Added at the top of the users list page. + Added at the top of the locations list page. @@ -1155,12 +1447,12 @@ This documentation page includes the list of injection zones you can add Admin W - `user.list.after` + `location.list.after` - Added at the bottom of the users list page. + Added at the bottom of the locations list page. @@ -1172,21 +1464,21 @@ This documentation page includes the list of injection zones you can add Admin W - `user.details.before` + `location.details.before` - Added at the top of a user's details page. + Added at the top of a location's details page. - Type `DetailWidgetProps` imported from `@medusajs/framework/types` + Type `DetailWidgetProps` imported from `@medusajs/framework/types` ```ts blockStyle="inline" { - data, // User object + data, // AdminStockLocation object } ``` @@ -1195,58 +1487,44 @@ This documentation page includes the list of injection zones you can add Admin W - `user.details.after` + `location.details.after` - Added at the bottom of a user's details page. + Added at the bottom of a location's details page. - Type `DetailWidgetProps` imported from `@medusajs/framework/types` + Type `DetailWidgetProps` imported from `@medusajs/framework/types` ```ts blockStyle="inline" { - data, // User object + data, // AdminStockLocation object } ``` - -
        - -### Store Pages - - - - - Injection Zone Name - Description - Additional Props - - - - `store.details.before` + `location.details.side.before` - Added at the top of a store's details page. + Added at the top of the second column in the location details page. - Type `DetailWidgetProps` imported from `@medusajs/framework/types` + Type `DetailWidgetProps` imported from `@medusajs/framework/types` ```ts blockStyle="inline" { - data, // Store object + data, // AdminStockLocation object } ``` @@ -1255,21 +1533,21 @@ This documentation page includes the list of injection zones you can add Admin W - `store.details.after` + `location.details.side.after` - Added at the bottom of a store's details page. + Added at the bottom of the second column in the location details page. - Type `DetailWidgetProps` imported from `@medusajs/framework/types` + Type `DetailWidgetProps` imported from `@medusajs/framework/types` ```ts blockStyle="inline" { - data, // Store object + data, // AdminStockLocation object } ``` @@ -1302,11 +1580,11 @@ This documentation page includes the list of injection zones you can add Admin W - Type `DetailWidgetProps` imported from `@medusajs/framework/types` + Type `DetailWidgetProps` imported from `@medusajs/framework/types` ```ts blockStyle="inline" { - data, // User object + data, // AdminUser object } ``` @@ -1325,11 +1603,11 @@ This documentation page includes the list of injection zones you can add Admin W - Type `DetailWidgetProps` imported from `@medusajs/framework/types` + Type `DetailWidgetProps` imported from `@medusajs/framework/types` ```ts blockStyle="inline" { - data, // User object + data, // AdminUser object } ``` @@ -1400,7 +1678,7 @@ This documentation page includes the list of injection zones you can add Admin W ```ts blockStyle="inline" { - data, // Region object + data, // AdminRegion object } ``` @@ -1423,7 +1701,7 @@ This documentation page includes the list of injection zones you can add Admin W ```ts blockStyle="inline" { - data, // Region object + data, // AdminRegion object } ``` @@ -1432,7 +1710,7 @@ This documentation page includes the list of injection zones you can add Admin W
        -### Shipping Profile Pages +### Reservation Pages @@ -1446,12 +1724,12 @@ This documentation page includes the list of injection zones you can add Admin W - `shipping_profile.list.before` + `reservation.list.before` - Added at the top of the shipping profiles list page. + Added at the top of the reservations list page. @@ -1463,12 +1741,12 @@ This documentation page includes the list of injection zones you can add Admin W - `shipping_profile.list.after` + `reservation.list.after` - Added at the bottom of the shipping profiles list page. + Added at the bottom of the reservations list page. @@ -1480,21 +1758,21 @@ This documentation page includes the list of injection zones you can add Admin W - `shipping_profile.details.before` + `reservation.details.before` - Added at the top of a shipping profile's details page. + Added at the top of a reservation item's details page. - Type `DetailWidgetProps` imported from `@medusajs/framework/types` + Type `DetailWidgetProps` imported from `@medusajs/framework/types` ```ts blockStyle="inline" { - data, // ShippingProfile object + data, // AdminReservation object } ``` @@ -1503,92 +1781,44 @@ This documentation page includes the list of injection zones you can add Admin W - `shipping_profile.details.after` + `reservation.details.after` - Added at the bottom of a shipping profile's details page. + Added at the bottom of a reservation item's details page. - Type `DetailWidgetProps` imported from `@medusajs/framework/types` + Type `DetailWidgetProps` imported from `@medusajs/framework/types` ```ts blockStyle="inline" { - data, // ShippingProfile object + data, // AdminReservation object } ``` - -
        - -### Location Pages - - - - - Injection Zone Name - Description - Additional Props - - - - - - - `location.list.before` - - - - - Added at the top of the locations list page. - - - - - \- - - - - - - - `location.list.after` - - - - - Added at the bottom of the locations list page. - - - - - \- - - - - `location.details.before` + `reservation.details.side.before` - Added at the top of a location's details page. + Added at the top of the second column in the reservation item details page. - Type `DetailWidgetProps` imported from `@medusajs/framework/types` + Type `DetailWidgetProps` imported from `@medusajs/framework/types` ```ts blockStyle="inline" { - data, // StockLocation object + data, // AdminReservation object } ``` @@ -1597,69 +1827,71 @@ This documentation page includes the list of injection zones you can add Admin W - `location.details.after` + `reservation.details.side.after` - Added at the bottom of a location's details page. + Added at the bottom of the second column in the reservation item details page. - Type `DetailWidgetProps` imported from `@medusajs/framework/types` + Type `DetailWidgetProps` imported from `@medusajs/framework/types` ```ts blockStyle="inline" { - data, // StockLocation object + data, // AdminReservation object } ``` + +
        + +### Return Reason Pages + + + + + Injection Zone Name + Description + Additional Props + + + - `location.details.side.before` + `return_reason.list.before` - Added at the top of the second column in the location details page. + Added at the top of the return reasons list page. - - Type `DetailWidgetProps` imported from `@medusajs/framework/types` - ```ts blockStyle="inline" - { - data, // StockLocation object - } - ``` + \- - `location.details.side.after` + `return_reason.list.after` - Added at the bottom of the second column in the location details page. + Added at the bottom of the return reasons list page. - - Type `DetailWidgetProps` imported from `@medusajs/framework/types` - ```ts blockStyle="inline" - { - data, // StockLocation object - } - ``` + \- @@ -1724,11 +1956,11 @@ This documentation page includes the list of injection zones you can add Admin W - Type `DetailWidgetProps` imported from `@medusajs/framework/types` + Type `DetailWidgetProps` imported from `@medusajs/framework/types` ```ts blockStyle="inline" { - data, // SalesChannel object + data, // AdminSalesChannel object } ``` @@ -1747,11 +1979,11 @@ This documentation page includes the list of injection zones you can add Admin W - Type `DetailWidgetProps` imported from `@medusajs/framework/types` + Type `DetailWidgetProps` imported from `@medusajs/framework/types` ```ts blockStyle="inline" { - data, // SalesChannel object + data, // AdminSalesChannel object } ``` @@ -1760,7 +1992,7 @@ This documentation page includes the list of injection zones you can add Admin W
        -### Reservation Pages +### Shipping Profile Pages @@ -1774,12 +2006,12 @@ This documentation page includes the list of injection zones you can add Admin W - `reservation.list.before` + `shipping_profile.list.before` - Added at the top of the reservations list page. + Added at the top of the shipping profiles list page. @@ -1791,12 +2023,12 @@ This documentation page includes the list of injection zones you can add Admin W - `reservation.list.after` + `shipping_profile.list.after` - Added at the bottom of the reservations list page. + Added at the bottom of the shipping profiles list page. @@ -1808,21 +2040,21 @@ This documentation page includes the list of injection zones you can add Admin W - `reservation.details.before` + `shipping_profile.details.before` - Added at the top of a reservation item's details page. + Added at the top of a shipping profile's details page. - Type `DetailWidgetProps` imported from `@medusajs/framework/types` + Type `DetailWidgetProps` imported from `@medusajs/framework/types` ```ts blockStyle="inline" { - data, // ReservationItem object + data, // AdminShippingProfile object } ``` @@ -1831,44 +2063,58 @@ This documentation page includes the list of injection zones you can add Admin W - `reservation.details.after` + `shipping_profile.details.after` - Added at the bottom of a reservation item's details page. + Added at the bottom of a shipping profile's details page. - Type `DetailWidgetProps` imported from `@medusajs/framework/types` + Type `DetailWidgetProps` imported from `@medusajs/framework/types` ```ts blockStyle="inline" { - data, // ReservationItem object + data, // AdminShippingProfile object } ``` + +
        + +### Store Pages + + + + + Injection Zone Name + Description + Additional Props + + + - `reservation.details.side.before` + `store.details.before` - Added at the top of the second column in the reservation item details page. + Added at the top of a store's details page. - Type `DetailWidgetProps` imported from `@medusajs/framework/types` + Type `DetailWidgetProps` imported from `@medusajs/framework/types` ```ts blockStyle="inline" { - data, // ReservationItem object + data, // AdminStore object } ``` @@ -1877,21 +2123,21 @@ This documentation page includes the list of injection zones you can add Admin W - `reservation.details.side.after` + `store.details.after` - Added at the bottom of the second column in the reservation item details page. + Added at the bottom of a store's details page. - Type `DetailWidgetProps` imported from `@medusajs/framework/types` + Type `DetailWidgetProps` imported from `@medusajs/framework/types` ```ts blockStyle="inline" { - data, // ReservationItem object + data, // AdminStore object } ``` @@ -1900,7 +2146,7 @@ This documentation page includes the list of injection zones you can add Admin W
        -### API Key Pages +### Tax Pages @@ -1914,12 +2160,12 @@ This documentation page includes the list of injection zones you can add Admin W - `api_key.list.before` + `tax.list.before` - Added at the top of the API keys list page. + Added at the top of the tax regions list page. @@ -1931,12 +2177,12 @@ This documentation page includes the list of injection zones you can add Admin W - `api_key.list.after` + `tax.list.after` - Added at the bottom of the API keys list page. + Added at the bottom of the tax regions list page. @@ -1948,21 +2194,21 @@ This documentation page includes the list of injection zones you can add Admin W - `api_key.details.before` + `tax.details.before` - Added at the top of a API key's details page. + Added at the top of a tax region's details page. - Type `DetailWidgetProps` imported from `@medusajs/framework/types` + Type `DetailWidgetProps` imported from `@medusajs/framework/types` ```ts blockStyle="inline" { - data, // ApiKey object + data, // AdminTaxRegion object } ``` @@ -1971,21 +2217,21 @@ This documentation page includes the list of injection zones you can add Admin W - `api_key.details.after` + `tax.details.after` - Added at the bottom of a API key's details page. + Added at the bottom of a tax region's details page. - Type `DetailWidgetProps` imported from `@medusajs/framework/types` + Type `DetailWidgetProps` imported from `@medusajs/framework/types` ```ts blockStyle="inline" { - data, // ApiKey object + data, // AdminTaxRegion object } ``` @@ -1994,7 +2240,7 @@ This documentation page includes the list of injection zones you can add Admin W
        -### Workflow Pages +### User Pages @@ -2008,12 +2254,12 @@ This documentation page includes the list of injection zones you can add Admin W - `workflow.list.before` + `user.list.before` - Added at the top of the workflows list page. + Added at the top of the users list page. @@ -2025,12 +2271,12 @@ This documentation page includes the list of injection zones you can add Admin W - `workflow.list.after` + `user.list.after` - Added at the bottom of the workflows list page. + Added at the bottom of the users list page. @@ -2042,21 +2288,21 @@ This documentation page includes the list of injection zones you can add Admin W - `workflow.details.before` + `user.details.before` - Added at the top of a workflow execution's details page. + Added at the top of a user's details page. - Type `DetailWidgetProps` imported from `@medusajs/framework/types` + Type `DetailWidgetProps` imported from `@medusajs/framework/types` ```ts blockStyle="inline" { - data, // WorkflowExecution object + data, // AdminUser object } ``` @@ -2065,21 +2311,21 @@ This documentation page includes the list of injection zones you can add Admin W - `workflow.details.after` + `user.details.after` - Added at the bottom of a workflow execution's details page. + Added at the bottom of a user's details page. - Type `DetailWidgetProps` imported from `@medusajs/framework/types` + Type `DetailWidgetProps` imported from `@medusajs/framework/types` ```ts blockStyle="inline" { - data, // WorkflowExecution object + data, // AdminUser object } ``` @@ -2088,7 +2334,7 @@ This documentation page includes the list of injection zones you can add Admin W
        -### Tax Pages +### Workflow Pages @@ -2102,12 +2348,12 @@ This documentation page includes the list of injection zones you can add Admin W - `tax.list.before` + `workflow.list.before` - Added at the top of the tax regions list page. + Added at the top of the workflows list page. @@ -2119,12 +2365,12 @@ This documentation page includes the list of injection zones you can add Admin W - `tax.list.after` + `workflow.list.after` - Added at the bottom of the tax regions list page. + Added at the bottom of the workflows list page. @@ -2136,21 +2382,21 @@ This documentation page includes the list of injection zones you can add Admin W - `tax.details.before` + `workflow.details.before` - Added at the top of a tax region's details page. + Added at the top of a workflow execution's details page. - Type `DetailWidgetProps` imported from `@medusajs/framework/types` + Type `DetailWidgetProps` imported from `@medusajs/framework/types` ```ts blockStyle="inline" { - data, // TaxRegion object + data, // AdminWorkflowExecution object } ``` @@ -2159,21 +2405,21 @@ This documentation page includes the list of injection zones you can add Admin W - `tax.details.after` + `workflow.details.after` - Added at the bottom of a tax region's details page. + Added at the bottom of a workflow execution's details page. - Type `DetailWidgetProps` imported from `@medusajs/framework/types` + Type `DetailWidgetProps` imported from `@medusajs/framework/types` ```ts blockStyle="inline" { - data, // TaxRegion object + data, // AdminWorkflowExecution object } ``` diff --git a/www/apps/resources/app/architectural-modules/cache/create/page.mdx b/www/apps/resources/app/architectural-modules/cache/create/page.mdx index 8c26df2de2bc7..97a0f639ca7c8 100644 --- a/www/apps/resources/app/architectural-modules/cache/create/page.mdx +++ b/www/apps/resources/app/architectural-modules/cache/create/page.mdx @@ -167,6 +167,6 @@ module.exports = defineConfig({ ttl: 30, }, }, - ] + ], }) ``` diff --git a/www/apps/resources/app/architectural-modules/cache/in-memory/page.mdx b/www/apps/resources/app/architectural-modules/cache/in-memory/page.mdx index 38d9585316469..280910882d830 100644 --- a/www/apps/resources/app/architectural-modules/cache/in-memory/page.mdx +++ b/www/apps/resources/app/architectural-modules/cache/in-memory/page.mdx @@ -37,7 +37,7 @@ module.exports = defineConfig({ // optional options }, }, - ] + ], }) ``` diff --git a/www/apps/resources/app/architectural-modules/cache/redis/page.mdx b/www/apps/resources/app/architectural-modules/cache/redis/page.mdx index 8f3b06a19750f..0c67409f83ea9 100644 --- a/www/apps/resources/app/architectural-modules/cache/redis/page.mdx +++ b/www/apps/resources/app/architectural-modules/cache/redis/page.mdx @@ -39,7 +39,7 @@ module.exports = defineConfig({ redisUrl: process.env.CACHE_REDIS_URL, }, }, - ] + ], }) ``` diff --git a/www/apps/resources/app/architectural-modules/event/create/page.mdx b/www/apps/resources/app/architectural-modules/event/create/page.mdx index 9344ee3f490fd..829851ce5a940 100644 --- a/www/apps/resources/app/architectural-modules/event/create/page.mdx +++ b/www/apps/resources/app/architectural-modules/event/create/page.mdx @@ -1,3 +1,5 @@ +import { TypeList } from "docs-ui" + export const metadata = { title: `How to Create an Event Module`, } @@ -19,15 +21,18 @@ Create the file `src/modules/my-event/service.ts` that holds the implementation The Event Module's main service must extend the `AbstractEventBusModuleService` class imported from `@medusajs/framework/utils`: ```ts title="src/modules/my-event/service.ts" -import { EmitData, Message } from "@medusajs/framework/types" -import { AbstractEventBusModuleService } from "@medusajs/framework/utils" +import { AbstractEventBusModuleService } from "@medusajs/framework/utils"; +import { Message } from "@medusajs/types"; class MyEventService extends AbstractEventBusModuleService { - emit(eventName: string, data: T, options: Record): Promise; - emit(data: EmitData[]): Promise; - emit(data: Message[]): Promise; - emit(eventName: unknown, data?: unknown, options?: unknown): Promise { - throw new Error("Method not implemented.") + async emit(data: Message | Message[], options: Record): Promise { + throw new Error("Method not implemented."); + } + async releaseGroupedEvents(eventGroupId: string): Promise { + throw new Error("Method not implemented."); + } + async clearGroupedEvents(eventGroupId: string): Promise { + throw new Error("Method not implemented."); } } @@ -36,52 +41,175 @@ export default MyEventService The service implements the required methods based on the desired publish/subscribe logic. -### Note About the eventToSubscribersMap Property +### eventToSubscribersMap_ Property -The `AbstractEventBusModuleService` has a field `eventToSubscribersMap`, which is a JavaScript Map. The map's keys are the event names, whereas the value of each key is an array of subscribed handler functions. +The `AbstractEventBusModuleService` has a field `eventToSubscribersMap_`, which is a JavaScript Map. The map's keys are the event names, whereas the value of each key is an array of subscribed handler functions. In your custom implementation, you can use this property to manage the subscribed handler functions: ```ts const eventSubscribers = - this.eventToSubscribersMap.get(eventName) || [] + this.eventToSubscribersMap_.get(eventName) || [] ``` -### Implement emit Method +### emit Method The `emit` method is used to push an event from the Medusa application into your messaging system. The subscribers to that event would then pick up the message and execute their asynchronous tasks. -The `emit` method has three different signatures: +An example implementation: + +```ts title="src/modules/my-event/service.ts" +class MyEventService extends AbstractEventBusModuleService { + async emit(data: Message | Message[], options: Record): Promise { + const events = Array.isArray(data) ? data : [data] + + for (const event of events) { + console.log(`Received the event ${event.name} with data ${event.data}`) + + // TODO push the event somewhere + } + } + // ... +} +``` + +The `emit` method receives the following parameters: + + + +### releaseGroupedEvents Method + +Grouped events are useful when you have distributed transactions where you need to explicitly group, release, and clear events upon lifecycle transaction events. + +If your Event Module supports grouped events, this method is used to emit all events in a group, then clear that group. + +For example: + +```ts title="src/modules/my-event/service.ts" +class MyEventService extends AbstractEventBusModuleService { + protected groupedEventsMap_: Map + + constructor() { + // @ts-ignore + super(...arguments) + + this.groupedEventsMap_ = new Map() + } + + async releaseGroupedEvents(eventGroupId: string): Promise { + const groupedEvents = this.groupedEventsMap_.get(eventGroupId) || [] + + for (const event of groupedEvents) { + const { options, ...eventBody } = event + + // TODO emit event + } -1. The first signature accepts three parameters: - - The first parameter is a string indicating the name of the event to trigger. - - The second parameter is data to send to subscribers of that event. - - The third optional parameter can be used to pass options specific to the event service. -2. The second signature accepts one parameter, which is an array of objects having the following properties: - - `eventName`: A string indicating the name of the event to trigger. - - `data`: The data to send to subsribers of that event. - - `options`: (optional) options specific to the event service. -3. The third signature accepts one parameter, which is an array of objects having the following properties: - - `eventName`: A string indicating the name of the event to trigger. - - `body`: An object of event-related data. It has two properties: `data` holding the data of the event, and `metadata` which is an object with more details on how the event was emitted, such as the action that occurred or the service that emitted it. - - `options`: (optional) options specific to the event service. + await this.clearGroupedEvents(eventGroupId) + } + + // ... +} +``` + +The `releaseGroupedEvents` receives the group ID as a parameter. + +In the example above, you add a `groupedEventsMap_` property to store grouped events. Then, in the method, you emit the events in the group, then clear the grouped events using the `clearGroupedEvents` which you'll learn about next. -You can implement your method in a way that supports both signatures by checking the type of the first input. For example: +To add events to the grouped events map, you can do it in the `emit` method: ```ts title="src/modules/my-event/service.ts" class MyEventService extends AbstractEventBusModuleService { // ... - emit(eventName: string, data: T, options: Record): Promise; - emit(data: EmitData[]): Promise; - emit(data: Message[]): Promise; - emit(eventOrData: unknown, data?: unknown, options?: unknown): Promise { - const isBulkEmit = Array.isArray(eventOrData) + async emit(data: Message | Message[], options: Record): Promise { + const events = Array.isArray(data) ? data : [data] + + for (const event of events) { + console.log(`Received the event ${event.name} with data ${event.data}`) + + if (event.metadata.eventGroupId) { + const groupedEvents = this.groupedEventsMap_.get( + event.metadata.eventGroupId + ) || [] + + groupedEvents.push(event) + + this.groupedEventsMap_.set(event.metadata.eventGroupId, groupedEvents) + continue + } + + // TODO push the event somewhere + } + } +} +``` + +### clearGroupedEvents Method + +If your Event Module supports grouped events, this method is used to remove the events of a group. - // ... +For example: + +```ts title="src/modules/my-event/service.ts" +class MyEventService extends AbstractEventBusModuleService { + // from previous section + protected groupedEventsMap_: Map + + async clearGroupedEvents(eventGroupId: string): Promise { + this.groupedEventsMap_.delete(eventGroupId) } + + // ... } ``` +The method accepts the group's name as a parameter. + +In the method, you delete the group from the `groupedEventsMap_` property (added in the previous section), deleting the stored events of it as well. + --- ## 3. Create Module Definition File @@ -121,6 +249,6 @@ module.exports = defineConfig({ // any options }, }, - ] + ], }) ``` diff --git a/www/apps/resources/app/architectural-modules/event/local/page.mdx b/www/apps/resources/app/architectural-modules/event/local/page.mdx index e3d31a90928c3..7c86bd6bbc1c2 100644 --- a/www/apps/resources/app/architectural-modules/event/local/page.mdx +++ b/www/apps/resources/app/architectural-modules/event/local/page.mdx @@ -31,9 +31,9 @@ module.exports = defineConfig({ // ... modules: [ { - resolve: "@medusajs/medusa/event-bus-local" - } - ] + resolve: "@medusajs/medusa/event-bus-local", + }, + ], }) ``` diff --git a/www/apps/resources/app/architectural-modules/event/redis/page.mdx b/www/apps/resources/app/architectural-modules/event/redis/page.mdx index 584f9dda7b72c..9cbfb33d573ef 100644 --- a/www/apps/resources/app/architectural-modules/event/redis/page.mdx +++ b/www/apps/resources/app/architectural-modules/event/redis/page.mdx @@ -42,8 +42,8 @@ module.exports = defineConfig({ options: { redisUrl: process.env.EVENTS_REDIS_URL, }, - } - ] + }, + ], }) ``` diff --git a/www/apps/resources/app/architectural-modules/file/local/page.mdx b/www/apps/resources/app/architectural-modules/file/local/page.mdx index 7a16583d432b7..3b98c084dec87 100644 --- a/www/apps/resources/app/architectural-modules/file/local/page.mdx +++ b/www/apps/resources/app/architectural-modules/file/local/page.mdx @@ -54,7 +54,7 @@ module.exports = { ], }, }, - ] + ], } ``` diff --git a/www/apps/resources/app/architectural-modules/file/s3/page.mdx b/www/apps/resources/app/architectural-modules/file/s3/page.mdx index 95f802558c2ab..9048850e23b1e 100644 --- a/www/apps/resources/app/architectural-modules/file/s3/page.mdx +++ b/www/apps/resources/app/architectural-modules/file/s3/page.mdx @@ -141,7 +141,7 @@ module.exports = { ], }, }, - ] + ], } ``` @@ -370,7 +370,7 @@ module.exports = defineConfig({ ], }, }, - ] + ], }) ``` --- diff --git a/www/apps/resources/app/architectural-modules/notification/local/page.mdx b/www/apps/resources/app/architectural-modules/notification/local/page.mdx index 806bda5ac1913..55deb810dc1a3 100644 --- a/www/apps/resources/app/architectural-modules/notification/local/page.mdx +++ b/www/apps/resources/app/architectural-modules/notification/local/page.mdx @@ -49,7 +49,7 @@ module.exports = defineConfig({ ], }, }, - ] + ], }) ``` diff --git a/www/apps/resources/app/architectural-modules/notification/page.mdx b/www/apps/resources/app/architectural-modules/notification/page.mdx index 120d8b4ce5144..ff1d2343825a4 100644 --- a/www/apps/resources/app/architectural-modules/notification/page.mdx +++ b/www/apps/resources/app/architectural-modules/notification/page.mdx @@ -54,7 +54,7 @@ module.exports = { ], }, }, - ] + ], } ``` diff --git a/www/apps/resources/app/architectural-modules/notification/sendgrid/page.mdx b/www/apps/resources/app/architectural-modules/notification/sendgrid/page.mdx index fcfe94883bc84..2ac858062f90e 100644 --- a/www/apps/resources/app/architectural-modules/notification/sendgrid/page.mdx +++ b/www/apps/resources/app/architectural-modules/notification/sendgrid/page.mdx @@ -62,7 +62,7 @@ module.exports = defineConfig({ ], }, }, - ] + ], }) ``` diff --git a/www/apps/resources/app/architectural-modules/page.mdx b/www/apps/resources/app/architectural-modules/page.mdx index 86a3546e46838..ae19437da66dc 100644 --- a/www/apps/resources/app/architectural-modules/page.mdx +++ b/www/apps/resources/app/architectural-modules/page.mdx @@ -8,4 +8,4 @@ export const metadata = { This section includes documentation for official Medusa architectural modules. - \ No newline at end of file + \ No newline at end of file diff --git a/www/apps/resources/app/architectural-modules/workflow-engine/in-memory/page.mdx b/www/apps/resources/app/architectural-modules/workflow-engine/in-memory/page.mdx index 6ef9849d7a95c..2918648ea4df5 100644 --- a/www/apps/resources/app/architectural-modules/workflow-engine/in-memory/page.mdx +++ b/www/apps/resources/app/architectural-modules/workflow-engine/in-memory/page.mdx @@ -33,8 +33,8 @@ module.exports = defineConfig({ // ... modules: [ { - resolve: "@medusajs/medusa/workflow-engine-inmemory" - } + resolve: "@medusajs/medusa/workflow-engine-inmemory", + }, ], }) ``` diff --git a/www/apps/resources/app/architectural-modules/workflow-engine/redis/page.mdx b/www/apps/resources/app/architectural-modules/workflow-engine/redis/page.mdx index 3790d000ba3a6..a8904bcbd8cf7 100644 --- a/www/apps/resources/app/architectural-modules/workflow-engine/redis/page.mdx +++ b/www/apps/resources/app/architectural-modules/workflow-engine/redis/page.mdx @@ -41,7 +41,7 @@ module.exports = defineConfig({ }, }, }, - ] + ], }) ``` diff --git a/www/apps/resources/app/commerce-modules/auth/create-actor-type/page.mdx b/www/apps/resources/app/commerce-modules/auth/create-actor-type/page.mdx index b37100870fb29..63fe239709fac 100644 --- a/www/apps/resources/app/commerce-modules/auth/create-actor-type/page.mdx +++ b/www/apps/resources/app/commerce-modules/auth/create-actor-type/page.mdx @@ -349,7 +349,7 @@ You add a step that deletes the manager using the `deleteManagers` method of the Next, in the same file, add the workflow that deletes a manager: export const deleteHighlights = [ - ["30", "manager_id", "If your actor type has a different name, such as vendor, change it to be `{actor_type}_id`."] + ["29", "manager_id", "If your actor type has a different name, such as vendor, change it to be `{actor_type}_id`."] ] ```ts title="src/workflows/delete-manager.ts" collapsibleLines="1-15" expandButtonLabel="Show Imports" highlights={deleteHighlights} @@ -363,7 +363,7 @@ import { } from "@medusajs/framework/workflows-sdk" import { setAuthAppMetadataStep, - useRemoteQueryStep, + useQueryGraphStep, } from "@medusajs/medusa/core-flows" // ... @@ -375,17 +375,15 @@ export const deleteManagerWorkflow = createWorkflow( ): WorkflowResponse => { deleteManagerStep(input) - const authIdentities = useRemoteQueryStep({ - entry_point: "auth_identity", + const { data: authIdentities } = useQueryGraphStep({ + entity: "auth_identity", fields: ["id"], - variables: { - filters: { - app_metadata: { - // the ID is of the format `{actor_type}_id`. - manager_id: input.id, - }, - }, - }, + filters: { + app_metadata: { + // the ID is of the format `{actor_type}_id`. + manager_id: input.id, + } + } }) const authIdentity = transform( diff --git a/www/apps/resources/app/commerce-modules/auth/module-options/page.mdx b/www/apps/resources/app/commerce-modules/auth/module-options/page.mdx index 99c84c7cf8f62..89c01c6ddcdf7 100644 --- a/www/apps/resources/app/commerce-modules/auth/module-options/page.mdx +++ b/www/apps/resources/app/commerce-modules/auth/module-options/page.mdx @@ -48,7 +48,7 @@ module.exports = defineConfig({ ], }, }, - ] + ], }) ``` diff --git a/www/apps/resources/app/commerce-modules/cart/extend/page.mdx b/www/apps/resources/app/commerce-modules/cart/extend/page.mdx index 61875693c96ff..9fd7028e23e08 100644 --- a/www/apps/resources/app/commerce-modules/cart/extend/page.mdx +++ b/www/apps/resources/app/commerce-modules/cart/extend/page.mdx @@ -492,7 +492,7 @@ Finally, you'll create the workflow. Create the file `src/workflows/update-custo ```ts title="src/workflows/update-custom-from-cart/index.ts" collapsibleLines="1-9" expandButtonLabel="Show Imports" import { CartDTO } from "@medusajs/framework/types" import { createWorkflow, when, WorkflowResponse } from "@medusajs/framework/workflows-sdk" -import { createRemoteLinkStep, dismissRemoteLinkStep, useRemoteQueryStep } from "@medusajs/medusa/core-flows" +import { createRemoteLinkStep, dismissRemoteLinkStep, useQueryGraphStep } from "@medusajs/medusa/core-flows" import { createCustomStep } from "../create-custom-from-cart/steps/create-custom" import { Modules } from "@medusajs/framework/utils" import { HELLO_MODULE } from "../../modules/hello" @@ -509,15 +509,12 @@ export type UpdateCustomFromCartStepInput = { export const updateCustomFromCartWorkflow = createWorkflow( "update-custom-from-cart", (input: UpdateCustomFromCartStepInput) => { - const cartData = useRemoteQueryStep({ - entry_point: "cart", + const { data: carts } = useQueryGraphStep({ + entity: "cart", fields: ["custom.*"], - variables: { - filters: { - id: input.cart.id, - }, - }, - list: false, + filters: { + id: input.cart.id + } }) // TODO create, update, or delete Custom record @@ -534,9 +531,9 @@ Next, replace the `TODO` with the following: ```ts title="src/workflows/update-custom-from-cart/index.ts" const created = when({ input, - cartData, + carts, }, (data) => - !data.cartData.custom && + !data.carts[0].custom && data.input.additional_data?.custom_name?.length > 0 ) .then(() => { @@ -568,25 +565,25 @@ Next, replace the new `TODO` with the following: ```ts title="src/workflows/update-custom-from-cart/index.ts" const deleted = when({ input, - cartData, + carts, }, (data) => - data.cartData.custom && ( + data.carts[0].custom && ( data.input.additional_data?.custom_name === null || data.input.additional_data?.custom_name.length === 0 ) ) .then(() => { deleteCustomStep({ - custom: cartData.custom, + custom: carts[0].custom, }) dismissRemoteLinkStep({ [HELLO_MODULE]: { - custom_id: cartData.custom.id, + custom_id: carts[0].custom.id, }, }) - return cartData.custom.id + return carts[0].custom.id }) // TODO delete Custom record @@ -599,11 +596,11 @@ Finally, replace the new `TODO` with the following: ```ts title="src/workflows/update-custom-from-cart/index.ts" const updated = when({ input, - cartData, -}, (data) => data.cartData.custom && data.input.additional_data?.custom_name?.length > 0) + carts, +}, (data) => data.carts[0].custom && data.input.additional_data?.custom_name?.length > 0) .then(() => { const custom = updateCustomStep({ - id: cartData.custom.id, + id: carts[0].custom.id, custom_name: input.additional_data.custom_name, }) diff --git a/www/apps/resources/app/commerce-modules/customer/examples/page.mdx b/www/apps/resources/app/commerce-modules/customer/examples/page.mdx index 5e870b05a1477..da6db151ec125 100644 --- a/www/apps/resources/app/commerce-modules/customer/examples/page.mdx +++ b/www/apps/resources/app/commerce-modules/customer/examples/page.mdx @@ -195,7 +195,7 @@ export async function POST(request: MedusaRequest, res: MedusaResponse) { ```ts import { NextResponse } from "next/server" -// eslint-disable-next-line prettier/prettier + import { initialize as initializeCustomerModule } from "@medusajs/medusa/customer" export async function POST(request: Request) { diff --git a/www/apps/resources/app/commerce-modules/customer/extend/page.mdx b/www/apps/resources/app/commerce-modules/customer/extend/page.mdx index a89437efa78a2..dbcc3b5c09c1c 100644 --- a/www/apps/resources/app/commerce-modules/customer/extend/page.mdx +++ b/www/apps/resources/app/commerce-modules/customer/extend/page.mdx @@ -504,7 +504,7 @@ Finally, you'll create the workflow. Create the file `src/workflows/update-custo ```ts title="src/workflows/update-custom-from-customer/index.ts" collapsibleLines="1-9" expandButtonLabel="Show Imports" import { CustomerDTO } from "@medusajs/framework/types" import { createWorkflow, when, WorkflowResponse } from "@medusajs/framework/workflows-sdk" -import { createRemoteLinkStep, dismissRemoteLinkStep, useRemoteQueryStep } from "@medusajs/medusa/core-flows" +import { createRemoteLinkStep, dismissRemoteLinkStep, useQueryGraphStep } from "@medusajs/medusa/core-flows" import { createCustomStep } from "../create-custom-from-customer/steps/create-custom" import { Modules } from "@medusajs/framework/utils" import { HELLO_MODULE } from "../../modules/hello" @@ -521,15 +521,12 @@ export type UpdateCustomFromCustomerStepInput = { export const updateCustomFromCustomerWorkflow = createWorkflow( "update-custom-from-customer", (input: UpdateCustomFromCustomerStepInput) => { - const customerData = useRemoteQueryStep({ - entry_point: "customer", + const { data: customers } = useQueryGraphStep({ + entity: "customer", fields: ["custom.*"], - variables: { - filters: { - id: input.customer.id, - }, - }, - list: false, + filters: { + id: input.customer.id, + } }) // TODO create, update, or delete Custom record @@ -546,9 +543,9 @@ Next, replace the `TODO` with the following: ```ts title="src/workflows/update-custom-from-customer/index.ts" const created = when({ input, - customerData, + customers, }, (data) => - !data.customerData.custom && + !data.customers[0].custom && data.input.additional_data?.custom_name?.length > 0 ) .then(() => { @@ -580,25 +577,25 @@ Next, replace the new `TODO` with the following: ```ts title="src/workflows/update-custom-from-customer/index.ts" const deleted = when({ input, - customerData, + customers, }, (data) => - data.customerData.custom && ( + data.customers[0].custom && ( data.input.additional_data?.custom_name === null || data.input.additional_data?.custom_name.length === 0 ) ) .then(() => { deleteCustomStep({ - custom: customerData.custom, + custom: customers[0].custom, }) dismissRemoteLinkStep({ [HELLO_MODULE]: { - custom_id: customerData.custom.id, + custom_id: customers[0].custom.id, }, }) - return customerData.custom.id + return customers[0].custom.id }) // TODO delete Custom record @@ -611,11 +608,11 @@ Finally, replace the new `TODO` with the following: ```ts title="src/workflows/update-custom-from-customer/index.ts" const updated = when({ input, - customerData, -}, (data) => data.customerData.custom && data.input.additional_data?.custom_name?.length > 0) + customers, +}, (data) => data.customers[0].custom && data.input.additional_data?.custom_name?.length > 0) .then(() => { const custom = updateCustomStep({ - id: customerData.custom.id, + id: customers[0].custom.id, custom_name: input.additional_data.custom_name, }) diff --git a/www/apps/resources/app/commerce-modules/fulfillment/module-options/page.mdx b/www/apps/resources/app/commerce-modules/fulfillment/module-options/page.mdx index b79e8b529be06..12108594ad1ef 100644 --- a/www/apps/resources/app/commerce-modules/fulfillment/module-options/page.mdx +++ b/www/apps/resources/app/commerce-modules/fulfillment/module-options/page.mdx @@ -42,7 +42,7 @@ module.exports = defineConfig({ ], }, }, - ] + ], }) ``` diff --git a/www/apps/resources/app/commerce-modules/payment/module-options/page.mdx b/www/apps/resources/app/commerce-modules/payment/module-options/page.mdx index 16c0448f14ba5..f06a9abedcce0 100644 --- a/www/apps/resources/app/commerce-modules/payment/module-options/page.mdx +++ b/www/apps/resources/app/commerce-modules/payment/module-options/page.mdx @@ -125,7 +125,7 @@ module.exports = defineConfig({ ], }, }, - ] + ], }) ``` diff --git a/www/apps/resources/app/commerce-modules/payment/payment-flow/page.mdx b/www/apps/resources/app/commerce-modules/payment/payment-flow/page.mdx index 3cd8eff6a43c4..93f5cc3807a77 100644 --- a/www/apps/resources/app/commerce-modules/payment/payment-flow/page.mdx +++ b/www/apps/resources/app/commerce-modules/payment/payment-flow/page.mdx @@ -44,7 +44,7 @@ Then, create a link between the payment collection and the resource it's storing ```ts import { ContainerRegistrationKeys, - Modules + Modules, } from "@medusajs/framework/utils" // ... @@ -56,11 +56,11 @@ const remoteLink = container.resolve( remoteLink.create({ [Modules.CART]: { - cart_id: "cart_123" + cart_id: "cart_123", }, [Modules.PAYMENT]: { - payment_collection_id: paymentCollection.id - } + payment_collection_id: paymentCollection.id, + }, }) ``` diff --git a/www/apps/resources/app/commerce-modules/payment/payment-provider/stripe/page.mdx b/www/apps/resources/app/commerce-modules/payment/payment-provider/stripe/page.mdx index c7ecf2ff298d1..fae08ff3601e7 100644 --- a/www/apps/resources/app/commerce-modules/payment/payment-provider/stripe/page.mdx +++ b/www/apps/resources/app/commerce-modules/payment/payment-provider/stripe/page.mdx @@ -53,7 +53,7 @@ module.exports = defineConfig({ ], }, }, - ] + ], }) ``` diff --git a/www/apps/resources/app/commerce-modules/product/extend/page.mdx b/www/apps/resources/app/commerce-modules/product/extend/page.mdx index 53da450d2fd66..cac8d545f7157 100644 --- a/www/apps/resources/app/commerce-modules/product/extend/page.mdx +++ b/www/apps/resources/app/commerce-modules/product/extend/page.mdx @@ -68,13 +68,13 @@ Learn more about module links in [this guide](!docs!/module-links). Create the file `src/links/product-custom.ts` with the following content: ```ts title="src/links/product-custom.ts" -import { defineLink } from "@medusajs/framework/utils"; +import { defineLink } from "@medusajs/framework/utils" import HelloModule from "../modules/hello" import ProductModule from "@medusajs/medusa/product" export default defineLink( ProductModule.linkable.product, - HelloModule.linkable.custom, + HelloModule.linkable.custom ) ``` @@ -234,29 +234,29 @@ export const createCustomFromProductWorkflow = createWorkflow( (input: CreateCustomFromProductWorkflowInput) => { const customName = transform( { - input + input, }, (data) => data.input.additional_data.custom_name || "" ) const custom = createCustomStep({ - custom_name: customName + custom_name: customName, }) when(({ custom }), ({ custom }) => custom !== undefined) .then(() => { createRemoteLinkStep([{ [Modules.PRODUCT]: { - product_id: input.product.id + product_id: input.product.id, }, [HELLO_MODULE]: { - custom_id: custom.id - } + custom_id: custom.id, + }, }]) }) return new WorkflowResponse({ - custom + custom, }) } ) @@ -282,19 +282,19 @@ To consume the hook, create the file `src/workflow/hooks/product-created.ts` wit import { createProductsWorkflow } from "@medusajs/medusa/core-flows" import { createCustomFromProductWorkflow, - CreateCustomFromProductWorkflowInput + CreateCustomFromProductWorkflowInput, } from "../create-custom-from-product" createProductsWorkflow.hooks.productsCreated( async ({ products, additional_data }, { container }) => { const workflow = createCustomFromProductWorkflow(container) - for (let product of products) { + for (const product of products) { await workflow.run({ input: { product, - additional_data - } as CreateCustomFromProductWorkflowInput + additional_data, + } as CreateCustomFromProductWorkflowInput, }) } } @@ -510,7 +510,7 @@ Finally, you'll create the workflow. Create the file `src/workflows/update-custo ```ts title="src/workflows/update-custom-from-product/index.ts" collapsibleLines="1-9" expandButtonLabel="Show Imports" import { ProductDTO } from "@medusajs/framework/types" import { createWorkflow, when, WorkflowResponse } from "@medusajs/framework/workflows-sdk" -import { createRemoteLinkStep, dismissRemoteLinkStep, useRemoteQueryStep } from "@medusajs/medusa/core-flows" +import { createRemoteLinkStep, dismissRemoteLinkStep, useQueryGraphStep } from "@medusajs/medusa/core-flows" import { createCustomStep } from "../create-custom-from-cart/steps/create-custom" import { Modules } from "@medusajs/framework/utils" import { HELLO_MODULE } from "../../modules/hello" @@ -527,15 +527,12 @@ export type UpdateCustomFromProductStepInput = { export const updateCustomFromProductWorkflow = createWorkflow( "update-custom-from-product", (input: UpdateCustomFromProductStepInput) => { - const productData = useRemoteQueryStep({ - entry_point: "product", + const { data: products } = useQueryGraphStep({ + entity: "product", fields: ["custom.*"], - variables: { - filters: { - id: input.product.id - } - }, - list: false + filters: { + id: input.product.id, + } }) // TODO create, update, or delete Custom record @@ -552,23 +549,23 @@ Next, replace the `TODO` with the following: ```ts title="src/workflows/update-custom-from-product/index.ts" const created = when({ input, - productData + products }, (data) => - !data.productData.custom && + !data.products[0].custom && data.input.additional_data?.custom_name?.length > 0 ) .then(() => { const custom = createCustomStep({ - custom_name: input.additional_data.custom_name + custom_name: input.additional_data.custom_name, }) createRemoteLinkStep([{ [Modules.PRODUCT]: { - product_id: input.product.id + product_id: input.product.id, }, [HELLO_MODULE]: { - custom_id: custom.id - } + custom_id: custom.id, + }, }]) return custom @@ -586,25 +583,25 @@ Next, replace the new `TODO` with the following: ```ts title="src/workflows/update-custom-from-product/index.ts" const deleted = when({ input, - productData + products }, (data) => - data.productData.custom && ( + data.products[0].custom && ( data.input.additional_data?.custom_name === null || data.input.additional_data?.custom_name.length === 0 ) ) .then(() => { deleteCustomStep({ - custom: productData.custom + custom: products[0].custom }) dismissRemoteLinkStep({ [HELLO_MODULE]: { - custom_id: productData.custom.id + custom_id: products[0].custom.id } }) - return productData.custom.id + return products[0].custom.id }) // TODO delete Custom record @@ -617,11 +614,11 @@ Finally, replace the new `TODO` with the following: ```ts title="src/workflows/update-custom-from-product/index.ts" const updated = when({ input, - productData -}, (data) => data.productData.custom && data.input.additional_data?.custom_name?.length > 0) + products +}, (data) => data.products[0].custom && data.input.additional_data?.custom_name?.length > 0) .then(() => { const custom = updateCustomStep({ - id: productData.custom.id, + id: products[0].custom.id, custom_name: input.additional_data.custom_name }) @@ -631,7 +628,7 @@ const updated = when({ return new WorkflowResponse({ created, updated, - deleted + deleted, }) ``` @@ -649,19 +646,19 @@ Create the file `src/workflows/hooks/product-updated.ts` with the following cont import { updateProductsWorkflow } from "@medusajs/medusa/core-flows" import { UpdateCustomFromProductStepInput, - updateCustomFromProductWorkflow + updateCustomFromProductWorkflow, } from "../update-custom-from-product" updateProductsWorkflow.hooks.productsUpdated( async ({ products, additional_data }, { container }) => { const workflow = updateCustomFromProductWorkflow(container) - for (let product of products) { + for (const product of products) { await workflow.run({ input: { product, - additional_data - } as UpdateCustomFromProductStepInput + additional_data, + } as UpdateCustomFromProductStepInput, }) } } diff --git a/www/apps/resources/app/commerce-modules/promotion/extend/page.mdx b/www/apps/resources/app/commerce-modules/promotion/extend/page.mdx index 85a81136e3839..64134f5909c14 100644 --- a/www/apps/resources/app/commerce-modules/promotion/extend/page.mdx +++ b/www/apps/resources/app/commerce-modules/promotion/extend/page.mdx @@ -68,13 +68,13 @@ Learn more about module links in [this guide](!docs!/module-links). Create the file `src/links/promotion-custom.ts` with the following content: ```ts title="src/links/promotion-custom.ts" -import { defineLink } from "@medusajs/framework/utils"; +import { defineLink } from "@medusajs/framework/utils" import HelloModule from "../modules/hello" import PromotionModule from "@medusajs/medusa/promotion" export default defineLink( PromotionModule.linkable.promotion, - HelloModule.linkable.custom, + HelloModule.linkable.custom ) ``` @@ -234,29 +234,29 @@ export const createCustomFromPromotionWorkflow = createWorkflow( (input: CreateCustomFromPromotionWorkflowInput) => { const customName = transform( { - input + input, }, (data) => data.input.additional_data.custom_name || "" ) const custom = createCustomStep({ - custom_name: customName + custom_name: customName, }) when(({ custom }), ({ custom }) => custom !== undefined) .then(() => { createRemoteLinkStep([{ [Modules.PROMOTION]: { - promotion_id: input.promotion.id + promotion_id: input.promotion.id, }, [HELLO_MODULE]: { - custom_id: custom.id - } + custom_id: custom.id, + }, }]) }) return new WorkflowResponse({ - custom + custom, }) } ) @@ -282,19 +282,19 @@ To consume the hook, create the file `src/workflow/hooks/promotion-created.ts` w import { createPromotionsWorkflow } from "@medusajs/medusa/core-flows" import { createCustomFromPromotionWorkflow, - CreateCustomFromPromotionWorkflowInput + CreateCustomFromPromotionWorkflowInput, } from "../create-custom-from-promotion" createPromotionsWorkflow.hooks.promotionsCreated( async ({ promotions, additional_data }, { container }) => { const workflow = createCustomFromPromotionWorkflow(container) - for (let promotion of promotions) { + for (const promotion of promotions) { await workflow.run({ input: { promotion, - additional_data - } as CreateCustomFromPromotionWorkflowInput + additional_data, + } as CreateCustomFromPromotionWorkflowInput, }) } } @@ -516,7 +516,7 @@ Finally, you'll create the workflow. Create the file `src/workflows/update-custo ```ts title="src/workflows/update-custom-from-promotion/index.ts" collapsibleLines="1-9" expandButtonLabel="Show Imports" import { PromotionDTO } from "@medusajs/framework/types" import { createWorkflow, when, WorkflowResponse } from "@medusajs/framework/workflows-sdk" -import { createRemoteLinkStep, dismissRemoteLinkStep, useRemoteQueryStep } from "@medusajs/medusa/core-flows" +import { createRemoteLinkStep, dismissRemoteLinkStep, useQueryGraphStep } from "@medusajs/medusa/core-flows" import { createCustomStep } from "../create-custom-from-cart/steps/create-custom" import { Modules } from "@medusajs/framework/utils" import { HELLO_MODULE } from "../../modules/hello" @@ -533,15 +533,12 @@ export type UpdateCustomFromPromotionStepInput = { export const updateCustomFromPromotionWorkflow = createWorkflow( "update-custom-from-promotion", (input: UpdateCustomFromPromotionStepInput) => { - const promotionData = useRemoteQueryStep({ - entry_point: "promotion", + const { data: promotions } = useQueryGraphStep({ + entity: "promotion", fields: ["custom.*"], - variables: { - filters: { - id: input.promotion.id - } - }, - list: false + filters: { + id: input.promotion.id, + } }) // TODO create, update, or delete Custom record @@ -558,23 +555,23 @@ Next, replace the `TODO` with the following: ```ts title="src/workflows/update-custom-from-promotion/index.ts" const created = when({ input, - promotionData + promotions }, (data) => - !data.promotionData.custom && + !data.promotions[0].custom && data.input.additional_data?.custom_name?.length > 0 ) .then(() => { const custom = createCustomStep({ - custom_name: input.additional_data.custom_name + custom_name: input.additional_data.custom_name, }) createRemoteLinkStep([{ [Modules.PROMOTION]: { - promotion_id: input.promotion.id + promotion_id: input.promotion.id, }, [HELLO_MODULE]: { - custom_id: custom.id - } + custom_id: custom.id, + }, }]) return custom @@ -592,25 +589,25 @@ Next, replace the new `TODO` with the following: ```ts title="src/workflows/update-custom-from-promotion/index.ts" const deleted = when({ input, - promotionData + promotions }, (data) => - data.promotionData.custom && ( + data.promotions[0].custom && ( data.input.additional_data?.custom_name === null || data.input.additional_data?.custom_name.length === 0 ) ) .then(() => { deleteCustomStep({ - custom: promotionData.custom + custom: promotions[0].custom }) dismissRemoteLinkStep({ [HELLO_MODULE]: { - custom_id: promotionData.custom.id + custom_id: promotions[0].custom.id } }) - return promotionData.custom.id + return promotions[0].custom.id }) // TODO delete Custom record @@ -623,11 +620,11 @@ Finally, replace the new `TODO` with the following: ```ts title="src/workflows/update-custom-from-promotion/index.ts" const updated = when({ input, - promotionData -}, (data) => data.promotionData.custom && data.input.additional_data?.custom_name?.length > 0) + promotions +}, (data) => data.promotions[0].custom && data.input.additional_data?.custom_name?.length > 0) .then(() => { const custom = updateCustomStep({ - id: promotionData.custom.id, + id: promotions[0].custom.id, custom_name: input.additional_data.custom_name }) @@ -637,7 +634,7 @@ const updated = when({ return new WorkflowResponse({ created, updated, - deleted + deleted, }) ``` @@ -655,19 +652,19 @@ Create the file `src/workflows/hooks/promotion-updated.ts` with the following co import { updatePromotionsWorkflow } from "@medusajs/medusa/core-flows" import { UpdateCustomFromPromotionStepInput, - updateCustomFromPromotionWorkflow + updateCustomFromPromotionWorkflow, } from "../update-custom-from-promotion" updatePromotionsWorkflow.hooks.promotionsUpdated( async ({ promotions, additional_data }, { container }) => { const workflow = updateCustomFromPromotionWorkflow(container) - for (let promotion of promotions) { + for (const promotion of promotions) { await workflow.run({ input: { promotion, - additional_data - } as UpdateCustomFromPromotionStepInput + additional_data, + } as UpdateCustomFromPromotionStepInput, }) } } diff --git a/www/apps/resources/app/commerce-modules/tax/module-options/page.mdx b/www/apps/resources/app/commerce-modules/tax/module-options/page.mdx index a820d993f1e7c..77722c9bdbaea 100644 --- a/www/apps/resources/app/commerce-modules/tax/module-options/page.mdx +++ b/www/apps/resources/app/commerce-modules/tax/module-options/page.mdx @@ -40,7 +40,7 @@ module.exports = defineConfig({ ], }, }, - ] + ], }) ``` diff --git a/www/apps/resources/app/commerce-modules/user/module-options/page.mdx b/www/apps/resources/app/commerce-modules/user/module-options/page.mdx index cbb218f53ce8c..bbf8ff243a5ba 100644 --- a/www/apps/resources/app/commerce-modules/user/module-options/page.mdx +++ b/www/apps/resources/app/commerce-modules/user/module-options/page.mdx @@ -28,7 +28,7 @@ module.exports = defineConfig({ jwt_secret: process.env.JWT_SECRET, }, }, - ] + ], }) ``` diff --git a/www/apps/resources/app/contribution-guidelines/_admin-translations/page.mdx b/www/apps/resources/app/contribution-guidelines/_admin-translations/page.mdx deleted file mode 100644 index 5f53281f25455..0000000000000 --- a/www/apps/resources/app/contribution-guidelines/_admin-translations/page.mdx +++ /dev/null @@ -1,49 +0,0 @@ -export const metadata = { - title: `Contribute by Translating Admins`, -} - -# {metadata.title} - -The Medusa Admin supports multiple languages, with the default being English. We highly appreciate your contribution by translation to other languages you're fluent with, as it ensures a wider support of languages. - -This type of contribution is a no-code contribution, meaning you don't need advanced technical skills to contribute. - ---- - -## How to Contribute Translation - -1. Clone the [Medusa monorepository](https://github.com/medusajs/medusa) to your local machine: - -```bash -git clone https://github.com/medusajs/medusa.git -``` - -If you already have it cloned, make sure to pull the latest changes from the `develop` branch. - -2. Create a branch that'll be used to open the pull request later: - -```bash -git check -b feat/translate- -``` - -Where `` is your language name. For example, `feat/translate-da`. - -3. Create a new directory under `packages/admin-ui/ui/public/locales` with its name being the [ISO 2 character code](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes) of your language. For example, `da`. In the new directory, create the file `translation.json`. - -4. Copy the content of the English translation file located at `packages/admin-ui/ui/public/locales/en/translation.json` and paste it in your new `translation.json` file. - -5. In the file, leave the key names as-is, and only translate the values. - -7. In the file `packages/admin-ui/ui/src/i18n/index.ts`, add the new language to the `supportedLanguages` array as an object. The object accepts two properties: `locale` for the ISO 2 character code, and `name` for the name of the language. The name of the language should be the translated name, not the English name. For example: - -```ts title="packages/admin-ui/ui/src/i18n/index.ts" -export const supportedLanguages = [ - // other languages... - { - locale: "da", - name: "Dansk", - }, -] -``` - -8. Once you're done, push the changes into your branch and open a pull request on GitHub. diff --git a/www/apps/resources/app/contribution-guidelines/admin-translations/page.mdx b/www/apps/resources/app/contribution-guidelines/admin-translations/page.mdx new file mode 100644 index 0000000000000..f207ba836df9f --- /dev/null +++ b/www/apps/resources/app/contribution-guidelines/admin-translations/page.mdx @@ -0,0 +1,107 @@ +export const metadata = { + title: `Translate Medusa Admin`, +} + +# {metadata.title} + +The Medusa Admin supports multiple languages, with the default being English. In this documentation, you'll learn how to contribute to the community by translating the Medusa Admin to a language you're fluent in. + +{/* vale docs.We = NO */} + +You can contribute either by translating the admin to a new language, or fixing translations for existing languages. As we can't validate every language's translations, some translations may be incorrect. Your contribution is welcome to fix any translation errors you find. + +{/* vale docs.We = YES */} + + + +Check out the translated languages either in the admin dashboard's settings or on [GitHub](https://github.com/medusajs/medusa/blob/develop/packages/admin/dashboard/src/i18n/languages.ts). + + + +--- + +## How to Contribute Translation + +1. Clone the [Medusa monorepository](https://github.com/medusajs/medusa) to your local machine: + +```bash +git clone https://github.com/medusajs/medusa.git +``` + +If you already have it cloned, make sure to pull the latest changes from the `develop` branch. + +2. Install the monorepository's dependencies. Since it's a Yarn workspace, it's highly recommended to use yarn: + +```bash +yarn install +``` + +3. Create a branch that you'll use to open the pull request later: + +```bash +git check -b feat/translate- +``` + +Where `` is your language name. For example, `feat/translate-da`. + +4. Translation files are under `packages/admin/dashboard/src/i18n/translations` as JSON files whose names are the ISO-2 name of the language. + - If you're adding a new language, copy the file `packages/admin/dashboard/src/i18n/translations/en.json` and paste it with the ISO-2 name for your language. For example, if you're adding Danish translations, copy the `en.json` file and paste it as `packages/admin/dashboard/src/i18n/translations/de.json`. + - If you're fixing a translation, find the JSON file of the language under `packages/admin/dashboard/src/i18n/translations`. + +5. Start translating the keys in the JSON file (or updating the targeted ones). All keys in the JSON file must be translated, and your PR tests will fail otherwise. + - You can check whether the JSON file is valid by running the following command in `packages/admin/dashboard`, replacing `da.json` with the JSON file's name: + +```bash title="packages/admin/dashboard" +yarn i18n:validate da.json +``` + +6. After finishing the translation, if you're adding a new language, import its JSON file in `packages/admin/dashboard/src/i18n/translations/index.ts` and add it to the exported object: + +```ts title="packages/admin/dashboard/src/i18n/translations/index.ts" highlights={[["2"], ["6"], ["7"], ["8"]]} +// other imports... +import da from "./da.json" + +export default { + // other languages... + da: { + translation: da, + }, +} +``` + +The language's key in the object is the ISO-2 name of the language. + +7. If you're adding a new language, add it to the file `packages/admin/dashboard/src/i18n/languages.ts`: + +export const languageHighlights = [ + ["7", "code", "The ISO-2 name of the language."], + ["8", "display_name", "The language's name to be displayed in the admin."], + ["9", "ltr", "Whether the language supports a left-to-right layout."], + ["10", "date_locale", "An instance of the locale imported from the [date-fns/locale](https://date-fns.org/) package."] +] + +```ts title="packages/admin/dashboard/src/i18n/languages.ts" highlights={languageHighlights} +import { da } from "date-fns/locale" +// other imports... + +export const languages: Language[] = [ + // other languages... + { + code: "da", + display_name: "Danish", + ltr: true, + date_locale: da + } +] +``` + +`languages` is an array having the following properties: + +- `code`: The ISO-2 name of the language. For example, `da` for Danish. +- `display_name`: The language's name to be displayed in the admin. +- `ltr`: Whether the language supports a left-to-right layout. For example, set this to `false` for languages like Arabic. +- `date_locale`: An instance of the locale imported from the [date-fns/locale](https://date-fns.org/) package. + +8. Once you're done, push the changes into your branch and open a pull request on GitHub. + +Our team will perform a general review on your PR and merge it if no issues are found. The translation will be available in the admin after the next release. diff --git a/www/apps/resources/app/deployment/medusa-application/railway/page.mdx b/www/apps/resources/app/deployment/medusa-application/railway/page.mdx index 744c29ec8b5e0..16e6c220ccdad 100644 --- a/www/apps/resources/app/deployment/medusa-application/railway/page.mdx +++ b/www/apps/resources/app/deployment/medusa-application/railway/page.mdx @@ -2,7 +2,7 @@ sidebar_label: "Railway" --- -import { Prerequisites, DetailsList } from "docs-ui" +import { Prerequisites } from "docs-ui" export const metadata = { title: `Deploy Medusa Application to Railway`, @@ -82,6 +82,14 @@ Later, you’ll set different values of the `DISABLE_MEDUSA_ADMIN` environment v ### Configure Redis URL +The `redisUrl` configuration specifies the connection URL to Redis to store the Medusa server's session. + + + +Learn more in the [Medusa Configuration documentation](/references/medusa-config#redisurl). + + + Add the following configuration in `medusa-config.ts` : ```ts title="medusa-config.ts" @@ -150,7 +158,7 @@ module.exports = defineConfig({ }, }, }, - ] + ], }) ``` diff --git a/www/apps/resources/app/deployment/storefront/vercel/page.mdx b/www/apps/resources/app/deployment/storefront/vercel/page.mdx index 790310b438532..43304af4f31b0 100644 --- a/www/apps/resources/app/deployment/storefront/vercel/page.mdx +++ b/www/apps/resources/app/deployment/storefront/vercel/page.mdx @@ -5,7 +5,7 @@ sidebar_label: "Vercel" import { Prerequisites } from "docs-ui" export const metadata = { - title: `Deploy Medusa Admin to Vercel`, + title: `Deploy Medusa Next.js to Vercel`, } # {metadata.title} diff --git a/www/apps/resources/app/examples/page.mdx b/www/apps/resources/app/examples/page.mdx index 4ccda8d90c49c..0c342195a3863 100644 --- a/www/apps/resources/app/examples/page.mdx +++ b/www/apps/resources/app/examples/page.mdx @@ -454,7 +454,7 @@ export default defineMiddlewares({ authenticate( "user", ["session", "bearer", "api-key"] - ) + ), ], }, ], @@ -480,7 +480,7 @@ export default defineMiddlewares({ { matcher: "/custom/customer*", middlewares: [ - authenticate("customer", ["session", "bearer"]) + authenticate("customer", ["session", "bearer"]), ], }, ], @@ -676,8 +676,8 @@ export default defineMiddlewares({ matcher: "/webhooks/*", bodyParser: { preserveRawBody: true }, method: ["POST"], - } - ] + }, + ], }) ``` @@ -762,8 +762,8 @@ module.exports = defineConfig({ modules: [ { resolve: "./modules/hello", - } - ] + }, + ], }) ``` @@ -790,11 +790,11 @@ export async function GET( ) const my_custom = await helloModuleService.createMyCustoms({ - name: "test" + name: "test", }) res.json({ - my_custom + my_custom, }) } ``` @@ -863,7 +863,7 @@ module.exports = defineConfig({ apiKey: true, }, }, - ] + ], }) ``` @@ -2043,7 +2043,7 @@ export const GET = async ( my_customs: myCustoms, count, take, - skip + skip, }) } ``` @@ -2915,7 +2915,7 @@ import { LoaderOptions, } from "@medusajs/framework/types" import { - ContainerRegistrationKeys + ContainerRegistrationKeys, } from "@medusajs/framework/utils" export default async function helloWorldLoader({ @@ -2972,7 +2972,7 @@ export default async function helloWorldLoader({ container.registerAdd( "custom_data", asValue({ - test: true + test: true, }) ) } @@ -3690,7 +3690,7 @@ To accept payment using the Payment Module's main service: ```ts import { ContainerRegistrationKeys, - Modules + Modules, } from "@medusajs/framework/utils" // ... @@ -3710,11 +3710,11 @@ const remoteLink = container.resolve( // create a link between the cart and payment collection remoteLink.create({ [Modules.CART]: { - cart_id: "cart_123" + cart_id: "cart_123", }, [Modules.PAYMENT]: { - payment_collection_id: paymentCollection.id - } + payment_collection_id: paymentCollection.id, + }, }) ``` @@ -3814,7 +3814,7 @@ import { } from "@medusajs/framework/types" import { QueryContext, - calculateAmountsWithTax + calculateAmountsWithTax, } from "@medusajs/framework/utils" // other imports... diff --git a/www/apps/resources/app/js-sdk/page.mdx b/www/apps/resources/app/js-sdk/page.mdx index a03d809b0bf74..f9addad25a10a 100644 --- a/www/apps/resources/app/js-sdk/page.mdx +++ b/www/apps/resources/app/js-sdk/page.mdx @@ -296,7 +296,7 @@ import { DetailWidgetProps, HttpTypes } from "@medusajs/framework/types" const ProductWidget = () => { const { data, isLoading } = useQuery({ queryFn: () => sdk.admin.product.list(), - queryKey: ["products"] + queryKey: ["products"], }) return ( @@ -331,17 +331,17 @@ import { sdk } from "../lib/config" import { DetailWidgetProps, HttpTypes } from "@medusajs/framework/types" const ProductWidget = ({ - data: productData + data: productData, }: DetailWidgetProps) => { const { mutateAsync } = useMutation({ mutationFn: (payload: HttpTypes.AdminUpdateProduct) => sdk.admin.product.update(productData.id, payload), - onSuccess: () => alert("updated product") + onSuccess: () => alert("updated product"), }) const handleUpdate = () => { mutateAsync({ - title: "New Product Title" + title: "New Product Title", }) } @@ -375,8 +375,8 @@ For example: ```ts highlights={[["2", "next"], ["3", "tags", "An array of tags to cache the data under."]]} sdk.store.product.list({}, { next: { - tags: ["products"] - } + tags: ["products"], + }, }) ``` @@ -385,7 +385,7 @@ The `tags` property accepts an array of tags that the data is cached under. Then, to purge the cache later, use Next.js's `revalidateTag` utility: ```ts -import { revalidateTag } from "next/cache"; +import { revalidateTag } from "next/cache" // ... diff --git a/www/apps/resources/app/medusa-cli/commands/build/page.mdx b/www/apps/resources/app/medusa-cli/commands/build/page.mdx index 14848f481d551..b82b60ad393e7 100644 --- a/www/apps/resources/app/medusa-cli/commands/build/page.mdx +++ b/www/apps/resources/app/medusa-cli/commands/build/page.mdx @@ -66,7 +66,13 @@ cd .medusa/server && npm install - When running the application locally, make sure to copy the `.env` file from the root project's directory. In production, use system environment variables instead. ```bash npm2yarn -cp .env .medusa/server +cp .env .medusa/server/.env.production +``` + +- In the system environment variables, set `NODE_ENV` to `production`: + +```bash +NODE_ENV=production ``` - Use the `start` command to run the application: diff --git a/www/apps/resources/app/recipes/commerce-automation/page.mdx b/www/apps/resources/app/recipes/commerce-automation/page.mdx index f8a48087ef61f..d70a02d68a58b 100644 --- a/www/apps/resources/app/recipes/commerce-automation/page.mdx +++ b/www/apps/resources/app/recipes/commerce-automation/page.mdx @@ -159,7 +159,7 @@ export const restockModelHighlights = [ { resolve: "./src/modules/restock-notification", }, - ] + ], }) ``` diff --git a/www/apps/resources/app/recipes/digital-products/examples/standard/page.mdx b/www/apps/resources/app/recipes/digital-products/examples/standard/page.mdx index 9daf3d52c349a..dc99e181672d8 100644 --- a/www/apps/resources/app/recipes/digital-products/examples/standard/page.mdx +++ b/www/apps/resources/app/recipes/digital-products/examples/standard/page.mdx @@ -202,7 +202,7 @@ module.exports = defineConfig({ { resolve: "./src/modules/digital-product", }, - ] + ], }) ``` @@ -1455,6 +1455,7 @@ Then, create the file `src/modules/digital-product-fulfillment/service.ts` with ```ts title="src/modules/digital-product-fulfillment/service.ts" import { AbstractFulfillmentProviderService } from "@medusajs/framework/utils" +import { FulfillmentOption } from "@medusajs/framework/types" class DigitalProductFulfillmentService extends AbstractFulfillmentProviderService { static identifier = "digital" @@ -1545,7 +1546,7 @@ module.exports = defineConfig({ ], }, }, - ] + ], }) ``` @@ -1567,8 +1568,8 @@ To customize the cart completion flow, you’ll create a workflow and then use t ```mermaid graph TD - completeCartWorkflow["completeCartWorkflow (Medusa)"] --> useRemoteQueryStep["useRemoteQueryStep (Medusa)"] - useRemoteQueryStep --> when{order has digital products?} + completeCartWorkflow["completeCartWorkflow (Medusa)"] --> useQueryGraphStep["useQueryGraphStep (Medusa)"] + useQueryGraphStep --> when{order has digital products?} when -->|Yes| createDigitalProductOrderStep createDigitalProductOrderStep --> createRemoteLinkStep["createRemoteLinkStep (Medusa)"] createRemoteLinkStep --> createOrderFulfillmentWorkflow["createOrderFulfillmentWorkflow (Medusa)"] @@ -1580,7 +1581,7 @@ graph TD The workflow has the following steps: 1. `completeCartWorkflow` to create a Medusa order from the cart. Medusa provides this workflow through the `@medusajs/medusa/core-flows` package and you can use it as a step. -2. `useRemoteQueryStep` to retrieve the order’s items with the digital products associated with the purchased product variants. Medusa provides this step through the `@medusajs/medusa/core-flows` package. +2. `useQueryGraphStep` to retrieve the order’s items with the digital products associated with the purchased product variants. Medusa provides this step through the `@medusajs/medusa/core-flows` package. 3. If the order has digital products, you: 1. create the digital product order. 2. link the digital product order with the Medusa order. Medusa provides a `createRemoteLinkStep` in the `@medusajs/medusa/core-flows` package that can be used here. @@ -1665,14 +1666,14 @@ In the compensation function, you delete the digital product order. Create the file `src/workflows/create-digital-product-order/index.ts` with the following content: export const createDpoWorkflowHighlights = [ - ["25", "completeCartWorkflow", "Create an order for the cart."], - ["31", "useRemoteQueryStep", "Retrieve the order's items and their associated variants and linked digital products."], - ["56", "when", "Check whether the order has any digital products."], - ["61", "then", "Perform the callback function if an order has digital products."], - ["64", "createDigitalProductOrderStep", "Create the digital product order."], - ["66", "createRemoteLinkStep", "Link the digital product order to the Medusa order."], - ["75", "createOrderFulfillmentWorkflow", "Create a fulfillment for the digital products in the order."], - ["89", "emitEventStep", "Emit the `digital_product_order.created` event."] + ["27", "completeCartWorkflow", "Create an order for the cart."], + ["33", "useQueryGraphStep", "Retrieve the order's items and their associated variants and linked digital products."], + ["57", "when", "Check whether the order has any digital products."], + ["60", "then", "Perform the callback function if an order has digital products."], + ["63", "createDigitalProductOrderStep", "Create the digital product order."], + ["67", "createRemoteLinkStep", "Link the digital product order to the Medusa order."], + ["76", "createOrderFulfillmentWorkflow", "Create a fulfillment for the digital products in the order."], + ["90", "emitEventStep", "Emit the `digital_product_order.created` event."] ] ```ts title="src/workflows/create-digital-product-order/index.ts" highlights={createDpoWorkflowHighlights} collapsibleLines="1-17" expandMoreLabel="Show Imports" @@ -1680,16 +1681,18 @@ import { createWorkflow, transform, when, - WorkflowResponse, + WorkflowResponse } from "@medusajs/framework/workflows-sdk" import { completeCartWorkflow, - useRemoteQueryStep, + useQueryGraphStep, createRemoteLinkStep, createOrderFulfillmentWorkflow, - emitEventStep, + emitEventStep } from "@medusajs/medusa/core-flows" -import { Modules } from "@medusajs/framework/utils" +import { + Modules +} from "@medusajs/framework/utils" import createDigitalProductOrderStep from "./steps/create-digital-product-order" import { DIGITAL_PRODUCT_MODULE } from "../../modules/digital-product" @@ -1700,35 +1703,34 @@ type WorkflowInput = { const createDigitalProductOrderWorkflow = createWorkflow( "create-digital-product-order", (input: WorkflowInput) => { - const order = completeCartWorkflow.runAsStep({ + const { id } = completeCartWorkflow.runAsStep({ input: { - id: input.cart_id, - }, + id: input.cart_id + } }) - const { items } = useRemoteQueryStep({ - entry_point: "order", + const { data: orders } = useQueryGraphStep({ + entity: "order", fields: [ "*", "items.*", "items.variant.*", - "items.variant.digital_product.*", + "items.variant.digital_product.*" ], - variables: { - filters: { - id: order.id, - }, + filters: { + id }, - throw_if_key_not_found: true, - list: false, + options: { + throwIfKeyNotFound: true + } }) const itemsWithDigitalProducts = transform({ - items, + orders }, (data) => { - return data.items.filter((item) => item.variant.digital_product !== undefined) - } + return data.orders[0].items.filter((item) => item.variant.digital_product !== undefined) + } ) const digital_product_order = when(itemsWithDigitalProducts, (itemsWithDigitalProducts) => { @@ -1737,44 +1739,46 @@ const createDigitalProductOrderWorkflow = createWorkflow( .then(() => { const { digital_product_order, - } = createDigitalProductOrderStep({ items }) + } = createDigitalProductOrderStep({ + items: orders[0].items + }) createRemoteLinkStep([{ [DIGITAL_PRODUCT_MODULE]: { - digital_product_order_id: digital_product_order.id, + digital_product_order_id: digital_product_order.id }, [Modules.ORDER]: { - order_id: order.id, - }, + order_id: id + } }]) createOrderFulfillmentWorkflow.runAsStep({ input: { - order_id: order.id, + order_id: id, items: transform({ - itemsWithDigitalProducts, + itemsWithDigitalProducts }, (data) => { return data.itemsWithDigitalProducts.map((item) => ({ id: item.id, - quantity: item.quantity, + quantity: item.quantity })) - }), - }, + }) + } }) emitEventStep({ eventName: "digital_product_order.created", data: { - id: digital_product_order.id, - }, + id: digital_product_order.id + } }) return digital_product_order }) return new WorkflowResponse({ - order, - digital_product_order, + order: orders[0], + digital_product_order }) } ) @@ -1785,7 +1789,7 @@ export default createDigitalProductOrderWorkflow This creates the workflow `createDigitalProductOrderWorkflow`. It runs the following steps: 1. `completeCartWorkflow` as a step to create the Medusa order. -2. `useRemoteQueryStep` to retrieve the order’s items with their associated variants and linked digital products. +2. `useQueryGraphStep` to retrieve the order’s items with their associated variants and linked digital products. 3. Use `when` to check whether the order has digital products. If so: 1. Use the `createDigitalProductOrderStep` to create the digital product order. 2. Use the `createRemoteLinkStep` to link the digital product order to the Medusa order. @@ -1842,7 +1846,7 @@ In this step, you'll create a workflow that fulfills a digital order by sending The workflow has the following steps: -1. Retrieve the digital product order's details. For this, you'll use the `useRemoteQueryStep` imported from `@medusajs/medusa/core-flows`. +1. Retrieve the digital product order's details. For this, you'll use the `useQueryGraphStep` imported from `@medusajs/medusa/core-flows`. 2. Send a notification to the customer with the digital products to download. So, you only need to implement the second step. @@ -1959,17 +1963,17 @@ You use the `createNotifications` method of the Notification Module's main servi Create the workflow in the file `src/workflows/fulfill-digital-order/index.ts`: export const fulfillWorkflowHighlights = [ - ["17", "useRemoteQueryStep", "Retrieve the digital product order's details."], + ["17", "useQueryGraphStep", "Retrieve the digital product order's details."], ["33", "sendDigitalOrderNotificationStep", "Send a notification to the customer."] ] ```ts title="src/workflows/fulfill-digital-order/index.ts" highlights={fulfillWorkflowHighlights} collapsibleLines="1-10" expandMoreLabel="Show Imports" import { createWorkflow, - WorkflowResponse, + WorkflowResponse } from "@medusajs/framework/workflows-sdk" import { - useRemoteQueryStep, + useQueryGraphStep, } from "@medusajs/medusa/core-flows" import { sendDigitalOrderNotificationStep } from "./steps/send-digital-order-notification" @@ -1980,29 +1984,28 @@ type FulfillDigitalOrderWorkflowInput = { export const fulfillDigitalOrderWorkflow = createWorkflow( "fulfill-digital-order", ({ id }: FulfillDigitalOrderWorkflowInput) => { - const digitalProductOrder = useRemoteQueryStep({ - entry_point: "digital_product_order", + const { data: digitalProductOrders } = useQueryGraphStep({ + entity: "digital_product_order", fields: [ "*", "products.*", "products.medias.*", - "order.*", + "order.*" ], - variables: { - filters: { - id, - }, + filters: { + id, }, - list: false, - throw_if_key_not_found: true, + options: { + throwIfKeyNotFound: true + } }) sendDigitalOrderNotificationStep({ - digital_product_order: digitalProductOrder, + digital_product_order: digitalProductOrders[0] }) return new WorkflowResponse( - digitalProductOrder + digitalProductOrders[0] ) } ) @@ -2010,7 +2013,7 @@ export const fulfillDigitalOrderWorkflow = createWorkflow( In the workflow, you: -1. Retrieve the digital product order's details using the `useRemoteQueryStep` imported from `@medusajs/medusa/core-flows`. +1. Retrieve the digital product order's details using the `useQueryGraphStep` imported from `@medusajs/medusa/core-flows`. 2. Send a notification to the customer with the digital product download links using the `sendDigitalOrderNotificationStep`. ### Configure Notification Module Provider @@ -2041,7 +2044,7 @@ module.exports = defineConfig({ ], }, }, - ] + ], }) ``` diff --git a/www/apps/resources/app/recipes/integrate-ecommerce-stack/page.mdx b/www/apps/resources/app/recipes/integrate-ecommerce-stack/page.mdx index 479f692d6c04e..9f47201ab99b9 100644 --- a/www/apps/resources/app/recipes/integrate-ecommerce-stack/page.mdx +++ b/www/apps/resources/app/recipes/integrate-ecommerce-stack/page.mdx @@ -128,7 +128,7 @@ export const serviceHighlights = [ apiKey: process.env.ERP_API_KEY, }, }, - ] + ], }) ``` diff --git a/www/apps/resources/app/recipes/marketplace/examples/restaurant-delivery/page.mdx b/www/apps/resources/app/recipes/marketplace/examples/restaurant-delivery/page.mdx index 4964ce3332477..4092557e47d92 100644 --- a/www/apps/resources/app/recipes/marketplace/examples/restaurant-delivery/page.mdx +++ b/www/apps/resources/app/recipes/marketplace/examples/restaurant-delivery/page.mdx @@ -168,7 +168,7 @@ module.exports = defineConfig({ { resolve: "./src/modules/restaurant", }, - ] + ], }) ``` @@ -312,7 +312,7 @@ module.exports = defineConfig({ { resolve: "./src/modules/delivery", }, - ] + ], }) ``` @@ -1119,7 +1119,7 @@ import { } from "@medusajs/framework/workflows-sdk" import { setAuthAppMetadataStep, - useRemoteQueryStep, + useQueryGraphStep, } from "@medusajs/medusa/core-flows" import { deleteRestaurantAdminStep } from "../steps/delete-restaurant-admin" @@ -1144,14 +1144,12 @@ So far, you only use the `deleteRestaurantAdminStep` in the workflow, which dele Replace the `TODO` with the following: ```ts title="restaurant-marketplace/src/workflows/restaurant/workflows/delete-restaurant-admin.ts" -const authIdentities = useRemoteQueryStep({ - entry_point: "auth_identity", +const { data: authIdentities } = useQueryGraphStep({ + entity: "auth_identity", fields: ["id"], - variables: { - filters: { - app_metadata: { - restaurant_id: input.id, - }, + filters: { + app_metadata: { + restaurant_id: input.id, }, }, }) diff --git a/www/apps/resources/app/recipes/marketplace/examples/vendors/page.mdx b/www/apps/resources/app/recipes/marketplace/examples/vendors/page.mdx index 748bfc935afa8..7c38022eafd61 100644 --- a/www/apps/resources/app/recipes/marketplace/examples/vendors/page.mdx +++ b/www/apps/resources/app/recipes/marketplace/examples/vendors/page.mdx @@ -148,7 +148,7 @@ module.exports = defineConfig({ { resolve: "./src/modules/marketplace", }, - ] + ], }) ``` @@ -803,14 +803,14 @@ In this step, you’ll create a workflow that’s executed when the customer pla ```mermaid graph TD - retrieveCartStep["Retrieve Cart (useRemoteQueryStep from Medusa)"] --> completeCartWorkflow["completeCartWorkflow (Medusa)"] + retrieveCartStep["Retrieve Cart (useQueryGraphStep from Medusa)"] --> completeCartWorkflow["completeCartWorkflow (Medusa)"] completeCartWorkflow["completeCartWorkflow (Medusa)"] --> groupVendorItemsStep groupVendorItemsStep --> getOrderDetailWorkflow getOrderDetailWorkflow --> createVendorOrdersStep createVendorOrdersStep --> createRemoteLinkStep["Create Links (createRemoteLinkStep from Medusa)"] ``` -1. Retrieve the cart using its ID. Medusa provides a `useRemoteQueryStep` in the `@medusajs/medusa/core-flows` package that you can use. +1. Retrieve the cart using its ID. Medusa provides a `useQueryGraphStep` in the `@medusajs/medusa/core-flows` package that you can use. 2. Create a parent order for the cart and its items. Medusa also has a `completeCartWorkflow` in the `@medusajs/medusa/core-flows` package that you can use as a step. 3. Group the cart items by their product’s associated vendor. 4. Retrieve the order's details using Medusa's `getOrderDetailWorkflow` exported by the `@medusajs/medusa/core-flows` package. @@ -1135,25 +1135,24 @@ The compensation function cancels all child orders received from the step. It us Finally, create the workflow at the file `src/workflows/marketplace/create-vendor-orders/index.ts`: export const createVendorOrdersWorkflowHighlights = [ - ["21", "useRemoteQueryStep", "Retrieve the cart's details."], - ["29", "completeCartWorkflow", "Create the parent order from the cart."], - ["35", "groupVendorItemsStep", "Group the items by their vendor."], - ["42", "createVendorOrdersStep", "Create child orders for each vendor"], - ["47", "createRemoteLinkStep", "Create the links returned by the previous step."] + ["21", "useQueryGraphStep", "Retrieve the cart's details."], + ["30", "completeCartWorkflow", "Create the parent order from the cart."], + ["36", "groupVendorItemsStep", "Group the items by their vendor."], + ["59", "createVendorOrdersStep", "Create child orders for each vendor"], + ["64", "createRemoteLinkStep", "Create the links returned by the previous step."] ] ```ts title="src/workflows/marketplace/create-vendor-orders/index.ts" collapsibleLines="1-13" expandMoreLabel="Show Imports" import { createWorkflow, - WorkflowResponse, + WorkflowResponse } from "@medusajs/framework/workflows-sdk" import { - useRemoteQueryStep, + useQueryGraphStep, createRemoteLinkStep, completeCartWorkflow, - getOrderDetailWorkflow + getOrderDetailWorkflow, } from "@medusajs/medusa/core-flows" -import { CartDTO } from "@medusajs/framework/types" import groupVendorItemsStep from "./steps/group-vendor-items" import createVendorOrdersStep from "./steps/create-vendor-orders" @@ -1164,24 +1163,25 @@ type WorkflowInput = { const createVendorOrdersWorkflow = createWorkflow( "create-vendor-order", (input: WorkflowInput) => { - const cart = useRemoteQueryStep({ - entry_point: "cart", - fields: ["items.*"], - variables: { id: input.cart_id }, - list: false, - throw_if_key_not_found: true, - }) as CartDTO + const { data: carts } = useQueryGraphStep({ + entity: "cart", + fields: ['items.*'], + filters: { id: input.cart_id }, + options: { + throwIfKeyNotFound: true + } + }) const { id: orderId } = completeCartWorkflow.runAsStep({ input: { - id: cart.id + id: carts[0].id } }) const { vendorsItems } = groupVendorItemsStep({ - cart, + cart: carts[0].id }) - + const order = getOrderDetailWorkflow.runAsStep({ input: { order_id: orderId, @@ -1194,23 +1194,23 @@ const createVendorOrdersWorkflow = createWorkflow( "shipping_address.*", "billing_address.*", "shipping_methods.*", - ] - } + ], + }, }) const { orders: vendorOrders, - linkDefs, + linkDefs } = createVendorOrdersStep({ parentOrder: order, - vendorsItems, + vendorsItems }) createRemoteLinkStep(linkDefs) return new WorkflowResponse({ parent_order: order, - vendor_orders: vendorOrders, + vendor_orders: vendorOrders }) } ) @@ -1220,11 +1220,12 @@ export default createVendorOrdersWorkflow In the workflow, you run the following steps: -1. `useRemoteQueryStep` to retrieve the cart's details. +1. `useQueryGraphStep` to retrieve the cart's details. 2. `completeCartWorkflow` to complete the cart and create a parent order. 3. `groupVendorItemsStep` to group the order's items by their vendor. -4. `createVendorOrdersStep` to create child orders for each vendor's items. -5. `createRemoteLinkStep` to create the links returned by the previous step. +4. `getOrderDetailWorkflow` to retrieve an order's details. +5. `createVendorOrdersStep` to create child orders for each vendor's items. +6. `createRemoteLinkStep` to create the links returned by the previous step. You return the parent and vendor orders. diff --git a/www/apps/resources/app/recipes/subscriptions/examples/standard/page.mdx b/www/apps/resources/app/recipes/subscriptions/examples/standard/page.mdx index 84f42e854346b..865549c69a0e6 100644 --- a/www/apps/resources/app/recipes/subscriptions/examples/standard/page.mdx +++ b/www/apps/resources/app/recipes/subscriptions/examples/standard/page.mdx @@ -166,7 +166,7 @@ module.exports = defineConfig({ { resolve: "./src/modules/subscription", }, - ] + ], }) ``` @@ -592,23 +592,23 @@ Create the file `src/workflows/create-subscription/index.ts` with the following export const createSubscriptionWorkflowHighlights = [ ["26", "completeCartWorkflow", "Complete the cart and create the order."], - ["32", "useRemoteQueryStep", "Retrieve the order's details."], - ["44", "createSubscriptionStep", "Create the subscription."], - ["51", "createRemoteLinkStep", "Create the links returned by the previous step."] + ["32", "useQueryGraphStep", "Retrieve the order's details."], + ["43", "createSubscriptionStep", "Create the subscription."], + ["50", "createRemoteLinkStep", "Create the links returned by the previous step."] ] ```ts title="src/workflows/create-subscription/index.ts" highlights={createSubscriptionWorkflowHighlights} collapsibleLines="1-13" expandMoreLabel="Show Imports" import { createWorkflow, - WorkflowResponse, + WorkflowResponse } from "@medusajs/framework/workflows-sdk" import { createRemoteLinkStep, completeCartWorkflow, - useRemoteQueryStep + useQueryGraphStep } from "@medusajs/medusa/core-flows" import { - SubscriptionInterval, + SubscriptionInterval } from "../../modules/subscription/types" import createSubscriptionStep from "./steps/create-subscription" @@ -629,30 +629,29 @@ const createSubscriptionWorkflow = createWorkflow( } }) - const order = useRemoteQueryStep({ - entry_point: "order", + const { data: orders } = useQueryGraphStep({ + entity: "order", fields: ["*", "id", "customer_id"], - variables: { - filters: { - id - } + filters: { + id }, - list: false, - throw_if_key_not_found: true + options: { + throwIfKeyNotFound: true + } }) const { subscription, linkDefs } = createSubscriptionStep({ cart_id: input.cart_id, - order_id: order.id, - customer_id: order.customer_id, - subscription_data: input.subscription_data, + order_id: orders[0].id, + customer_id: orders[0].customer_id, + subscription_data: input.subscription_data }) createRemoteLinkStep(linkDefs) return new WorkflowResponse({ subscription: subscription, - order: order, + order: orders[0] }) } ) @@ -663,7 +662,7 @@ export default createSubscriptionWorkflow This workflow accepts the cart’s ID, along with the subscription details. It executes the following steps: 1. `completeCartWorkflow` from `@medusajs/medusa/core-flows` that completes a cart and creates an order. -2. `useRemoteQueryStep` from `@medusajs/medusa/core-flows` to retrieve the order's details. +2. `useQueryGraphStep` from `@medusajs/medusa/core-flows` to retrieve the order's details. 3. `createSubscriptionStep`, which is the step you created previously. 4. `createRemoteLinkStep` from `@medusajs/medusa/core-flows`, which accepts links to create. These links are in the `linkDefs` array returned by the previous step. @@ -1478,7 +1477,7 @@ The workflow has eight steps: ```mermaid graph TD - useRemoteQueryStep["Retrieve Cart (useRemoteQueryStep by Medusa)"] --> createPaymentCollectionStep["createPaymentCollectionStep (Medusa)"] + useQueryGraphStep["Retrieve Cart (useQueryGraphStep by Medusa)"] --> createPaymentCollectionStep["createPaymentCollectionStep (Medusa)"] createPaymentCollectionStep["createPaymentCollectionStep (Medusa)"] --> createPaymentSessionsWorkflow["createPaymentSessionsWorkflow (Medusa)"] createPaymentSessionsWorkflow["createPaymentSessionsWorkflow (Medusa)"] --> authorizePaymentSessionStep["authorizePaymentSessionStep (Medusa)"] authorizePaymentSessionStep["authorizePaymentSessionStep (Medusa)"] --> createSubscriptionOrderStep @@ -1487,7 +1486,7 @@ graph TD capturePaymentStep["capturePaymentStep (Medusa)"] --> updateSubscriptionStep ``` -1. Retrieve the subscription’s linked cart. Medusa provides a `useRemoteQueryStep` in the `@medusajs/medusa/core-flows` package that can be used as a step. +1. Retrieve the subscription’s linked cart. Medusa provides a `useQueryGraphStep` in the `@medusajs/medusa/core-flows` package that can be used as a step. 2. Create a payment collection for the new order. Medusa provides a `createPaymentCollectionsStep` in the `@medusajs/medusa/core-flows` package that you can use. 3. Create payment sessions in the payment collection. Medusa provides a `createPaymentSessionsWorkflow` in the `@medusajs/medusa/core-flows` package that can be used as a step. 4. Authorize the payment session. Medusa also provides the `authorizePaymentSessionStep` in the `@medusajs/medusa/core-flows` package, which can be used. @@ -1771,38 +1770,30 @@ This updates the subscription’s `last_order_date` and `next_order_date` proper Finally, create the file `src/workflows/create-subscription-order/index.ts` with the following content: export const createSubscriptionOrderWorkflowHighlights = [ - ["33", "useRemoteQueryStep", "Retrieve the cart linked to the subscription."], - ["60", "createPaymentCollectionsStep", "Create a payment collection using the same information in the cart."], - ["67", "createPaymentSessionsWorkflow", "Create a payment session in the payment collection from the previous step."], - ["76", "authorizePaymentSessionStep", "Authorize the payment session created from the first step."], - ["81", "createSubscriptionOrderStep", "Create the new order for the subscription."], - ["87", "createRemoteLinkStep", "Create links returned by the previous step."], - ["89", "capturePaymentStep", "Capture the order’s payment."], - ["94", "updateSubscriptionStep", "Update the subscription’s `last_order_date` and `next_order_date`."] + ["25", "useQueryGraphStep", "Retrieve the cart linked to the subscription."], + ["49", "createPaymentCollectionsStep", "Create a payment collection using the same information in the cart."], + ["56", "createPaymentSessionsWorkflow", "Create a payment session in the payment collection from the previous step."], + ["65", "authorizePaymentSessionStep", "Authorize the payment session created from the first step."], + ["70", "createSubscriptionOrderStep", "Create the new order for the subscription."], + ["76", "createRemoteLinkStep", "Create links returned by the previous step."], + ["78", "capturePaymentStep", "Capture the order’s payment."], + ["83", "updateSubscriptionStep", "Update the subscription’s `last_order_date` and `next_order_date`."] ] ```ts title="src/workflows/create-subscription-order/index.ts" highlights={createSubscriptionOrderWorkflowHighlights} collapsibleLines="1-25" expandMoreLabel="Show Imports" +import { createWorkflow, WorkflowResponse } from "@medusajs/framework/workflows-sdk" import { - createWorkflow, - WorkflowResponse, -} from "@medusajs/framework/workflows-sdk" -import { - useRemoteQueryStep, + useQueryGraphStep, createPaymentSessionsWorkflow, createRemoteLinkStep, - capturePaymentStep, + capturePaymentStep } from "@medusajs/medusa/core-flows" import { - CartWorkflowDTO, -} from "@medusajs/framework/types" -import { - SubscriptionData, + SubscriptionData } from "../../modules/subscription/types" import { authorizePaymentSessionStep, -} from "@medusajs/medusa/core-flows" -import { - createPaymentCollectionsStep, + createPaymentCollectionsStep } from "@medusajs/medusa/core-flows" import createSubscriptionOrderStep from "./steps/create-subscription-order" import updateSubscriptionStep from "./steps/update-subscription" @@ -1814,8 +1805,8 @@ type WorkflowInput = { const createSubscriptionOrderWorkflow = createWorkflow( "create-subscription-order", (input: WorkflowInput) => { - const { cart } = useRemoteQueryStep({ - entry_point: "subscription", + const { data: carts } = useQueryGraphStep({ + entity: "subscription", fields: [ "*", "cart.*", @@ -1828,59 +1819,56 @@ const createSubscriptionOrderWorkflow = createWorkflow( "cart.shipping_methods.tax_lines.*", "cart.shipping_methods.adjustments.*", "cart.payment_collection.*", - "cart.payment_collection.payment_sessions.*", + "cart.payment_collection.payment_sessions.*" ], - variables: { - filters: { - id: [input.subscription.id], - }, + filters: { + id: [input.subscription.id] }, - list: false, - throw_if_key_not_found: true, - }) as { - cart: CartWorkflowDTO - } + options: { + throwIfKeyNotFound: true + } + }) const payment_collection = createPaymentCollectionsStep([{ - region_id: cart.region_id, - currency_code: cart.currency_code, - amount: cart.payment_collection.amount, - metadata: cart.payment_collection.metadata, + region_id: carts[0].region_id, + currency_code: carts[0].currency_code, + amount: carts[0].payment_collection.amount, + metadata: carts[0].payment_collection.metadata }])[0] const paymentSession = createPaymentSessionsWorkflow.runAsStep({ input: { payment_collection_id: payment_collection.id, - provider_id: cart.payment_collection.payment_sessions[0].provider_id, - data: cart.payment_collection.payment_sessions[0].data, - context: cart.payment_collection.payment_sessions[0].context, - }, + provider_id: carts[0].payment_collection.payment_sessions[0].provider_id, + data: carts[0].payment_collection.payment_sessions[0].data, + context: carts[0].payment_collection.payment_sessions[0].context + } }) const payment = authorizePaymentSessionStep({ id: paymentSession.id, - context: paymentSession.context, + context: paymentSession.context }) const { order, linkDefs } = createSubscriptionOrderStep({ subscription: input.subscription, - cart, - payment_collection, + cart: carts[0], + payment_collection }) createRemoteLinkStep(linkDefs) capturePaymentStep({ payment_id: payment.id, - amount: payment.amount, + amount: payment.amount }) updateSubscriptionStep({ - subscription_id: input.subscription.id, + subscription_id: input.subscription.id }) return new WorkflowResponse({ - order, + order }) } ) @@ -1890,7 +1878,7 @@ export default createSubscriptionOrderWorkflow The workflow runs the following steps: -1. `useRemoteQueryStep` to retrieve the details of the cart linked to the subscription. +1. `useQueryGraphStep` to retrieve the details of the cart linked to the subscription. 2. `createPaymentCollectionsStep` to create a payment collection using the same information in the cart. 3. `createPaymentSessionsWorkflow` to create a payment session in the payment collection from the previous step. 4. `authorizePaymentSessionStep` to authorize the payment session created from the first step. diff --git a/www/apps/resources/app/references/[...slug]/page.tsx b/www/apps/resources/app/references/[...slug]/page.tsx index 92040d5a4ed6a..b9c75500c157f 100644 --- a/www/apps/resources/app/references/[...slug]/page.tsx +++ b/www/apps/resources/app/references/[...slug]/page.tsx @@ -14,12 +14,13 @@ import { slugChanges } from "../../../generated/slug-changes.mjs" import { filesMap } from "../../../generated/files-map.mjs" type PageProps = { - params: { + params: Promise<{ slug: string[] - } + }> } -export default async function ReferencesPage({ params }: PageProps) { +export default async function ReferencesPage(props: PageProps) { + const params = await props.params const { slug } = params // ensure that Vercel loads references files diff --git a/www/apps/resources/app/storefront-development/checkout/payment/stripe/page.mdx b/www/apps/resources/app/storefront-development/checkout/payment/stripe/page.mdx index 9313518db1beb..8085fd1616f84 100644 --- a/www/apps/resources/app/storefront-development/checkout/payment/stripe/page.mdx +++ b/www/apps/resources/app/storefront-development/checkout/payment/stripe/page.mdx @@ -23,6 +23,10 @@ For other types of storefronts, the steps are similar. However, refer to [Stripe text: "Stripe publishable API key.", link: "https://support.stripe.com/questions/locate-api-keys-in-the-dashboard" }, + { + text: "Cart context in your storefront, which is used in a code snippet later.", + link: "/resources/storefront-development/cart/context" + }, ]} /> ## 1. Install Stripe SDK @@ -57,6 +61,12 @@ For Next.js storefronts, the environment variable's name must be prefixed with ` Then, create a file holding the following Stripe component: + + +This snippet assumes you're using the provider from the [Cart Context guide](../../../cart/context/page.mdx) in your storefront. + + + export const highlights = [ ["10", "useCart", "The `useCart` hook was defined in the Cart React Context documentation."], ["13", "stripePromise", "Initialize stripe using the environment variable added in the previous step."], diff --git a/www/apps/resources/eslint.config.mjs b/www/apps/resources/eslint.config.mjs new file mode 100644 index 0000000000000..0113bd8b20aa1 --- /dev/null +++ b/www/apps/resources/eslint.config.mjs @@ -0,0 +1,207 @@ +import prettier from "eslint-plugin-prettier/recommended" +import globals from "globals" +import babelParser from "@babel/eslint-parser" +import typescriptEslintEslintPlugin from "@typescript-eslint/eslint-plugin" +import tsParser from "@typescript-eslint/parser" +import path from "node:path" +import { fileURLToPath } from "node:url" +import js from "@eslint/js" +import { FlatCompat } from "@eslint/eslintrc" + +const __filename = fileURLToPath(import.meta.url) +const __dirname = path.dirname(__filename) +const compat = new FlatCompat({ + baseDirectory: __dirname, + recommendedConfig: js.configs.recommended, + allConfig: js.configs.all, +}) + +export default [ + prettier, + { + ignores: ["**/eslint-config-docs", "**/.eslintrc.js", "**/dist"], + }, + ...compat.extends( + "eslint:recommended", + "plugin:react/recommended", + "plugin:react/jsx-runtime", + "plugin:react-hooks/recommended", + "plugin:@next/next/recommended" + ), + { + languageOptions: { + globals: { + ...globals.node, + ...globals.jest, + ...globals.browser, + }, + + parser: babelParser, + ecmaVersion: 13, + sourceType: "module", + + parserOptions: { + requireConfigFile: false, + + ecmaFeatures: { + experimentalDecorators: true, + jsx: true, + modules: true, + }, + + project: true, + }, + }, + + settings: { + react: { + version: "detect", + }, + }, + + rules: { + curly: ["error", "all"], + "new-cap": "off", + "require-jsdoc": "off", + "no-unused-expressions": "off", + "no-unused-vars": "off", + camelcase: "off", + "no-invalid-this": "off", + + "max-len": [ + "error", + { + code: 80, + ignoreStrings: true, + ignoreRegExpLiterals: true, + ignoreComments: true, + ignoreTrailingComments: true, + ignoreUrls: true, + ignoreTemplateLiterals: true, + }, + ], + + semi: ["error", "never"], + + quotes: [ + "error", + "double", + { + allowTemplateLiterals: true, + }, + ], + + "comma-dangle": [ + "error", + { + arrays: "always-multiline", + objects: "always-multiline", + imports: "always-multiline", + exports: "always-multiline", + functions: "never", + }, + ], + + "object-curly-spacing": ["error", "always"], + "arrow-parens": ["error", "always"], + "linebreak-style": 0, + + "no-confusing-arrow": [ + "error", + { + allowParens: false, + }, + ], + + "space-before-function-paren": [ + "error", + { + anonymous: "always", + named: "never", + asyncArrow: "always", + }, + ], + + "space-infix-ops": "error", + "eol-last": ["error", "always"], + + "no-console": [ + "error", + { + allow: ["error", "warn"], + }, + ], + + "react/prop-types": [ + 2, + { + ignore: ["className"], + }, + ], + }, + }, + ...compat + .extends( + "plugin:@typescript-eslint/recommended", + "plugin:react/recommended" + ) + .map((config) => ({ + ...config, + files: ["**/*.ts", "**/*.tsx", "**/*.js", "**/*.jsx"], + })), + { + files: ["**/*.ts", "**/*.tsx", "**/*.js", "**/*.jsx"], + + plugins: { + "@typescript-eslint": typescriptEslintEslintPlugin, + }, + + languageOptions: { + parser: tsParser, + ecmaVersion: 13, + sourceType: "module", + + parserOptions: { + project: "./tsconfig.json", + }, + }, + + settings: { + next: { + rootDir: ".", + }, + }, + ignores: [ + "**/next.config.js", + "**/spec", + "**/node_modules", + "**/public", + "**/.eslintrc.js", + ], + + rules: { + "react/react-in-jsx-scope": "off", + "@typescript-eslint/prefer-ts-expect-error": "off", + "valid-jsdoc": "off", + + "@typescript-eslint/no-non-null-assertion": "off", + "@typescript-eslint/no-floating-promises": "error", + "@typescript-eslint/await-thenable": "error", + "@typescript-eslint/promise-function-async": "error", + "@/keyword-spacing": "error", + + "@/space-before-function-paren": [ + "error", + { + anonymous: "always", + named: "never", + asyncArrow: "always", + }, + ], + + "@/space-infix-ops": "error", + "@typescript-eslint/no-explicit-any": "warn", + "@typescript-eslint/no-unused-vars": "warn", + }, + }, +] diff --git a/www/apps/resources/generated/edit-dates.mjs b/www/apps/resources/generated/edit-dates.mjs index 709a4a5ec8023..15e13414f6590 100644 --- a/www/apps/resources/generated/edit-dates.mjs +++ b/www/apps/resources/generated/edit-dates.mjs @@ -113,11 +113,10 @@ export const generatedEditDates = { "app/commerce-modules/user/user-creation-flows/page.mdx": "2024-10-15T14:51:37.311Z", "app/commerce-modules/user/page.mdx": "2024-10-15T14:44:19.628Z", "app/commerce-modules/page.mdx": "2024-10-07T13:55:08.014Z", - "app/contribution-guidelines/_admin-translations/page.mdx": "2024-05-13T18:55:11+03:00", "app/contribution-guidelines/docs/page.mdx": "2024-10-16T15:48:04.071Z", "app/create-medusa-app/page.mdx": "2024-08-05T11:10:55+03:00", "app/deployment/admin/vercel/page.mdx": "2024-10-16T08:10:29.377Z", - "app/deployment/medusa-application/railway/page.mdx": "2024-10-22T11:02:09.029Z", + "app/deployment/medusa-application/railway/page.mdx": "2024-11-11T11:50:10.517Z", "app/deployment/storefront/vercel/page.mdx": "2024-07-26T07:21:31+00:00", "app/deployment/page.mdx": "2024-07-25T09:55:22+03:00", "app/integrations/page.mdx": "2024-10-15T12:26:39.839Z", @@ -234,9 +233,9 @@ export const generatedEditDates = { "app/architectural-modules/file/page.mdx": "2024-07-01T10:21:19+03:00", "app/architectural-modules/event/page.mdx": "2024-05-28T13:25:03+03:00", "app/architectural-modules/cache/create/page.mdx": "2024-10-16T08:51:35.074Z", - "app/admin-widget-injection-zones/page.mdx": "2024-09-30T08:43:53.147Z", + "app/admin-widget-injection-zones/page.mdx": "2024-11-14T15:10:36.495Z", "app/architectural-modules/notification/page.mdx": "2024-10-15T12:51:28.735Z", - "app/architectural-modules/event/create/page.mdx": "2024-10-16T08:51:41.334Z", + "app/architectural-modules/event/create/page.mdx": "2024-11-12T11:54:51.583Z", "references/core_flows/Order/functions/core_flows.Order.orderEditUpdateItemQuantityValidationStep/page.mdx": "2024-08-20T00:10:58.913Z", "references/core_flows/Order/functions/core_flows.Order.orderEditUpdateItemQuantityWorkflow/page.mdx": "2024-08-20T00:10:58.949Z", "references/core_flows/Order/functions/core_flows.Order.updateOrderEditItemQuantityValidationStep/page.mdx": "2024-08-20T00:10:59.121Z", @@ -247,8 +246,8 @@ export const generatedEditDates = { "references/core_flows/Order/functions/core_flows.Order.updateOrderEditAddItemValidationStep/page.mdx": "2024-08-20T00:10:59.065Z", "references/core_flows/Order/functions/core_flows.Order.updateOrderEditAddItemWorkflow/page.mdx": "2024-08-20T00:10:59.105Z", "references/core_flows/core_flows.Order/page.mdx": "2024-08-20T00:10:56.437Z", - "references/modules/core_flows/page.mdx": "2024-11-11T10:31:48.579Z", - "references/types/types.HttpTypes/page.mdx": "2024-11-06T21:08:40.750Z", + "references/modules/core_flows/page.mdx": "2024-11-12T09:36:29.412Z", + "references/types/types.HttpTypes/page.mdx": "2024-11-12T09:36:21.796Z", "app/troubleshooting/medusa-admin/no-widget-route/page.mdx": "2024-08-23T11:31:26.346Z", "references/auth/IAuthModuleService/methods/auth.IAuthModuleService.createProviderIdentities/page.mdx": "2024-10-23T07:15:29.604Z", "references/auth/IAuthModuleService/methods/auth.IAuthModuleService.deleteProviderIdentities/page.mdx": "2024-10-23T07:15:29.608Z", @@ -447,9 +446,9 @@ export const generatedEditDates = { "references/fulfillment_models/classes/fulfillment_models.ShippingOptionRule/page.mdx": "2024-10-03T00:12:15.551Z", "references/fulfillment_models/classes/fulfillment_models.ShippingOptionType/page.mdx": "2024-10-03T00:12:15.557Z", "references/fulfillment_models/classes/fulfillment_models.ShippingProfile/page.mdx": "2024-10-03T00:12:15.581Z", - "references/helper_steps/functions/helper_steps.createRemoteLinkStep/page.mdx": "2024-10-03T00:12:16.458Z", - "references/helper_steps/functions/helper_steps.dismissRemoteLinkStep/page.mdx": "2024-10-03T00:12:16.461Z", - "references/helper_steps/functions/helper_steps.emitEventStep/page.mdx": "2024-10-03T00:12:16.464Z", + "references/helper_steps/functions/helper_steps.createRemoteLinkStep/page.mdx": "2024-11-12T16:19:00.137Z", + "references/helper_steps/functions/helper_steps.dismissRemoteLinkStep/page.mdx": "2024-11-12T16:19:00.139Z", + "references/helper_steps/functions/helper_steps.emitEventStep/page.mdx": "2024-11-12T16:19:00.140Z", "references/helper_steps/functions/helper_steps.updateRemoteLinksStep/page.mdx": "2024-10-02T00:12:16.726Z", "references/helper_steps/types/helper_steps.DismissRemoteLinksStepInput/page.mdx": "2024-08-28T00:11:31.042Z", "references/medusa_config/interfaces/medusa_config.AdminOptions/page.mdx": "2024-11-06T21:09:09.666Z", @@ -737,8 +736,8 @@ export const generatedEditDates = { "references/core_flows/types/core_flows.OrderEditRequestWorkflowInput/page.mdx": "2024-10-23T07:15:51.428Z", "references/core_flows/types/core_flows.UpdateOrderTaxLinesWorkflowInput/page.mdx": "2024-10-23T07:15:51.436Z", "references/core_flows/types/core_flows.UpdateTaxLinesWorkflowInput/page.mdx": "2024-11-06T21:09:04.554Z", - "references/helper_steps/functions/helper_steps.useRemoteQueryStep/page.mdx": "2024-10-03T00:12:16.474Z", - "references/modules/types/page.mdx": "2024-10-23T07:15:27.400Z", + "references/helper_steps/functions/helper_steps.useRemoteQueryStep/page.mdx": "2024-11-12T16:19:00.148Z", + "references/modules/types/page.mdx": "2024-11-12T09:36:21.248Z", "references/order/IOrderModuleService/methods/order.IOrderModuleService.cancelReturn/page.mdx": "2024-11-06T21:09:11.354Z", "references/order/interfaces/order.CancelOrderClaimDTO/page.mdx": "2024-10-03T00:12:17.706Z", "references/order/interfaces/order.CancelOrderExchangeDTO/page.mdx": "2024-10-03T00:12:17.711Z", @@ -794,8 +793,8 @@ export const generatedEditDates = { "references/core_flows/Line_Item/Steps_Line_Item/functions/core_flows.Line_Item.Steps_Line_Item.listLineItemsStep/page.mdx": "2024-11-06T21:08:51.242Z", "references/core_flows/Line_Item/Steps_Line_Item/functions/core_flows.Line_Item.Steps_Line_Item.updateLineItemsStepWithSelector/page.mdx": "2024-11-06T21:08:51.258Z", "references/core_flows/Line_Item/core_flows.Line_Item.Steps_Line_Item/page.mdx": "2024-11-06T21:08:51.230Z", - "references/core_flows/Product/Workflows_Product/functions/core_flows.Product.Workflows_Product.updateProductsWorkflow/page.mdx": "2024-10-24T13:48:24.820Z", - "references/core_flows/Product/core_flows.Product.Workflows_Product/page.mdx": "2024-10-24T13:48:24.700Z", + "references/core_flows/Product/Workflows_Product/functions/core_flows.Product.Workflows_Product.updateProductsWorkflow/page.mdx": "2024-11-12T09:36:43.956Z", + "references/core_flows/Product/core_flows.Product.Workflows_Product/page.mdx": "2024-11-12T09:36:43.832Z", "references/core_flows/Region/Workflows_Region/functions/core_flows.Region.Workflows_Region.createRegionsWorkflow/page.mdx": "2024-10-02T00:12:14.692Z", "references/core_flows/Region/Workflows_Region/functions/core_flows.Region.Workflows_Region.deleteRegionsWorkflow/page.mdx": "2024-10-02T00:12:14.694Z", "references/core_flows/Region/Workflows_Region/functions/core_flows.Region.Workflows_Region.updateRegionsWorkflow/page.mdx": "2024-10-02T00:12:14.697Z", @@ -813,7 +812,7 @@ export const generatedEditDates = { "references/core_flows/core_flows.Steps_Line_Item/page.mdx": "2024-11-06T21:08:51.290Z", "references/core_flows/core_flows.Workflows_Customer/page.mdx": "2024-11-06T21:08:49.946Z", "references/core_flows/core_flows.Workflows_Invite/page.mdx": "2024-10-23T07:15:37.220Z", - "references/core_flows/core_flows.Workflows_Product/page.mdx": "2024-10-24T13:48:25.072Z", + "references/core_flows/core_flows.Workflows_Product/page.mdx": "2024-11-12T09:36:44.204Z", "references/core_flows/core_flows.Workflows_Region/page.mdx": "2024-10-23T07:15:50.536Z", "references/core_flows/core_flows.Workflows_Sales_Channel/page.mdx": "2024-10-24T13:48:25.548Z", "references/core_flows/core_flows.Workflows_User/page.mdx": "2024-10-24T13:48:25.928Z", @@ -1497,14 +1496,14 @@ export const generatedEditDates = { "references/product/IProductModuleService/methods/product.IProductModuleService.listAndCountProductTags/page.mdx": "2024-10-23T07:15:59.656Z", "references/product/IProductModuleService/methods/product.IProductModuleService.listAndCountProductTypes/page.mdx": "2024-10-23T07:15:59.684Z", "references/product/IProductModuleService/methods/product.IProductModuleService.listAndCountProductVariants/page.mdx": "2024-10-23T07:15:59.776Z", - "references/product/IProductModuleService/methods/product.IProductModuleService.listAndCountProducts/page.mdx": "2024-10-23T07:15:59.612Z", + "references/product/IProductModuleService/methods/product.IProductModuleService.listAndCountProducts/page.mdx": "2024-11-12T09:36:53.192Z", "references/product/IProductModuleService/methods/product.IProductModuleService.listProductCategories/page.mdx": "2024-10-23T07:15:59.844Z", "references/product/IProductModuleService/methods/product.IProductModuleService.listProductCollections/page.mdx": "2024-10-23T07:15:59.812Z", "references/product/IProductModuleService/methods/product.IProductModuleService.listProductOptions/page.mdx": "2024-10-23T07:15:59.716Z", "references/product/IProductModuleService/methods/product.IProductModuleService.listProductTags/page.mdx": "2024-10-23T07:15:59.652Z", "references/product/IProductModuleService/methods/product.IProductModuleService.listProductTypes/page.mdx": "2024-10-23T07:15:59.684Z", "references/product/IProductModuleService/methods/product.IProductModuleService.listProductVariants/page.mdx": "2024-10-23T07:15:59.772Z", - "references/product/IProductModuleService/methods/product.IProductModuleService.listProducts/page.mdx": "2024-10-23T07:15:59.608Z", + "references/product/IProductModuleService/methods/product.IProductModuleService.listProducts/page.mdx": "2024-11-12T09:36:53.188Z", "references/product/IProductModuleService/methods/product.IProductModuleService.restoreProductCategories/page.mdx": "2024-10-23T07:15:59.872Z", "references/product/IProductModuleService/methods/product.IProductModuleService.restoreProductCollections/page.mdx": "2024-10-23T07:15:59.836Z", "references/product/IProductModuleService/methods/product.IProductModuleService.restoreProductOptions/page.mdx": "2024-10-23T07:15:59.740Z", @@ -1532,7 +1531,7 @@ export const generatedEditDates = { "references/product/IProductModuleService/methods/product.IProductModuleService.updateProductTags/page.mdx": "2024-10-23T07:15:59.672Z", "references/product/IProductModuleService/methods/product.IProductModuleService.updateProductTypes/page.mdx": "2024-10-23T07:15:59.700Z", "references/product/IProductModuleService/methods/product.IProductModuleService.updateProductVariants/page.mdx": "2024-10-23T07:15:59.796Z", - "references/product/IProductModuleService/methods/product.IProductModuleService.updateProducts/page.mdx": "2024-10-23T07:15:59.640Z", + "references/product/IProductModuleService/methods/product.IProductModuleService.updateProducts/page.mdx": "2024-11-12T09:36:53.216Z", "references/product/IProductModuleService/methods/product.IProductModuleService.upsertProductCategories/page.mdx": "2024-10-23T07:15:59.860Z", "references/product/IProductModuleService/methods/product.IProductModuleService.upsertProductCollections/page.mdx": "2024-10-23T07:15:59.824Z", "references/product/IProductModuleService/methods/product.IProductModuleService.upsertProductOptions/page.mdx": "2024-10-23T07:15:59.728Z", @@ -1776,7 +1775,7 @@ export const generatedEditDates = { "references/dml/Property_Types/methods/dml.Property_Types.json/page.mdx": "2024-10-03T00:12:15.464Z", "references/dml/Property_Types/methods/dml.Property_Types.number/page.mdx": "2024-10-03T00:12:15.459Z", "references/dml/Property_Types/methods/dml.Property_Types.text/page.mdx": "2024-10-03T00:12:15.457Z", - "references/helper_steps/functions/helper_steps.removeRemoteLinkStep/page.mdx": "2024-10-03T00:12:16.466Z", + "references/helper_steps/functions/helper_steps.removeRemoteLinkStep/page.mdx": "2024-11-12T16:19:00.142Z", "references/modules/workflows/page.mdx": "2024-09-30T08:43:53.315Z", "references/search/classes/search.AbstractSearchService/page.mdx": "2024-10-14T09:11:45.913Z", "references/workflows/StepResponse/methods/workflows.StepResponse.permanentFailure/page.mdx": "2024-10-02T00:12:20.683Z", @@ -1960,7 +1959,7 @@ export const generatedEditDates = { "references/core_flows/Product/Steps_Product/functions/core_flows.Product.Steps_Product.deleteProductVariantsStep/page.mdx": "2024-10-02T00:12:14.071Z", "references/core_flows/Product/Steps_Product/functions/core_flows.Product.Steps_Product.deleteProductsStep/page.mdx": "2024-10-02T00:12:14.073Z", "references/core_flows/Product/Steps_Product/functions/core_flows.Product.Steps_Product.generateProductCsvStep/page.mdx": "2024-10-25T15:35:23.813Z", - "references/core_flows/Product/Steps_Product/functions/core_flows.Product.Steps_Product.getAllProductsStep/page.mdx": "2024-10-02T00:12:14.078Z", + "references/core_flows/Product/Steps_Product/functions/core_flows.Product.Steps_Product.getAllProductsStep/page.mdx": "2024-11-12T09:36:43.716Z", "references/core_flows/Product/Steps_Product/functions/core_flows.Product.Steps_Product.getProductsStep/page.mdx": "2024-10-02T00:12:14.083Z", "references/core_flows/Product/Steps_Product/functions/core_flows.Product.Steps_Product.groupProductsForBatchStep/page.mdx": "2024-10-02T00:12:14.087Z", "references/core_flows/Product/Steps_Product/functions/core_flows.Product.Steps_Product.parseProductCsvStep/page.mdx": "2024-10-02T00:12:14.091Z", @@ -1969,13 +1968,13 @@ export const generatedEditDates = { "references/core_flows/Product/Steps_Product/functions/core_flows.Product.Steps_Product.updateProductTagsStep/page.mdx": "2024-10-02T00:12:14.101Z", "references/core_flows/Product/Steps_Product/functions/core_flows.Product.Steps_Product.updateProductTypesStep/page.mdx": "2024-10-02T00:12:14.104Z", "references/core_flows/Product/Steps_Product/functions/core_flows.Product.Steps_Product.updateProductVariantsStep/page.mdx": "2024-10-02T00:12:14.109Z", - "references/core_flows/Product/Steps_Product/functions/core_flows.Product.Steps_Product.updateProductsStep/page.mdx": "2024-10-23T07:15:49.772Z", + "references/core_flows/Product/Steps_Product/functions/core_flows.Product.Steps_Product.updateProductsStep/page.mdx": "2024-11-12T09:36:43.760Z", "references/core_flows/Product/Steps_Product/functions/core_flows.Product.Steps_Product.waitConfirmationProductImportStep/page.mdx": "2024-10-02T00:12:14.117Z", "references/core_flows/Product/Workflows_Product/functions/core_flows.Product.Workflows_Product.batchLinkProductsToCategoryWorkflow/page.mdx": "2024-10-02T00:12:14.190Z", "references/core_flows/Product/Workflows_Product/functions/core_flows.Product.Workflows_Product.batchLinkProductsToCollectionWorkflow/page.mdx": "2024-10-02T00:12:14.183Z", "references/core_flows/Product/Workflows_Product/functions/core_flows.Product.Workflows_Product.batchProductVariantsWorkflow/page.mdx": "2024-10-02T00:12:14.188Z", "references/core_flows/Product/Workflows_Product/functions/core_flows.Product.Workflows_Product.batchProductsWorkflow/page.mdx": "2024-10-23T07:15:49.872Z", - "references/core_flows/Product/Workflows_Product/functions/core_flows.Product.Workflows_Product.exportProductsWorkflow/page.mdx": "2024-10-24T13:48:24.780Z", + "references/core_flows/Product/Workflows_Product/functions/core_flows.Product.Workflows_Product.exportProductsWorkflow/page.mdx": "2024-11-12T09:36:43.912Z", "references/core_flows/Product/Workflows_Product/functions/core_flows.Product.Workflows_Product.importProductsWorkflow/page.mdx": "2024-10-02T00:12:14.245Z", "references/core_flows/Product/Workflows_Product/functions/core_flows.Product.Workflows_Product.upsertVariantPricesWorkflow/page.mdx": "2024-10-24T13:48:24.824Z", "references/core_flows/Product_Category/Steps_Product_Category/functions/core_flows.Product_Category.Steps_Product_Category.createProductCategoriesStep/page.mdx": "2024-10-02T00:12:14.495Z", @@ -2276,7 +2275,7 @@ export const generatedEditDates = { "app/commerce-modules/stock-location/links-to-other-modules/page.mdx": "2024-10-15T14:33:11.483Z", "app/commerce-modules/store/links-to-other-modules/page.mdx": "2024-06-26T07:19:49.931Z", "app/examples/page.mdx": "2024-10-16T15:47:38.345Z", - "app/medusa-cli/commands/build/page.mdx": "2024-10-16T08:16:27.618Z", + "app/medusa-cli/commands/build/page.mdx": "2024-11-11T11:00:49.665Z", "app/js-sdk/page.mdx": "2024-10-16T12:12:34.512Z", "references/js_sdk/admin/Admin/properties/js_sdk.admin.Admin.apiKey/page.mdx": "2024-10-25T15:35:28.397Z", "references/js_sdk/admin/Admin/properties/js_sdk.admin.Admin.campaign/page.mdx": "2024-10-25T15:35:28.465Z", @@ -2297,7 +2296,7 @@ export const generatedEditDates = { "references/js_sdk/admin/Admin/properties/js_sdk.admin.Admin.paymentCollection/page.mdx": "2024-11-06T21:09:07.570Z", "references/js_sdk/admin/Admin/properties/js_sdk.admin.Admin.priceList/page.mdx": "2024-10-25T15:35:27.889Z", "references/js_sdk/admin/Admin/properties/js_sdk.admin.Admin.pricePreference/page.mdx": "2024-10-25T15:35:27.901Z", - "references/js_sdk/admin/Admin/properties/js_sdk.admin.Admin.product/page.mdx": "2024-10-25T15:35:27.949Z", + "references/js_sdk/admin/Admin/properties/js_sdk.admin.Admin.product/page.mdx": "2024-11-12T09:36:47.816Z", "references/js_sdk/admin/Admin/properties/js_sdk.admin.Admin.productCategory/page.mdx": "2024-10-25T15:35:27.873Z", "references/js_sdk/admin/Admin/properties/js_sdk.admin.Admin.productCollection/page.mdx": "2024-10-25T15:35:27.861Z", "references/js_sdk/admin/Admin/properties/js_sdk.admin.Admin.productTag/page.mdx": "2024-10-25T15:35:28.321Z", @@ -2488,7 +2487,7 @@ export const generatedEditDates = { "references/js_sdk/admin/PricePreference/properties/js_sdk.admin.PricePreference.client/page.mdx": "2024-10-22T15:09:53.108Z", "references/js_sdk/admin/Product/methods/js_sdk.admin.Product.batch/page.mdx": "2024-10-25T15:35:29.277Z", "references/js_sdk/admin/Product/methods/js_sdk.admin.Product.batchVariantInventoryItems/page.mdx": "2024-10-25T15:35:29.309Z", - "references/js_sdk/admin/Product/methods/js_sdk.admin.Product.batchVariants/page.mdx": "2024-10-25T15:35:29.293Z", + "references/js_sdk/admin/Product/methods/js_sdk.admin.Product.batchVariants/page.mdx": "2024-11-12T09:36:49.152Z", "references/js_sdk/admin/Product/methods/js_sdk.admin.Product.confirmImport/page.mdx": "2024-10-22T15:09:53.277Z", "references/js_sdk/admin/Product/methods/js_sdk.admin.Product.create/page.mdx": "2024-10-25T15:35:29.277Z", "references/js_sdk/admin/Product/methods/js_sdk.admin.Product.createOption/page.mdx": "2024-10-25T15:35:29.313Z", @@ -2716,17 +2715,17 @@ export const generatedEditDates = { "references/js_sdk/auth/Auth/methods/js_sdk.auth.Auth.updateProvider/page.mdx": "2024-10-24T13:48:31.024Z", "references/js_sdk/auth/classes/js_sdk.auth.Auth/page.mdx": "2024-10-22T15:09:53.780Z", "references/js_sdk/modules/js_sdk.admin/page.mdx": "2024-10-22T15:09:52.264Z", - "references/js_sdk/store/Store/properties/js_sdk.store.Store.category/page.mdx": "2024-11-11T10:32:09.787Z", + "references/js_sdk/store/Store/properties/js_sdk.store.Store.category/page.mdx": "2024-11-12T16:19:01.705Z", "references/js_sdk/modules/js_sdk.store/page.mdx": "2024-10-22T15:09:53.787Z", "references/js_sdk/modules/js_sdk.auth/page.mdx": "2024-10-22T15:09:53.779Z", - "references/js_sdk/store/Store/properties/js_sdk.store.Store.collection/page.mdx": "2024-10-25T15:35:30.345Z", - "references/js_sdk/store/Store/properties/js_sdk.store.Store.cart/page.mdx": "2024-11-11T10:32:09.851Z", - "references/js_sdk/store/Store/properties/js_sdk.store.Store.customer/page.mdx": "2024-11-11T10:32:09.935Z", - "references/js_sdk/store/Store/properties/js_sdk.store.Store.fulfillment/page.mdx": "2024-10-25T15:35:30.425Z", - "references/js_sdk/store/Store/properties/js_sdk.store.Store.order/page.mdx": "2024-11-11T10:32:09.891Z", - "references/js_sdk/store/Store/properties/js_sdk.store.Store.payment/page.mdx": "2024-11-11T10:32:09.875Z", - "references/js_sdk/store/Store/properties/js_sdk.store.Store.product/page.mdx": "2024-11-11T10:32:09.803Z", - "references/js_sdk/store/Store/properties/js_sdk.store.Store.region/page.mdx": "2024-11-11T10:32:09.763Z", + "references/js_sdk/store/Store/properties/js_sdk.store.Store.collection/page.mdx": "2024-11-12T16:19:01.699Z", + "references/js_sdk/store/Store/properties/js_sdk.store.Store.cart/page.mdx": "2024-11-12T16:19:01.735Z", + "references/js_sdk/store/Store/properties/js_sdk.store.Store.customer/page.mdx": "2024-11-12T16:19:01.773Z", + "references/js_sdk/store/Store/properties/js_sdk.store.Store.fulfillment/page.mdx": "2024-11-12T16:19:01.739Z", + "references/js_sdk/store/Store/properties/js_sdk.store.Store.order/page.mdx": "2024-11-12T16:19:01.753Z", + "references/js_sdk/store/Store/properties/js_sdk.store.Store.payment/page.mdx": "2024-11-12T16:19:01.748Z", + "references/js_sdk/store/Store/properties/js_sdk.store.Store.product/page.mdx": "2024-11-12T16:19:01.712Z", + "references/js_sdk/store/Store/properties/js_sdk.store.Store.region/page.mdx": "2024-11-12T16:19:01.693Z", "references/js_sdk/store/classes/js_sdk.store.Store/page.mdx": "2024-10-22T15:09:53.788Z", "references/modules/js_sdk/page.mdx": "2024-10-22T15:09:52.263Z", "references/core_flows/Inventory/Steps_Inventory/functions/core_flows.Inventory.Steps_Inventory.validateInventoryDeleteStep/page.mdx": "2024-10-23T07:15:37.028Z", @@ -2767,7 +2766,7 @@ export const generatedEditDates = { "references/core_flows/Line_Item/core_flows.Line_Item.Workflows_Line_Item/page.mdx": "2024-10-23T07:15:37.284Z", "references/core_flows/Pricing/core_flows.Pricing.Steps_Pricing/page.mdx": "2024-10-23T07:15:49.552Z", "references/core_flows/Pricing/core_flows.Pricing.Workflows_Pricing/page.mdx": "2024-10-23T07:15:49.576Z", - "references/core_flows/Product/core_flows.Product.Steps_Product/page.mdx": "2024-10-25T15:35:23.761Z", + "references/core_flows/Product/core_flows.Product.Steps_Product/page.mdx": "2024-11-12T09:36:43.660Z", "references/core_flows/Product_Category/core_flows.Product_Category.Steps_Product_Category/page.mdx": "2024-10-23T07:15:50.240Z", "references/core_flows/Product_Category/core_flows.Product_Category.Workflows_Product_Category/page.mdx": "2024-10-23T07:15:50.268Z", "references/core_flows/Reservation/core_flows.Reservation.Steps_Reservation/page.mdx": "2024-10-23T07:15:50.544Z", @@ -2785,7 +2784,7 @@ export const generatedEditDates = { "references/core_flows/core_flows.Steps_File/page.mdx": "2024-10-23T07:15:36.280Z", "references/core_flows/core_flows.Steps_Invite/page.mdx": "2024-10-23T07:15:37.208Z", "references/core_flows/core_flows.Steps_Pricing/page.mdx": "2024-10-23T07:15:49.604Z", - "references/core_flows/core_flows.Steps_Product/page.mdx": "2024-10-25T15:35:24.149Z", + "references/core_flows/core_flows.Steps_Product/page.mdx": "2024-11-12T09:36:44.048Z", "references/core_flows/core_flows.Steps_Product_Category/page.mdx": "2024-10-23T07:15:50.292Z", "references/core_flows/core_flows.Steps_Reservation/page.mdx": "2024-10-23T07:15:50.592Z", "references/core_flows/core_flows.Steps_Return_Reason/page.mdx": "2024-10-23T07:15:50.660Z", @@ -2846,7 +2845,7 @@ export const generatedEditDates = { "references/core_flows/types/core_flows.DeleteTaxRateRulesWorkflowInput/page.mdx": "2024-10-23T07:15:51.576Z", "references/core_flows/types/core_flows.DeleteTaxRatesWorkflowInput/page.mdx": "2024-10-23T07:15:51.576Z", "references/core_flows/types/core_flows.DeleteTaxRegionsWorkflowInput/page.mdx": "2024-10-23T07:15:51.576Z", - "references/core_flows/types/core_flows.GetAllProductsStepInput/page.mdx": "2024-10-23T07:15:51.468Z", + "references/core_flows/types/core_flows.GetAllProductsStepInput/page.mdx": "2024-11-12T09:36:45.320Z", "references/core_flows/types/core_flows.GetProductsStepInput/page.mdx": "2024-10-23T07:15:51.472Z", "references/core_flows/types/core_flows.ListTaxRateIdsStepInput/page.mdx": "2024-10-23T07:15:51.560Z", "references/core_flows/types/core_flows.ListTaxRateRuleIdsStepInput/page.mdx": "2024-10-23T07:15:51.564Z", @@ -3245,5 +3244,12 @@ export const generatedEditDates = { "references/types/interfaces/types.BaseOrderLineItemTaxLine/page.mdx": "2024-11-06T21:08:42.214Z", "references/types/interfaces/types.BasePaymentFilters/page.mdx": "2024-11-06T21:08:42.342Z", "references/types/interfaces/types.BaseRegion/page.mdx": "2024-11-06T21:08:42.410Z", - "references/types/types/types.PrevLimit/page.mdx": "2024-11-06T21:08:40.426Z" + "references/types/types/types.PrevLimit/page.mdx": "2024-11-06T21:08:40.426Z", + "references/types/HttpTypes/interfaces/types.HttpTypes.AdminBatchUpdateProductVariant/page.mdx": "2024-11-12T09:36:22.792Z", + "references/types/types/types.PluralizationSpecialRules/page.mdx": "2024-11-12T09:36:21.344Z", + "references/types/types/types.UncountableRules/page.mdx": "2024-11-12T09:36:21.340Z", + "references/product/interfaces/product.FilterableProductProps/page.mdx": "2024-11-12T09:36:53.124Z", + "references/types/HttpTypes/interfaces/types.HttpTypes.AdminBatchProductVariantRequest/page.mdx": "2024-11-12T09:36:22.780Z", + "references/types/WorkflowTypes/ProductWorkflow/interfaces/types.WorkflowTypes.ProductWorkflow.ExportProductsDTO/page.mdx": "2024-11-12T09:36:24.232Z", + "app/contribution-guidelines/admin-translations/page.mdx": "2024-11-14T08:54:15.369Z" } \ No newline at end of file diff --git a/www/apps/resources/generated/files-map.mjs b/www/apps/resources/generated/files-map.mjs index ad1423cc7659c..dcfcb7bb91aa4 100644 --- a/www/apps/resources/generated/files-map.mjs +++ b/www/apps/resources/generated/files-map.mjs @@ -556,8 +556,8 @@ export const filesMap = [ "pathname": "/commerce-modules/user/user-creation-flows" }, { - "filePath": "/www/apps/resources/app/contribution-guidelines/_admin-translations/page.mdx", - "pathname": "/contribution-guidelines/_admin-translations" + "filePath": "/www/apps/resources/app/contribution-guidelines/admin-translations/page.mdx", + "pathname": "/contribution-guidelines/admin-translations" }, { "filePath": "/www/apps/resources/app/contribution-guidelines/docs/page.mdx", @@ -16327,6 +16327,10 @@ export const filesMap = [ "filePath": "/www/apps/resources/references/types/HttpTypes/interfaces/types.HttpTypes.AdminBatchUpdateInventoryLevelLocation/page.mdx", "pathname": "/references/types/HttpTypes/interfaces/types.HttpTypes.AdminBatchUpdateInventoryLevelLocation" }, + { + "filePath": "/www/apps/resources/references/types/HttpTypes/interfaces/types.HttpTypes.AdminBatchUpdateProductVariant/page.mdx", + "pathname": "/references/types/HttpTypes/interfaces/types.HttpTypes.AdminBatchUpdateProductVariant" + }, { "filePath": "/www/apps/resources/references/types/HttpTypes/interfaces/types.HttpTypes.AdminCampaign/page.mdx", "pathname": "/references/types/HttpTypes/interfaces/types.HttpTypes.AdminCampaign" @@ -20539,6 +20543,10 @@ export const filesMap = [ "filePath": "/www/apps/resources/references/types/types/types.PlannerActionLinkDescriptor/page.mdx", "pathname": "/references/types/types/types.PlannerActionLinkDescriptor" }, + { + "filePath": "/www/apps/resources/references/types/types/types.PluralizationSpecialRules/page.mdx", + "pathname": "/references/types/types/types.PluralizationSpecialRules" + }, { "filePath": "/www/apps/resources/references/types/types/types.PrevLimit/page.mdx", "pathname": "/references/types/types/types.PrevLimit" @@ -20643,6 +20651,10 @@ export const filesMap = [ "filePath": "/www/apps/resources/references/types/types/types.TypeOnly-2/page.mdx", "pathname": "/references/types/types/types.TypeOnly-2" }, + { + "filePath": "/www/apps/resources/references/types/types/types.UncountableRules/page.mdx", + "pathname": "/references/types/types/types.UncountableRules" + }, { "filePath": "/www/apps/resources/references/types/types/types.UpdateFulfillmentShippingOptionRulesWorkflowDTO/page.mdx", "pathname": "/references/types/types/types.UpdateFulfillmentShippingOptionRulesWorkflowDTO" diff --git a/www/apps/resources/generated/sidebar.mjs b/www/apps/resources/generated/sidebar.mjs index 14b1f29357705..abd94d31dd52b 100644 --- a/www/apps/resources/generated/sidebar.mjs +++ b/www/apps/resources/generated/sidebar.mjs @@ -8616,7 +8616,7 @@ export const generatedSidebar = [ "loaded": true, "isPathHref": true, "type": "link", - "path": "/references/js-sdk/admin/cart", + "path": "/references/js-sdk/store/cart", "title": "cart", "children": [] }, @@ -8624,7 +8624,7 @@ export const generatedSidebar = [ "loaded": true, "isPathHref": true, "type": "link", - "path": "/references/js-sdk/admin/category", + "path": "/references/js-sdk/store/category", "title": "category", "children": [] }, @@ -8632,7 +8632,7 @@ export const generatedSidebar = [ "loaded": true, "isPathHref": true, "type": "link", - "path": "/references/js-sdk/admin/collection", + "path": "/references/js-sdk/store/collection", "title": "collection", "children": [] }, @@ -8640,7 +8640,7 @@ export const generatedSidebar = [ "loaded": true, "isPathHref": true, "type": "link", - "path": "/references/js-sdk/admin/customer", + "path": "/references/js-sdk/store/customer", "title": "customer", "children": [] }, @@ -8648,7 +8648,7 @@ export const generatedSidebar = [ "loaded": true, "isPathHref": true, "type": "link", - "path": "/references/js-sdk/admin/fulfillment", + "path": "/references/js-sdk/store/fulfillment", "title": "fulfillment", "children": [] }, @@ -8656,7 +8656,7 @@ export const generatedSidebar = [ "loaded": true, "isPathHref": true, "type": "link", - "path": "/references/js-sdk/admin/order", + "path": "/references/js-sdk/store/order", "title": "order", "children": [] }, @@ -8664,7 +8664,7 @@ export const generatedSidebar = [ "loaded": true, "isPathHref": true, "type": "link", - "path": "/references/js-sdk/admin/payment", + "path": "/references/js-sdk/store/payment", "title": "payment", "children": [] }, @@ -8672,7 +8672,7 @@ export const generatedSidebar = [ "loaded": true, "isPathHref": true, "type": "link", - "path": "/references/js-sdk/admin/product", + "path": "/references/js-sdk/store/product", "title": "product", "children": [] }, @@ -8680,7 +8680,7 @@ export const generatedSidebar = [ "loaded": true, "isPathHref": true, "type": "link", - "path": "/references/js-sdk/admin/region", + "path": "/references/js-sdk/store/region", "title": "region", "children": [] } @@ -9066,8 +9066,15 @@ export const generatedSidebar = [ "isPathHref": true, "type": "category", "title": "Medusa Application", - "autogenerate_path": "/deployment/medusa-application", "children": [ + { + "loaded": true, + "isPathHref": true, + "type": "link", + "path": "https://docs.medusajs.com/learn/deployment/general", + "title": "General", + "children": [] + }, { "loaded": true, "isPathHref": true, @@ -14918,6 +14925,14 @@ export const generatedSidebar = [ "path": "/contribution-guidelines/docs", "title": "Docs", "children": [] + }, + { + "loaded": true, + "isPathHref": true, + "type": "link", + "path": "/contribution-guidelines/admin-translations", + "title": "Admin Translations", + "children": [] } ] }, diff --git a/www/apps/resources/generated/slug-changes.mjs b/www/apps/resources/generated/slug-changes.mjs index 8bd3e8cd1e77f..8aa276b041602 100644 --- a/www/apps/resources/generated/slug-changes.mjs +++ b/www/apps/resources/generated/slug-changes.mjs @@ -4336,47 +4336,47 @@ export const slugChanges = [ }, { "origSlug": "/references/js_sdk/store/Store/properties/js_sdk.store.Store.cart", - "newSlug": "/references/js-sdk/admin/cart", + "newSlug": "/references/js-sdk/store/cart", "filePath": "/www/apps/resources/references/js_sdk/store/Store/properties/js_sdk.store.Store.cart/page.mdx" }, { "origSlug": "/references/js_sdk/store/Store/properties/js_sdk.store.Store.category", - "newSlug": "/references/js-sdk/admin/category", + "newSlug": "/references/js-sdk/store/category", "filePath": "/www/apps/resources/references/js_sdk/store/Store/properties/js_sdk.store.Store.category/page.mdx" }, { "origSlug": "/references/js_sdk/store/Store/properties/js_sdk.store.Store.collection", - "newSlug": "/references/js-sdk/admin/collection", + "newSlug": "/references/js-sdk/store/collection", "filePath": "/www/apps/resources/references/js_sdk/store/Store/properties/js_sdk.store.Store.collection/page.mdx" }, { "origSlug": "/references/js_sdk/store/Store/properties/js_sdk.store.Store.customer", - "newSlug": "/references/js-sdk/admin/customer", + "newSlug": "/references/js-sdk/store/customer", "filePath": "/www/apps/resources/references/js_sdk/store/Store/properties/js_sdk.store.Store.customer/page.mdx" }, { "origSlug": "/references/js_sdk/store/Store/properties/js_sdk.store.Store.fulfillment", - "newSlug": "/references/js-sdk/admin/fulfillment", + "newSlug": "/references/js-sdk/store/fulfillment", "filePath": "/www/apps/resources/references/js_sdk/store/Store/properties/js_sdk.store.Store.fulfillment/page.mdx" }, { "origSlug": "/references/js_sdk/store/Store/properties/js_sdk.store.Store.order", - "newSlug": "/references/js-sdk/admin/order", + "newSlug": "/references/js-sdk/store/order", "filePath": "/www/apps/resources/references/js_sdk/store/Store/properties/js_sdk.store.Store.order/page.mdx" }, { "origSlug": "/references/js_sdk/store/Store/properties/js_sdk.store.Store.payment", - "newSlug": "/references/js-sdk/admin/payment", + "newSlug": "/references/js-sdk/store/payment", "filePath": "/www/apps/resources/references/js_sdk/store/Store/properties/js_sdk.store.Store.payment/page.mdx" }, { "origSlug": "/references/js_sdk/store/Store/properties/js_sdk.store.Store.product", - "newSlug": "/references/js-sdk/admin/product", + "newSlug": "/references/js-sdk/store/product", "filePath": "/www/apps/resources/references/js_sdk/store/Store/properties/js_sdk.store.Store.product/page.mdx" }, { "origSlug": "/references/js_sdk/store/Store/properties/js_sdk.store.Store.region", - "newSlug": "/references/js-sdk/admin/region", + "newSlug": "/references/js-sdk/store/region", "filePath": "/www/apps/resources/references/js_sdk/store/Store/properties/js_sdk.store.Store.region/page.mdx" }, { diff --git a/www/apps/resources/package.json b/www/apps/resources/package.json index 4bda09ca1bb4b..3ee3aef0119e4 100644 --- a/www/apps/resources/package.json +++ b/www/apps/resources/package.json @@ -9,33 +9,33 @@ "start": "next start", "start:monorepo": "yarn start -p 3003", "lint": "next lint --fix", - "lint:content": "eslint --no-eslintrc -c .content.eslintrc.js app/**/*.mdx --fix", + "lint:content": "eslint --no-config-lookup -c .content.eslintrc.mjs app/**/*.mdx --fix", "prep": "node ./scripts/prepare.mjs" }, "dependencies": { - "@mdx-js/loader": "^3.0.1", - "@mdx-js/react": "^3.0.1", + "@mdx-js/loader": "^3.1.0", + "@mdx-js/react": "^3.1.0", "@medusajs/icons": "^2.0.0", - "@next/mdx": "^14.2.14", + "@next/mdx": "15.0.1", "clsx": "^2.1.0", "docs-ui": "*", - "next": "14.2.14", - "react": "^18.2.0", - "react-dom": "^18.2.0", + "next": "15.0.1", + "react": "rc", + "react-dom": "rc", "rehype-mdx-code-props": "^2.0.0", "remark-directive": "^3.0.0", "remark-frontmatter": "^5.0.0" }, "devDependencies": { - "@types/mdx": "^2.0.11", + "@types/mdx": "^2.0.13", "@types/node": "^20", - "@types/react": "^18.2.0", - "@types/react-dom": "^18.2.0", + "@types/react": "npm:types-react@rc", + "@types/react-dom": "npm:types-react@rc", "autoprefixer": "^10.0.1", "build-scripts": "*", - "eslint": "^8", - "eslint-config-docs": "*", - "eslint-config-next": "14.2.3", + "eslint": "^9.13.0", + "eslint-plugin-prettier": "^5.2.1", + "eslint-plugin-react-hooks": "^5.0.0", "postcss": "^8", "remark-rehype-plugins": "*", "tailwind": "*", @@ -47,5 +47,9 @@ }, "engines": { "node": ">=20" + }, + "overrides": { + "@types/react": "npm:types-react@rc", + "@types/react-dom": "npm:types-react-dom@rc" } } diff --git a/www/apps/resources/providers/index.tsx b/www/apps/resources/providers/index.tsx index ae55b911c5fc1..79bd672a1fb5e 100644 --- a/www/apps/resources/providers/index.tsx +++ b/www/apps/resources/providers/index.tsx @@ -34,7 +34,7 @@ const Providers = ({ children }: ProvidersProps) => { {children} diff --git a/www/apps/resources/references/core_flows/Product/Steps_Product/functions/core_flows.Product.Steps_Product.getAllProductsStep/page.mdx b/www/apps/resources/references/core_flows/Product/Steps_Product/functions/core_flows.Product.Steps_Product.getAllProductsStep/page.mdx index dc7a2c7e7f9e7..07e3e0ae36b00 100644 --- a/www/apps/resources/references/core_flows/Product/Steps_Product/functions/core_flows.Product.Steps_Product.getAllProductsStep/page.mdx +++ b/www/apps/resources/references/core_flows/Product/Steps_Product/functions/core_flows.Product.Steps_Product.getAllProductsStep/page.mdx @@ -13,7 +13,7 @@ This step retrieves all products. ## Input - + ## Output diff --git a/www/apps/resources/references/core_flows/Product/Steps_Product/functions/core_flows.Product.Steps_Product.updateProductsStep/page.mdx b/www/apps/resources/references/core_flows/Product/Steps_Product/functions/core_flows.Product.Steps_Product.updateProductsStep/page.mdx index ace3b152fe07c..773b02d2c0548 100644 --- a/www/apps/resources/references/core_flows/Product/Steps_Product/functions/core_flows.Product.Steps_Product.updateProductsStep/page.mdx +++ b/www/apps/resources/references/core_flows/Product/Steps_Product/functions/core_flows.Product.Steps_Product.updateProductsStep/page.mdx @@ -13,7 +13,7 @@ This step updates one or more products. ## Input -`","description":"The product variant options to associate with the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"metadata","type":"[MetadataType](../../../../../product/types/product.MetadataType/page.mdx)","description":"Holds custom data in key-value pairs.","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"width","type":"`null` \\| `number`","description":"The width of the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"height","type":"`null` \\| `number`","description":"The height of the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"length","type":"`null` \\| `number`","description":"The length of the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"weight","type":"`null` \\| `number`","description":"The weight of the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"origin_country","type":"`null` \\| `string`","description":"The origin country of the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"hs_code","type":"`null` \\| `string`","description":"The HS Code of the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"material","type":"`null` \\| `string`","description":"The material of the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"mid_code","type":"`null` \\| `string`","description":"The MID Code of the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"metadata","type":"[MetadataType](../../../../../product/types/product.MetadataType/page.mdx)","description":"Holds custom data in key-value pairs.","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"products","type":"[UpsertProductDTO](../../../../../product/interfaces/product.UpsertProductDTO/page.mdx)[]","description":"","optional":false,"defaultValue":"","expandable":false,"children":[{"name":"id","type":"`string`","description":"The ID of the product to update. If not provided, a product\nis created instead. In that case, the `title` property is required.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"title","type":"`string`","description":"The title of the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"subtitle","type":"`null` \\| `string`","description":"The subttle of the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"description","type":"`null` \\| `string`","description":"The description of the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"is_giftcard","type":"`boolean`","description":"Whether the product is a gift card.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"discountable","type":"`boolean`","description":"Whether the product can be discounted.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"thumbnail","type":"`null` \\| `string`","description":"The URL of the product's thumbnail.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"handle","type":"`string`","description":"The handle of the product. The handle can be used to create slug URL paths.\nIf not supplied, the value of the `handle` attribute of the product is set to the slug version of the `title` attribute.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"status","type":"[ProductStatus](../../../../../product/types/product.ProductStatus/page.mdx)","description":"The status of the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"images","type":"[UpsertProductImageDTO](../../../../../product/interfaces/product.UpsertProductImageDTO/page.mdx)[]","description":"The associated images to create or update.","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"id","type":"`string`","description":"The product image's ID. If not provided, the image is created. In\nthat case, the `url` property is required.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"url","type":"`string`","description":"The new URL of the product image.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"metadata","type":"[MetadataType](../../../../../product/types/product.MetadataType/page.mdx)","description":"Holds custom data in key-value pairs.","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"external_id","type":"`null` \\| `string`","description":"The id of the product in an external system","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"type_id","type":"`null` \\| `string`","description":"The product type to associate with the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"collection_id","type":"`null` \\| `string`","description":"The product collection to associate with the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"tag_ids","type":"`string`[]","description":"The tags to associate with the product","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"category_ids","type":"`string`[]","description":"The product categories to associate with the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"options","type":"[UpsertProductOptionDTO](../../../../../product/interfaces/product.UpsertProductOptionDTO/page.mdx)[]","description":"The associated options to create or update.","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"id","type":"`string`","description":"The ID of the product option to update. If not provided, the product\noption is created. In that case, the `title` and `values` properties are\nrequired.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"title","type":"`string`","description":"The product option's title.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"values","type":"`string`[]","description":"The product option values.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"product_id","type":"`string`","description":"The ID of the associated product.","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"variants","type":"[UpsertProductVariantDTO](../../../../../product/interfaces/product.UpsertProductVariantDTO/page.mdx)[]","description":"The product variants to be created and associated with the product.\nYou can also update existing product variants associated with the product.","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"id","type":"`string`","description":"The ID of the product variant to update.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"title","type":"`string`","description":"The tile of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"sku","type":"`null` \\| `string`","description":"The SKU of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"barcode","type":"`null` \\| `string`","description":"The barcode of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"ean","type":"`null` \\| `string`","description":"The EAN of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"upc","type":"`null` \\| `string`","description":"The UPC of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"allow_backorder","type":"`boolean`","description":"Whether the product variant can be ordered when it's out of stock.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"manage_inventory","type":"`boolean`","description":"Whether the product variant's inventory should be managed by the core system.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"hs_code","type":"`null` \\| `string`","description":"The HS Code of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"origin_country","type":"`null` \\| `string`","description":"The origin country of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"mid_code","type":"`null` \\| `string`","description":"The MID Code of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"material","type":"`null` \\| `string`","description":"The material of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"weight","type":"`null` \\| `number`","description":"The weight of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"length","type":"`null` \\| `number`","description":"The length of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"height","type":"`null` \\| `number`","description":"The height of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"width","type":"`null` \\| `number`","description":"The width of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"options","type":"`Record`","description":"The product variant options to associate with the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"metadata","type":"[MetadataType](../../../../../product/types/product.MetadataType/page.mdx)","description":"Holds custom data in key-value pairs.","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"width","type":"`null` \\| `number`","description":"The width of the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"height","type":"`null` \\| `number`","description":"The height of the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"length","type":"`null` \\| `number`","description":"The length of the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"weight","type":"`null` \\| `number`","description":"The weight of the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"origin_country","type":"`null` \\| `string`","description":"The origin country of the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"hs_code","type":"`null` \\| `string`","description":"The HS Code of the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"material","type":"`null` \\| `string`","description":"The material of the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"mid_code","type":"`null` \\| `string`","description":"The MID Code of the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"metadata","type":"[MetadataType](../../../../../product/types/product.MetadataType/page.mdx)","description":"Holds custom data in key-value pairs.","optional":true,"defaultValue":"","expandable":false,"children":[]}]}]}]} expandUrl="https://docs.medusajs.com/v2/advanced-development/data-models/manage-relationships#retrieve-records-of-relation" sectionTitle="updateProductsStep"/> +`","description":"The product variant options to associate with the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"metadata","type":"[MetadataType](../../../../../product/types/product.MetadataType/page.mdx)","description":"Holds custom data in key-value pairs.","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"width","type":"`null` \\| `number`","description":"The width of the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"height","type":"`null` \\| `number`","description":"The height of the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"length","type":"`null` \\| `number`","description":"The length of the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"weight","type":"`null` \\| `number`","description":"The weight of the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"origin_country","type":"`null` \\| `string`","description":"The origin country of the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"hs_code","type":"`null` \\| `string`","description":"The HS Code of the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"material","type":"`null` \\| `string`","description":"The material of the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"mid_code","type":"`null` \\| `string`","description":"The MID Code of the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"metadata","type":"[MetadataType](../../../../../product/types/product.MetadataType/page.mdx)","description":"Holds custom data in key-value pairs.","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"products","type":"[UpsertProductDTO](../../../../../product/interfaces/product.UpsertProductDTO/page.mdx)[]","description":"","optional":false,"defaultValue":"","expandable":false,"children":[{"name":"id","type":"`string`","description":"The ID of the product to update. If not provided, a product\nis created instead. In that case, the `title` property is required.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"title","type":"`string`","description":"The title of the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"subtitle","type":"`null` \\| `string`","description":"The subttle of the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"description","type":"`null` \\| `string`","description":"The description of the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"is_giftcard","type":"`boolean`","description":"Whether the product is a gift card.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"discountable","type":"`boolean`","description":"Whether the product can be discounted.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"thumbnail","type":"`null` \\| `string`","description":"The URL of the product's thumbnail.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"handle","type":"`string`","description":"The handle of the product. The handle can be used to create slug URL paths.\nIf not supplied, the value of the `handle` attribute of the product is set to the slug version of the `title` attribute.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"status","type":"[ProductStatus](../../../../../product/types/product.ProductStatus/page.mdx)","description":"The status of the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"images","type":"[UpsertProductImageDTO](../../../../../product/interfaces/product.UpsertProductImageDTO/page.mdx)[]","description":"The associated images to create or update.","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"id","type":"`string`","description":"The product image's ID. If not provided, the image is created. In\nthat case, the `url` property is required.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"url","type":"`string`","description":"The new URL of the product image.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"metadata","type":"[MetadataType](../../../../../product/types/product.MetadataType/page.mdx)","description":"Holds custom data in key-value pairs.","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"external_id","type":"`null` \\| `string`","description":"The id of the product in an external system","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"type_id","type":"`null` \\| `string`","description":"The product type to associate with the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"collection_id","type":"`null` \\| `string`","description":"The product collection to associate with the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"tag_ids","type":"`string`[]","description":"The tags to associate with the product","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"category_ids","type":"`string`[]","description":"The product categories to associate with the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"options","type":"[UpsertProductOptionDTO](../../../../../product/interfaces/product.UpsertProductOptionDTO/page.mdx)[]","description":"The associated options to create or update.","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"id","type":"`string`","description":"The ID of the product option to update. If not provided, the product\noption is created. In that case, the `title` and `values` properties are\nrequired.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"title","type":"`string`","description":"The product option's title.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"values","type":"`string`[]","description":"The product option values.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"product_id","type":"`string`","description":"The ID of the associated product.","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"variants","type":"[UpsertProductVariantDTO](../../../../../product/interfaces/product.UpsertProductVariantDTO/page.mdx)[]","description":"The product variants to be created and associated with the product.\nYou can also update existing product variants associated with the product.","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"id","type":"`string`","description":"The ID of the product variant to update.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"title","type":"`string`","description":"The tile of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"sku","type":"`null` \\| `string`","description":"The SKU of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"barcode","type":"`null` \\| `string`","description":"The barcode of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"ean","type":"`null` \\| `string`","description":"The EAN of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"upc","type":"`null` \\| `string`","description":"The UPC of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"allow_backorder","type":"`boolean`","description":"Whether the product variant can be ordered when it's out of stock.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"manage_inventory","type":"`boolean`","description":"Whether the product variant's inventory should be managed by the core system.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"hs_code","type":"`null` \\| `string`","description":"The HS Code of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"origin_country","type":"`null` \\| `string`","description":"The origin country of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"mid_code","type":"`null` \\| `string`","description":"The MID Code of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"material","type":"`null` \\| `string`","description":"The material of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"weight","type":"`null` \\| `number`","description":"The weight of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"length","type":"`null` \\| `number`","description":"The length of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"height","type":"`null` \\| `number`","description":"The height of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"width","type":"`null` \\| `number`","description":"The width of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"options","type":"`Record`","description":"The product variant options to associate with the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"metadata","type":"[MetadataType](../../../../../product/types/product.MetadataType/page.mdx)","description":"Holds custom data in key-value pairs.","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"width","type":"`null` \\| `number`","description":"The width of the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"height","type":"`null` \\| `number`","description":"The height of the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"length","type":"`null` \\| `number`","description":"The length of the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"weight","type":"`null` \\| `number`","description":"The weight of the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"origin_country","type":"`null` \\| `string`","description":"The origin country of the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"hs_code","type":"`null` \\| `string`","description":"The HS Code of the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"material","type":"`null` \\| `string`","description":"The material of the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"mid_code","type":"`null` \\| `string`","description":"The MID Code of the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"metadata","type":"[MetadataType](../../../../../product/types/product.MetadataType/page.mdx)","description":"Holds custom data in key-value pairs.","optional":true,"defaultValue":"","expandable":false,"children":[]}]}]}]} expandUrl="https://docs.medusajs.com/v2/advanced-development/data-models/manage-relationships#retrieve-records-of-relation" sectionTitle="updateProductsStep"/> ## Output diff --git a/www/apps/resources/references/core_flows/Product/Workflows_Product/functions/core_flows.Product.Workflows_Product.exportProductsWorkflow/page.mdx b/www/apps/resources/references/core_flows/Product/Workflows_Product/functions/core_flows.Product.Workflows_Product.exportProductsWorkflow/page.mdx index 1811570d8b591..cf8e6436c77c0 100644 --- a/www/apps/resources/references/core_flows/Product/Workflows_Product/functions/core_flows.Product.Workflows_Product.exportProductsWorkflow/page.mdx +++ b/www/apps/resources/references/core_flows/Product/Workflows_Product/functions/core_flows.Product.Workflows_Product.exportProductsWorkflow/page.mdx @@ -17,4 +17,4 @@ This workflow exports products matching the specified filters. ## Input - + diff --git a/www/apps/resources/references/core_flows/Product/Workflows_Product/functions/core_flows.Product.Workflows_Product.updateProductsWorkflow/page.mdx b/www/apps/resources/references/core_flows/Product/Workflows_Product/functions/core_flows.Product.Workflows_Product.updateProductsWorkflow/page.mdx index 519c895a57a99..4695c876ac06b 100644 --- a/www/apps/resources/references/core_flows/Product/Workflows_Product/functions/core_flows.Product.Workflows_Product.updateProductsWorkflow/page.mdx +++ b/www/apps/resources/references/core_flows/Product/Workflows_Product/functions/core_flows.Product.Workflows_Product.updateProductsWorkflow/page.mdx @@ -17,7 +17,7 @@ This workflow updates one or more products. ## Input -`","description":"The product variant options to associate with the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"metadata","type":"[MetadataType](../../../../../product/types/product.MetadataType/page.mdx)","description":"Holds custom data in key-value pairs.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"prices","type":"[CreateMoneyAmountDTO](../../../../../pricing/interfaces/pricing.CreateMoneyAmountDTO/page.mdx)[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]}]}]},{"name":"products","type":"Omit<[UpsertProductDTO](../../../../../product/interfaces/product.UpsertProductDTO/page.mdx), \"variants\"> & `object`[]","description":"","optional":false,"defaultValue":"","expandable":false,"children":[{"name":"sales_channels","type":"`object`[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"id","type":"`string`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]}]},{"name":"variants","type":"[UpdateProductVariantWorkflowInputDTO](../../../../../types/types/types.UpdateProductVariantWorkflowInputDTO/page.mdx)[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"id","type":"`string`","description":"The ID of the product variant to update.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"title","type":"`string`","description":"The tile of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"sku","type":"`null` \\| `string`","description":"The SKU of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"barcode","type":"`null` \\| `string`","description":"The barcode of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"ean","type":"`null` \\| `string`","description":"The EAN of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"upc","type":"`null` \\| `string`","description":"The UPC of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"allow_backorder","type":"`boolean`","description":"Whether the product variant can be ordered when it's out of stock.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"manage_inventory","type":"`boolean`","description":"Whether the product variant's inventory should be managed by the core system.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"hs_code","type":"`null` \\| `string`","description":"The HS Code of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"origin_country","type":"`null` \\| `string`","description":"The origin country of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"mid_code","type":"`null` \\| `string`","description":"The MID Code of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"material","type":"`null` \\| `string`","description":"The material of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"weight","type":"`null` \\| `number`","description":"The weight of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"length","type":"`null` \\| `number`","description":"The length of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"height","type":"`null` \\| `number`","description":"The height of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"width","type":"`null` \\| `number`","description":"The width of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"options","type":"`Record`","description":"The product variant options to associate with the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"metadata","type":"[MetadataType](../../../../../product/types/product.MetadataType/page.mdx)","description":"Holds custom data in key-value pairs.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"prices","type":"[CreateMoneyAmountDTO](../../../../../pricing/interfaces/pricing.CreateMoneyAmountDTO/page.mdx)[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]}]}]},{"name":"additional_data","type":"`Record`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"additional_data","type":"`Record`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]}]}]} expandUrl="https://docs.medusajs.com/v2/advanced-development/data-models/manage-relationships#retrieve-records-of-relation" sectionTitle="updateProductsWorkflow"/> +`","description":"The product variant options to associate with the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"metadata","type":"[MetadataType](../../../../../product/types/product.MetadataType/page.mdx)","description":"Holds custom data in key-value pairs.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"prices","type":"[CreateMoneyAmountDTO](../../../../../pricing/interfaces/pricing.CreateMoneyAmountDTO/page.mdx)[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]}]}]},{"name":"products","type":"Omit<[UpsertProductDTO](../../../../../product/interfaces/product.UpsertProductDTO/page.mdx), \"variants\"> & `object`[]","description":"","optional":false,"defaultValue":"","expandable":false,"children":[{"name":"sales_channels","type":"`object`[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"id","type":"`string`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]}]},{"name":"variants","type":"[UpdateProductVariantWorkflowInputDTO](../../../../../types/types/types.UpdateProductVariantWorkflowInputDTO/page.mdx)[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"id","type":"`string`","description":"The ID of the product variant to update.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"title","type":"`string`","description":"The tile of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"sku","type":"`null` \\| `string`","description":"The SKU of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"barcode","type":"`null` \\| `string`","description":"The barcode of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"ean","type":"`null` \\| `string`","description":"The EAN of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"upc","type":"`null` \\| `string`","description":"The UPC of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"allow_backorder","type":"`boolean`","description":"Whether the product variant can be ordered when it's out of stock.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"manage_inventory","type":"`boolean`","description":"Whether the product variant's inventory should be managed by the core system.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"hs_code","type":"`null` \\| `string`","description":"The HS Code of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"origin_country","type":"`null` \\| `string`","description":"The origin country of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"mid_code","type":"`null` \\| `string`","description":"The MID Code of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"material","type":"`null` \\| `string`","description":"The material of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"weight","type":"`null` \\| `number`","description":"The weight of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"length","type":"`null` \\| `number`","description":"The length of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"height","type":"`null` \\| `number`","description":"The height of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"width","type":"`null` \\| `number`","description":"The width of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"options","type":"`Record`","description":"The product variant options to associate with the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"metadata","type":"[MetadataType](../../../../../product/types/product.MetadataType/page.mdx)","description":"Holds custom data in key-value pairs.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"prices","type":"[CreateMoneyAmountDTO](../../../../../pricing/interfaces/pricing.CreateMoneyAmountDTO/page.mdx)[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]}]}]},{"name":"additional_data","type":"`Record`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"additional_data","type":"`Record`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]}]}]} expandUrl="https://docs.medusajs.com/v2/advanced-development/data-models/manage-relationships#retrieve-records-of-relation" sectionTitle="updateProductsWorkflow"/> ## Output diff --git a/www/apps/resources/references/core_flows/Product/core_flows.Product.Steps_Product/page.mdx b/www/apps/resources/references/core_flows/Product/core_flows.Product.Steps_Product/page.mdx index 852f2b7aa03fe..61662078b2370 100644 --- a/www/apps/resources/references/core_flows/Product/core_flows.Product.Steps_Product/page.mdx +++ b/www/apps/resources/references/core_flows/Product/core_flows.Product.Steps_Product/page.mdx @@ -213,7 +213,7 @@ This step retrieves all products. ### Input - + ### Output @@ -339,7 +339,7 @@ This step updates one or more products. ### Input -`","description":"The product variant options to associate with the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"metadata","type":"[MetadataType](../../../product/types/product.MetadataType/page.mdx)","description":"Holds custom data in key-value pairs.","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"width","type":"`null` \\| `number`","description":"The width of the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"height","type":"`null` \\| `number`","description":"The height of the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"length","type":"`null` \\| `number`","description":"The length of the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"weight","type":"`null` \\| `number`","description":"The weight of the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"origin_country","type":"`null` \\| `string`","description":"The origin country of the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"hs_code","type":"`null` \\| `string`","description":"The HS Code of the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"material","type":"`null` \\| `string`","description":"The material of the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"mid_code","type":"`null` \\| `string`","description":"The MID Code of the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"metadata","type":"[MetadataType](../../../product/types/product.MetadataType/page.mdx)","description":"Holds custom data in key-value pairs.","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"products","type":"[UpsertProductDTO](../../../product/interfaces/product.UpsertProductDTO/page.mdx)[]","description":"","optional":false,"defaultValue":"","expandable":false,"children":[{"name":"id","type":"`string`","description":"The ID of the product to update. If not provided, a product\nis created instead. In that case, the `title` property is required.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"title","type":"`string`","description":"The title of the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"subtitle","type":"`null` \\| `string`","description":"The subttle of the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"description","type":"`null` \\| `string`","description":"The description of the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"is_giftcard","type":"`boolean`","description":"Whether the product is a gift card.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"discountable","type":"`boolean`","description":"Whether the product can be discounted.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"thumbnail","type":"`null` \\| `string`","description":"The URL of the product's thumbnail.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"handle","type":"`string`","description":"The handle of the product. The handle can be used to create slug URL paths.\nIf not supplied, the value of the `handle` attribute of the product is set to the slug version of the `title` attribute.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"status","type":"[ProductStatus](../../../product/types/product.ProductStatus/page.mdx)","description":"The status of the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"images","type":"[UpsertProductImageDTO](../../../product/interfaces/product.UpsertProductImageDTO/page.mdx)[]","description":"The associated images to create or update.","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"id","type":"`string`","description":"The product image's ID. If not provided, the image is created. In\nthat case, the `url` property is required.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"url","type":"`string`","description":"The new URL of the product image.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"metadata","type":"[MetadataType](../../../product/types/product.MetadataType/page.mdx)","description":"Holds custom data in key-value pairs.","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"external_id","type":"`null` \\| `string`","description":"The id of the product in an external system","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"type_id","type":"`null` \\| `string`","description":"The product type to associate with the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"collection_id","type":"`null` \\| `string`","description":"The product collection to associate with the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"tag_ids","type":"`string`[]","description":"The tags to associate with the product","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"category_ids","type":"`string`[]","description":"The product categories to associate with the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"options","type":"[UpsertProductOptionDTO](../../../product/interfaces/product.UpsertProductOptionDTO/page.mdx)[]","description":"The associated options to create or update.","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"id","type":"`string`","description":"The ID of the product option to update. If not provided, the product\noption is created. In that case, the `title` and `values` properties are\nrequired.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"title","type":"`string`","description":"The product option's title.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"values","type":"`string`[]","description":"The product option values.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"product_id","type":"`string`","description":"The ID of the associated product.","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"variants","type":"[UpsertProductVariantDTO](../../../product/interfaces/product.UpsertProductVariantDTO/page.mdx)[]","description":"The product variants to be created and associated with the product.\nYou can also update existing product variants associated with the product.","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"id","type":"`string`","description":"The ID of the product variant to update.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"title","type":"`string`","description":"The tile of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"sku","type":"`null` \\| `string`","description":"The SKU of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"barcode","type":"`null` \\| `string`","description":"The barcode of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"ean","type":"`null` \\| `string`","description":"The EAN of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"upc","type":"`null` \\| `string`","description":"The UPC of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"allow_backorder","type":"`boolean`","description":"Whether the product variant can be ordered when it's out of stock.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"manage_inventory","type":"`boolean`","description":"Whether the product variant's inventory should be managed by the core system.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"hs_code","type":"`null` \\| `string`","description":"The HS Code of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"origin_country","type":"`null` \\| `string`","description":"The origin country of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"mid_code","type":"`null` \\| `string`","description":"The MID Code of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"material","type":"`null` \\| `string`","description":"The material of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"weight","type":"`null` \\| `number`","description":"The weight of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"length","type":"`null` \\| `number`","description":"The length of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"height","type":"`null` \\| `number`","description":"The height of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"width","type":"`null` \\| `number`","description":"The width of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"options","type":"`Record`","description":"The product variant options to associate with the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"metadata","type":"[MetadataType](../../../product/types/product.MetadataType/page.mdx)","description":"Holds custom data in key-value pairs.","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"width","type":"`null` \\| `number`","description":"The width of the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"height","type":"`null` \\| `number`","description":"The height of the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"length","type":"`null` \\| `number`","description":"The length of the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"weight","type":"`null` \\| `number`","description":"The weight of the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"origin_country","type":"`null` \\| `string`","description":"The origin country of the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"hs_code","type":"`null` \\| `string`","description":"The HS Code of the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"material","type":"`null` \\| `string`","description":"The material of the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"mid_code","type":"`null` \\| `string`","description":"The MID Code of the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"metadata","type":"[MetadataType](../../../product/types/product.MetadataType/page.mdx)","description":"Holds custom data in key-value pairs.","optional":true,"defaultValue":"","expandable":false,"children":[]}]}]}]} expandUrl="https://docs.medusajs.com/v2/advanced-development/data-models/manage-relationships#retrieve-records-of-relation" sectionTitle="updateProductsStep"/> +`","description":"The product variant options to associate with the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"metadata","type":"[MetadataType](../../../product/types/product.MetadataType/page.mdx)","description":"Holds custom data in key-value pairs.","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"width","type":"`null` \\| `number`","description":"The width of the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"height","type":"`null` \\| `number`","description":"The height of the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"length","type":"`null` \\| `number`","description":"The length of the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"weight","type":"`null` \\| `number`","description":"The weight of the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"origin_country","type":"`null` \\| `string`","description":"The origin country of the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"hs_code","type":"`null` \\| `string`","description":"The HS Code of the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"material","type":"`null` \\| `string`","description":"The material of the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"mid_code","type":"`null` \\| `string`","description":"The MID Code of the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"metadata","type":"[MetadataType](../../../product/types/product.MetadataType/page.mdx)","description":"Holds custom data in key-value pairs.","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"products","type":"[UpsertProductDTO](../../../product/interfaces/product.UpsertProductDTO/page.mdx)[]","description":"","optional":false,"defaultValue":"","expandable":false,"children":[{"name":"id","type":"`string`","description":"The ID of the product to update. If not provided, a product\nis created instead. In that case, the `title` property is required.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"title","type":"`string`","description":"The title of the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"subtitle","type":"`null` \\| `string`","description":"The subttle of the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"description","type":"`null` \\| `string`","description":"The description of the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"is_giftcard","type":"`boolean`","description":"Whether the product is a gift card.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"discountable","type":"`boolean`","description":"Whether the product can be discounted.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"thumbnail","type":"`null` \\| `string`","description":"The URL of the product's thumbnail.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"handle","type":"`string`","description":"The handle of the product. The handle can be used to create slug URL paths.\nIf not supplied, the value of the `handle` attribute of the product is set to the slug version of the `title` attribute.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"status","type":"[ProductStatus](../../../product/types/product.ProductStatus/page.mdx)","description":"The status of the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"images","type":"[UpsertProductImageDTO](../../../product/interfaces/product.UpsertProductImageDTO/page.mdx)[]","description":"The associated images to create or update.","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"id","type":"`string`","description":"The product image's ID. If not provided, the image is created. In\nthat case, the `url` property is required.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"url","type":"`string`","description":"The new URL of the product image.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"metadata","type":"[MetadataType](../../../product/types/product.MetadataType/page.mdx)","description":"Holds custom data in key-value pairs.","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"external_id","type":"`null` \\| `string`","description":"The id of the product in an external system","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"type_id","type":"`null` \\| `string`","description":"The product type to associate with the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"collection_id","type":"`null` \\| `string`","description":"The product collection to associate with the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"tag_ids","type":"`string`[]","description":"The tags to associate with the product","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"category_ids","type":"`string`[]","description":"The product categories to associate with the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"options","type":"[UpsertProductOptionDTO](../../../product/interfaces/product.UpsertProductOptionDTO/page.mdx)[]","description":"The associated options to create or update.","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"id","type":"`string`","description":"The ID of the product option to update. If not provided, the product\noption is created. In that case, the `title` and `values` properties are\nrequired.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"title","type":"`string`","description":"The product option's title.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"values","type":"`string`[]","description":"The product option values.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"product_id","type":"`string`","description":"The ID of the associated product.","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"variants","type":"[UpsertProductVariantDTO](../../../product/interfaces/product.UpsertProductVariantDTO/page.mdx)[]","description":"The product variants to be created and associated with the product.\nYou can also update existing product variants associated with the product.","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"id","type":"`string`","description":"The ID of the product variant to update.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"title","type":"`string`","description":"The tile of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"sku","type":"`null` \\| `string`","description":"The SKU of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"barcode","type":"`null` \\| `string`","description":"The barcode of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"ean","type":"`null` \\| `string`","description":"The EAN of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"upc","type":"`null` \\| `string`","description":"The UPC of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"allow_backorder","type":"`boolean`","description":"Whether the product variant can be ordered when it's out of stock.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"manage_inventory","type":"`boolean`","description":"Whether the product variant's inventory should be managed by the core system.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"hs_code","type":"`null` \\| `string`","description":"The HS Code of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"origin_country","type":"`null` \\| `string`","description":"The origin country of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"mid_code","type":"`null` \\| `string`","description":"The MID Code of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"material","type":"`null` \\| `string`","description":"The material of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"weight","type":"`null` \\| `number`","description":"The weight of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"length","type":"`null` \\| `number`","description":"The length of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"height","type":"`null` \\| `number`","description":"The height of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"width","type":"`null` \\| `number`","description":"The width of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"options","type":"`Record`","description":"The product variant options to associate with the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"metadata","type":"[MetadataType](../../../product/types/product.MetadataType/page.mdx)","description":"Holds custom data in key-value pairs.","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"width","type":"`null` \\| `number`","description":"The width of the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"height","type":"`null` \\| `number`","description":"The height of the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"length","type":"`null` \\| `number`","description":"The length of the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"weight","type":"`null` \\| `number`","description":"The weight of the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"origin_country","type":"`null` \\| `string`","description":"The origin country of the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"hs_code","type":"`null` \\| `string`","description":"The HS Code of the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"material","type":"`null` \\| `string`","description":"The material of the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"mid_code","type":"`null` \\| `string`","description":"The MID Code of the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"metadata","type":"[MetadataType](../../../product/types/product.MetadataType/page.mdx)","description":"Holds custom data in key-value pairs.","optional":true,"defaultValue":"","expandable":false,"children":[]}]}]}]} expandUrl="https://docs.medusajs.com/v2/advanced-development/data-models/manage-relationships#retrieve-records-of-relation" sectionTitle="updateProductsStep"/> ### Output diff --git a/www/apps/resources/references/core_flows/Product/core_flows.Product.Workflows_Product/page.mdx b/www/apps/resources/references/core_flows/Product/core_flows.Product.Workflows_Product/page.mdx index f4e145a2cc551..2fdb0cbdb9613 100644 --- a/www/apps/resources/references/core_flows/Product/core_flows.Product.Workflows_Product/page.mdx +++ b/www/apps/resources/references/core_flows/Product/core_flows.Product.Workflows_Product/page.mdx @@ -554,7 +554,7 @@ This workflow exports products matching the specified filters. ### Input - + ___ @@ -786,7 +786,7 @@ This workflow updates one or more products. ### Input -`","description":"The product variant options to associate with the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"metadata","type":"[MetadataType](../../../product/types/product.MetadataType/page.mdx)","description":"Holds custom data in key-value pairs.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"prices","type":"[CreateMoneyAmountDTO](../../../pricing/interfaces/pricing.CreateMoneyAmountDTO/page.mdx)[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]}]}]},{"name":"products","type":"Omit<[UpsertProductDTO](../../../product/interfaces/product.UpsertProductDTO/page.mdx), \"variants\"> & `object`[]","description":"","optional":false,"defaultValue":"","expandable":false,"children":[{"name":"sales_channels","type":"`object`[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"id","type":"`string`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]}]},{"name":"variants","type":"[UpdateProductVariantWorkflowInputDTO](../../../types/types/types.UpdateProductVariantWorkflowInputDTO/page.mdx)[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"id","type":"`string`","description":"The ID of the product variant to update.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"title","type":"`string`","description":"The tile of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"sku","type":"`null` \\| `string`","description":"The SKU of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"barcode","type":"`null` \\| `string`","description":"The barcode of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"ean","type":"`null` \\| `string`","description":"The EAN of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"upc","type":"`null` \\| `string`","description":"The UPC of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"allow_backorder","type":"`boolean`","description":"Whether the product variant can be ordered when it's out of stock.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"manage_inventory","type":"`boolean`","description":"Whether the product variant's inventory should be managed by the core system.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"hs_code","type":"`null` \\| `string`","description":"The HS Code of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"origin_country","type":"`null` \\| `string`","description":"The origin country of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"mid_code","type":"`null` \\| `string`","description":"The MID Code of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"material","type":"`null` \\| `string`","description":"The material of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"weight","type":"`null` \\| `number`","description":"The weight of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"length","type":"`null` \\| `number`","description":"The length of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"height","type":"`null` \\| `number`","description":"The height of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"width","type":"`null` \\| `number`","description":"The width of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"options","type":"`Record`","description":"The product variant options to associate with the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"metadata","type":"[MetadataType](../../../product/types/product.MetadataType/page.mdx)","description":"Holds custom data in key-value pairs.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"prices","type":"[CreateMoneyAmountDTO](../../../pricing/interfaces/pricing.CreateMoneyAmountDTO/page.mdx)[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]}]}]},{"name":"additional_data","type":"`Record`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"additional_data","type":"`Record`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]}]}]} expandUrl="https://docs.medusajs.com/v2/advanced-development/data-models/manage-relationships#retrieve-records-of-relation" sectionTitle="updateProductsWorkflow"/> +`","description":"The product variant options to associate with the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"metadata","type":"[MetadataType](../../../product/types/product.MetadataType/page.mdx)","description":"Holds custom data in key-value pairs.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"prices","type":"[CreateMoneyAmountDTO](../../../pricing/interfaces/pricing.CreateMoneyAmountDTO/page.mdx)[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]}]}]},{"name":"products","type":"Omit<[UpsertProductDTO](../../../product/interfaces/product.UpsertProductDTO/page.mdx), \"variants\"> & `object`[]","description":"","optional":false,"defaultValue":"","expandable":false,"children":[{"name":"sales_channels","type":"`object`[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"id","type":"`string`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]}]},{"name":"variants","type":"[UpdateProductVariantWorkflowInputDTO](../../../types/types/types.UpdateProductVariantWorkflowInputDTO/page.mdx)[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"id","type":"`string`","description":"The ID of the product variant to update.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"title","type":"`string`","description":"The tile of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"sku","type":"`null` \\| `string`","description":"The SKU of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"barcode","type":"`null` \\| `string`","description":"The barcode of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"ean","type":"`null` \\| `string`","description":"The EAN of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"upc","type":"`null` \\| `string`","description":"The UPC of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"allow_backorder","type":"`boolean`","description":"Whether the product variant can be ordered when it's out of stock.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"manage_inventory","type":"`boolean`","description":"Whether the product variant's inventory should be managed by the core system.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"hs_code","type":"`null` \\| `string`","description":"The HS Code of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"origin_country","type":"`null` \\| `string`","description":"The origin country of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"mid_code","type":"`null` \\| `string`","description":"The MID Code of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"material","type":"`null` \\| `string`","description":"The material of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"weight","type":"`null` \\| `number`","description":"The weight of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"length","type":"`null` \\| `number`","description":"The length of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"height","type":"`null` \\| `number`","description":"The height of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"width","type":"`null` \\| `number`","description":"The width of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"options","type":"`Record`","description":"The product variant options to associate with the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"metadata","type":"[MetadataType](../../../product/types/product.MetadataType/page.mdx)","description":"Holds custom data in key-value pairs.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"prices","type":"[CreateMoneyAmountDTO](../../../pricing/interfaces/pricing.CreateMoneyAmountDTO/page.mdx)[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]}]}]},{"name":"additional_data","type":"`Record`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"additional_data","type":"`Record`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]}]}]} expandUrl="https://docs.medusajs.com/v2/advanced-development/data-models/manage-relationships#retrieve-records-of-relation" sectionTitle="updateProductsWorkflow"/> ### Output diff --git a/www/apps/resources/references/core_flows/core_flows.Steps_Product/page.mdx b/www/apps/resources/references/core_flows/core_flows.Steps_Product/page.mdx index 65446011bcd84..5917cc40f030b 100644 --- a/www/apps/resources/references/core_flows/core_flows.Steps_Product/page.mdx +++ b/www/apps/resources/references/core_flows/core_flows.Steps_Product/page.mdx @@ -118,7 +118,7 @@ import { TypeList, WorkflowDiagram } from "docs-ui" - [\_\_type](undefined) - [\_\_type](undefined) -`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"inventory_items","type":"[AdminCreateProductVariantInventoryKit](../../types/HttpTypes/interfaces/types.HttpTypes.AdminCreateProductVariantInventoryKit/page.mdx)[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"options","type":"`Record`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"sales_channels","type":"`object`[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"id","type":"`string`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]}]},{"name":"weight","type":"`number`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"length","type":"`number`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"height","type":"`number`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"width","type":"`number`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"hs_code","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"mid_code","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"origin_country","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"material","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"metadata","type":"`Record`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"create","type":"[AdminCreateProduct](../../types/HttpTypes/interfaces/types.HttpTypes.AdminCreateProduct/page.mdx)[]","description":"","optional":false,"defaultValue":"toCreate","expandable":false,"children":[{"name":"title","type":"`string`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"options","type":"[AdminCreateProductOption](../../types/HttpTypes/interfaces/types.HttpTypes.AdminCreateProductOption/page.mdx)[]","description":"","optional":false,"defaultValue":"","expandable":false,"children":[{"name":"title","type":"`string`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"values","type":"`string`[]","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]}]},{"name":"subtitle","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"description","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"is_giftcard","type":"`boolean`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"discountable","type":"`boolean`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"images","type":"`object`[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"url","type":"`string`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]}]},{"name":"thumbnail","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"handle","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"status","type":"[ProductStatus](../../types/types/types.ProductStatus/page.mdx)","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"type_id","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"external_id","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"collection_id","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"categories","type":"`object`[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"id","type":"`string`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]}]},{"name":"tags","type":"`object`[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"id","type":"`string`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]}]},{"name":"variants","type":"[AdminCreateProductVariant](../../types/HttpTypes/interfaces/types.HttpTypes.AdminCreateProductVariant/page.mdx)[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"title","type":"`string`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"prices","type":"[AdminCreateProductVariantPrice](../../types/HttpTypes/interfaces/types.HttpTypes.AdminCreateProductVariantPrice/page.mdx)[]","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"sku","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"ean","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"upc","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"barcode","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"hs_code","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"mid_code","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"allow_backorder","type":"`boolean`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"manage_inventory","type":"`boolean`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"variant_rank","type":"`number`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"weight","type":"`number`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"length","type":"`number`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"height","type":"`number`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"width","type":"`number`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"origin_country","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"material","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"metadata","type":"`Record`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"inventory_items","type":"[AdminCreateProductVariantInventoryKit](../../types/HttpTypes/interfaces/types.HttpTypes.AdminCreateProductVariantInventoryKit/page.mdx)[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"options","type":"`Record`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"sales_channels","type":"`object`[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"id","type":"`string`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]}]},{"name":"weight","type":"`number`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"length","type":"`number`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"height","type":"`number`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"width","type":"`number`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"hs_code","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"mid_code","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"origin_country","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"material","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"metadata","type":"`Record`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"create","type":"[AdminCreateProduct](../../types/HttpTypes/interfaces/types.HttpTypes.AdminCreateProduct/page.mdx)[]","description":"","optional":false,"defaultValue":"toCreate","expandable":false,"children":[{"name":"title","type":"`string`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"options","type":"[AdminCreateProductOption](../../types/HttpTypes/interfaces/types.HttpTypes.AdminCreateProductOption/page.mdx)[]","description":"","optional":false,"defaultValue":"","expandable":false,"children":[{"name":"title","type":"`string`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"values","type":"`string`[]","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]}]},{"name":"subtitle","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"description","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"is_giftcard","type":"`boolean`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"discountable","type":"`boolean`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"images","type":"`object`[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"url","type":"`string`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]}]},{"name":"thumbnail","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"handle","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"status","type":"[ProductStatus](../../types/types/types.ProductStatus/page.mdx)","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"type_id","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"external_id","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"collection_id","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"categories","type":"`object`[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"id","type":"`string`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]}]},{"name":"tags","type":"`object`[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"id","type":"`string`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]}]},{"name":"variants","type":"[AdminCreateProductVariant](../../types/HttpTypes/interfaces/types.HttpTypes.AdminCreateProductVariant/page.mdx)[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"title","type":"`string`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"prices","type":"[AdminCreateProductVariantPrice](../../types/HttpTypes/interfaces/types.HttpTypes.AdminCreateProductVariantPrice/page.mdx)[]","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"sku","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"ean","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"upc","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"barcode","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"hs_code","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"mid_code","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"allow_backorder","type":"`boolean`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"manage_inventory","type":"`boolean`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"variant_rank","type":"`number`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"weight","type":"`number`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"length","type":"`number`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"height","type":"`number`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"width","type":"`number`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"origin_country","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"material","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"metadata","type":"`Record`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"inventory_items","type":"[AdminCreateProductVariantInventoryKit](../../types/HttpTypes/interfaces/types.HttpTypes.AdminCreateProductVariantInventoryKit/page.mdx)[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"options","type":"`Record`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"sales_channels","type":"`object`[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"id","type":"`string`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]}]},{"name":"weight","type":"`number`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"length","type":"`number`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"height","type":"`number`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"width","type":"`number`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"hs_code","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"mid_code","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"origin_country","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"material","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"metadata","type":"`Record`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"create","type":"[AdminCreateProduct](../../types/HttpTypes/interfaces/types.HttpTypes.AdminCreateProduct/page.mdx)[]","description":"","optional":false,"defaultValue":"toCreate","expandable":false,"children":[{"name":"title","type":"`string`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"options","type":"[AdminCreateProductOption](../../types/HttpTypes/interfaces/types.HttpTypes.AdminCreateProductOption/page.mdx)[]","description":"","optional":false,"defaultValue":"","expandable":false,"children":[{"name":"title","type":"`string`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"values","type":"`string`[]","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]}]},{"name":"subtitle","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"description","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"is_giftcard","type":"`boolean`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"discountable","type":"`boolean`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"images","type":"`object`[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"url","type":"`string`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]}]},{"name":"thumbnail","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"handle","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"status","type":"[ProductStatus](../../types/types/types.ProductStatus/page.mdx)","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"type_id","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"external_id","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"collection_id","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"categories","type":"`object`[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"id","type":"`string`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]}]},{"name":"tags","type":"`object`[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"id","type":"`string`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]}]},{"name":"variants","type":"[AdminCreateProductVariant](../../types/HttpTypes/interfaces/types.HttpTypes.AdminCreateProductVariant/page.mdx)[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"title","type":"`string`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"prices","type":"[AdminCreateProductVariantPrice](../../types/HttpTypes/interfaces/types.HttpTypes.AdminCreateProductVariantPrice/page.mdx)[]","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"sku","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"ean","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"upc","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"barcode","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"hs_code","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"mid_code","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"allow_backorder","type":"`boolean`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"manage_inventory","type":"`boolean`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"variant_rank","type":"`number`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"weight","type":"`number`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"length","type":"`number`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"height","type":"`number`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"width","type":"`number`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"origin_country","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"material","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"metadata","type":"`Record`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"inventory_items","type":"[AdminCreateProductVariantInventoryKit](../../types/HttpTypes/interfaces/types.HttpTypes.AdminCreateProductVariantInventoryKit/page.mdx)[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"options","type":"`Record`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"sales_channels","type":"`object`[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"id","type":"`string`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]}]},{"name":"weight","type":"`number`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"length","type":"`number`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"height","type":"`number`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"width","type":"`number`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"hs_code","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"mid_code","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"origin_country","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"material","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"metadata","type":"`Record`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"update","type":"[AdminUpdateProduct](../../types/HttpTypes/interfaces/types.HttpTypes.AdminUpdateProduct/page.mdx) & `object`[]","description":"","optional":false,"defaultValue":"toUpdate","expandable":false,"children":[{"name":"id","type":"`string`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"title","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"subtitle","type":"`null` \\| `string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"description","type":"`null` \\| `string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"is_giftcard","type":"`boolean`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"discountable","type":"`boolean`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"images","type":"`object`[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"url","type":"`string`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]}]},{"name":"thumbnail","type":"`null` \\| `string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"handle","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"status","type":"[ProductStatus](../../types/types/types.ProductStatus/page.mdx)","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"type_id","type":"`null` \\| `string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"external_id","type":"`null` \\| `string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"collection_id","type":"`null` \\| `string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"categories","type":"`object`[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"id","type":"`string`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]}]},{"name":"tags","type":"`object`[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"id","type":"`string`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]}]},{"name":"options","type":"[AdminUpdateProductOption](../../types/HttpTypes/interfaces/types.HttpTypes.AdminUpdateProductOption/page.mdx)[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"title","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"values","type":"`string`[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"variants","type":"([AdminCreateProductVariant](../../types/HttpTypes/interfaces/types.HttpTypes.AdminCreateProductVariant/page.mdx) \\| [AdminUpdateProductVariant](../../types/HttpTypes/interfaces/types.HttpTypes.AdminUpdateProductVariant/page.mdx))[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"title","type":"`string`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"prices","type":"[AdminCreateProductVariantPrice](../../types/HttpTypes/interfaces/types.HttpTypes.AdminCreateProductVariantPrice/page.mdx)[]","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"sku","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"ean","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"upc","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"barcode","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"hs_code","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"mid_code","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"allow_backorder","type":"`boolean`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"manage_inventory","type":"`boolean`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"variant_rank","type":"`number`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"weight","type":"`number`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"length","type":"`number`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"height","type":"`number`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"width","type":"`number`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"origin_country","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"material","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"metadata","type":"`Record`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"inventory_items","type":"[AdminCreateProductVariantInventoryKit](../../types/HttpTypes/interfaces/types.HttpTypes.AdminCreateProductVariantInventoryKit/page.mdx)[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"options","type":"`Record`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"title","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"sku","type":"`null` \\| `string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"ean","type":"`null` \\| `string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"upc","type":"`null` \\| `string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"barcode","type":"`null` \\| `string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"hs_code","type":"`null` \\| `string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"mid_code","type":"`null` \\| `string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"allow_backorder","type":"`boolean`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"manage_inventory","type":"`boolean`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"variant_rank","type":"`number`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"weight","type":"`null` \\| `number`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"length","type":"`null` \\| `number`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"height","type":"`null` \\| `number`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"width","type":"`null` \\| `number`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"origin_country","type":"`null` \\| `string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"material","type":"`null` \\| `string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"metadata","type":"`null` \\| `Record`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"prices","type":"[AdminCreateProductVariantPrice](../../types/HttpTypes/interfaces/types.HttpTypes.AdminCreateProductVariantPrice/page.mdx)[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"options","type":"`Record`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"sales_channels","type":"`object`[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"id","type":"`string`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]}]},{"name":"weight","type":"`null` \\| `number`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"length","type":"`null` \\| `number`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"height","type":"`null` \\| `number`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"width","type":"`null` \\| `number`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"hs_code","type":"`null` \\| `string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"mid_code","type":"`null` \\| `string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"origin_country","type":"`null` \\| `string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"material","type":"`null` \\| `string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"metadata","type":"`null` \\| `Record`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"update","type":"[AdminUpdateProduct](../../types/HttpTypes/interfaces/types.HttpTypes.AdminUpdateProduct/page.mdx) & `object`[]","description":"","optional":false,"defaultValue":"toUpdate","expandable":false,"children":[{"name":"id","type":"`string`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"title","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"subtitle","type":"`null` \\| `string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"description","type":"`null` \\| `string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"is_giftcard","type":"`boolean`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"discountable","type":"`boolean`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"images","type":"`object`[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"url","type":"`string`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]}]},{"name":"thumbnail","type":"`null` \\| `string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"handle","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"status","type":"[ProductStatus](../../types/types/types.ProductStatus/page.mdx)","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"type_id","type":"`null` \\| `string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"external_id","type":"`null` \\| `string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"collection_id","type":"`null` \\| `string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"categories","type":"`object`[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"id","type":"`string`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]}]},{"name":"tags","type":"`object`[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"id","type":"`string`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]}]},{"name":"options","type":"[AdminUpdateProductOption](../../types/HttpTypes/interfaces/types.HttpTypes.AdminUpdateProductOption/page.mdx)[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"title","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"values","type":"`string`[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"variants","type":"([AdminCreateProductVariant](../../types/HttpTypes/interfaces/types.HttpTypes.AdminCreateProductVariant/page.mdx) \\| [AdminUpdateProductVariant](../../types/HttpTypes/interfaces/types.HttpTypes.AdminUpdateProductVariant/page.mdx))[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"title","type":"`string`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"prices","type":"[AdminCreateProductVariantPrice](../../types/HttpTypes/interfaces/types.HttpTypes.AdminCreateProductVariantPrice/page.mdx)[]","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"sku","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"ean","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"upc","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"barcode","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"hs_code","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"mid_code","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"allow_backorder","type":"`boolean`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"manage_inventory","type":"`boolean`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"variant_rank","type":"`number`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"weight","type":"`number`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"length","type":"`number`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"height","type":"`number`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"width","type":"`number`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"origin_country","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"material","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"metadata","type":"`Record`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"inventory_items","type":"[AdminCreateProductVariantInventoryKit](../../types/HttpTypes/interfaces/types.HttpTypes.AdminCreateProductVariantInventoryKit/page.mdx)[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"options","type":"`Record`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"title","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"sku","type":"`null` \\| `string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"ean","type":"`null` \\| `string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"upc","type":"`null` \\| `string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"barcode","type":"`null` \\| `string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"hs_code","type":"`null` \\| `string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"mid_code","type":"`null` \\| `string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"allow_backorder","type":"`boolean`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"manage_inventory","type":"`boolean`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"variant_rank","type":"`number`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"weight","type":"`null` \\| `number`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"length","type":"`null` \\| `number`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"height","type":"`null` \\| `number`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"width","type":"`null` \\| `number`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"origin_country","type":"`null` \\| `string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"material","type":"`null` \\| `string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"metadata","type":"`null` \\| `Record`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"prices","type":"[AdminCreateProductVariantPrice](../../types/HttpTypes/interfaces/types.HttpTypes.AdminCreateProductVariantPrice/page.mdx)[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"options","type":"`Record`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"sales_channels","type":"`object`[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"id","type":"`string`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]}]},{"name":"weight","type":"`null` \\| `number`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"length","type":"`null` \\| `number`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"height","type":"`null` \\| `number`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"width","type":"`null` \\| `number`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"hs_code","type":"`null` \\| `string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"mid_code","type":"`null` \\| `string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"origin_country","type":"`null` \\| `string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"material","type":"`null` \\| `string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"metadata","type":"`null` \\| `Record`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"update","type":"[AdminUpdateProduct](../../types/HttpTypes/interfaces/types.HttpTypes.AdminUpdateProduct/page.mdx) & `object`[]","description":"","optional":false,"defaultValue":"toUpdate","expandable":false,"children":[{"name":"id","type":"`string`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"title","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"subtitle","type":"`null` \\| `string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"description","type":"`null` \\| `string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"is_giftcard","type":"`boolean`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"discountable","type":"`boolean`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"images","type":"`object`[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"url","type":"`string`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]}]},{"name":"thumbnail","type":"`null` \\| `string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"handle","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"status","type":"[ProductStatus](../../types/types/types.ProductStatus/page.mdx)","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"type_id","type":"`null` \\| `string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"external_id","type":"`null` \\| `string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"collection_id","type":"`null` \\| `string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"categories","type":"`object`[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"id","type":"`string`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]}]},{"name":"tags","type":"`object`[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"id","type":"`string`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]}]},{"name":"options","type":"[AdminUpdateProductOption](../../types/HttpTypes/interfaces/types.HttpTypes.AdminUpdateProductOption/page.mdx)[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"title","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"values","type":"`string`[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"variants","type":"([AdminCreateProductVariant](../../types/HttpTypes/interfaces/types.HttpTypes.AdminCreateProductVariant/page.mdx) \\| [AdminUpdateProductVariant](../../types/HttpTypes/interfaces/types.HttpTypes.AdminUpdateProductVariant/page.mdx))[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"title","type":"`string`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"prices","type":"[AdminCreateProductVariantPrice](../../types/HttpTypes/interfaces/types.HttpTypes.AdminCreateProductVariantPrice/page.mdx)[]","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"sku","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"ean","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"upc","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"barcode","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"hs_code","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"mid_code","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"allow_backorder","type":"`boolean`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"manage_inventory","type":"`boolean`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"variant_rank","type":"`number`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"weight","type":"`number`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"length","type":"`number`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"height","type":"`number`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"width","type":"`number`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"origin_country","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"material","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"metadata","type":"`Record`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"inventory_items","type":"[AdminCreateProductVariantInventoryKit](../../types/HttpTypes/interfaces/types.HttpTypes.AdminCreateProductVariantInventoryKit/page.mdx)[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"options","type":"`Record`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"title","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"sku","type":"`null` \\| `string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"ean","type":"`null` \\| `string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"upc","type":"`null` \\| `string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"barcode","type":"`null` \\| `string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"hs_code","type":"`null` \\| `string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"mid_code","type":"`null` \\| `string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"allow_backorder","type":"`boolean`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"manage_inventory","type":"`boolean`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"variant_rank","type":"`number`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"weight","type":"`null` \\| `number`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"length","type":"`null` \\| `number`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"height","type":"`null` \\| `number`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"width","type":"`null` \\| `number`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"origin_country","type":"`null` \\| `string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"material","type":"`null` \\| `string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"metadata","type":"`null` \\| `Record`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"prices","type":"[AdminCreateProductVariantPrice](../../types/HttpTypes/interfaces/types.HttpTypes.AdminCreateProductVariantPrice/page.mdx)[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"options","type":"`Record`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"sales_channels","type":"`object`[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"id","type":"`string`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]}]},{"name":"weight","type":"`null` \\| `number`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"length","type":"`null` \\| `number`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"height","type":"`null` \\| `number`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"width","type":"`null` \\| `number`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"hs_code","type":"`null` \\| `string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"mid_code","type":"`null` \\| `string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"origin_country","type":"`null` \\| `string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"material","type":"`null` \\| `string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"metadata","type":"`null` \\| `Record`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"update","type":"[AdminUpdateProduct](../../types/HttpTypes/interfaces/types.HttpTypes.AdminUpdateProduct/page.mdx) & `object`[]","description":"","optional":false,"defaultValue":"toUpdate","expandable":false,"children":[{"name":"id","type":"`string`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"title","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"subtitle","type":"`null` \\| `string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"description","type":"`null` \\| `string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"is_giftcard","type":"`boolean`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"discountable","type":"`boolean`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"images","type":"`object`[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"url","type":"`string`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]}]},{"name":"thumbnail","type":"`null` \\| `string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"handle","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"status","type":"[ProductStatus](../../types/types/types.ProductStatus/page.mdx)","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"type_id","type":"`null` \\| `string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"external_id","type":"`null` \\| `string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"collection_id","type":"`null` \\| `string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"categories","type":"`object`[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"id","type":"`string`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]}]},{"name":"tags","type":"`object`[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"id","type":"`string`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]}]},{"name":"options","type":"[AdminUpdateProductOption](../../types/HttpTypes/interfaces/types.HttpTypes.AdminUpdateProductOption/page.mdx)[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"title","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"values","type":"`string`[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"variants","type":"([AdminCreateProductVariant](../../types/HttpTypes/interfaces/types.HttpTypes.AdminCreateProductVariant/page.mdx) \\| [AdminUpdateProductVariant](../../types/HttpTypes/interfaces/types.HttpTypes.AdminUpdateProductVariant/page.mdx))[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"title","type":"`string`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"prices","type":"[AdminCreateProductVariantPrice](../../types/HttpTypes/interfaces/types.HttpTypes.AdminCreateProductVariantPrice/page.mdx)[]","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"sku","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"ean","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"upc","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"barcode","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"hs_code","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"mid_code","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"allow_backorder","type":"`boolean`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"manage_inventory","type":"`boolean`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"variant_rank","type":"`number`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"weight","type":"`number`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"length","type":"`number`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"height","type":"`number`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"width","type":"`number`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"origin_country","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"material","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"metadata","type":"`Record`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"inventory_items","type":"[AdminCreateProductVariantInventoryKit](../../types/HttpTypes/interfaces/types.HttpTypes.AdminCreateProductVariantInventoryKit/page.mdx)[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"options","type":"`Record`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"title","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"sku","type":"`null` \\| `string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"ean","type":"`null` \\| `string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"upc","type":"`null` \\| `string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"barcode","type":"`null` \\| `string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"hs_code","type":"`null` \\| `string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"mid_code","type":"`null` \\| `string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"allow_backorder","type":"`boolean`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"manage_inventory","type":"`boolean`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"variant_rank","type":"`number`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"weight","type":"`null` \\| `number`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"length","type":"`null` \\| `number`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"height","type":"`null` \\| `number`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"width","type":"`null` \\| `number`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"origin_country","type":"`null` \\| `string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"material","type":"`null` \\| `string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"metadata","type":"`null` \\| `Record`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"prices","type":"[AdminCreateProductVariantPrice](../../types/HttpTypes/interfaces/types.HttpTypes.AdminCreateProductVariantPrice/page.mdx)[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"options","type":"`Record`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"sales_channels","type":"`object`[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"id","type":"`string`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]}]},{"name":"weight","type":"`null` \\| `number`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"length","type":"`null` \\| `number`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"height","type":"`null` \\| `number`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"width","type":"`null` \\| `number`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"hs_code","type":"`null` \\| `string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"mid_code","type":"`null` \\| `string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"origin_country","type":"`null` \\| `string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"material","type":"`null` \\| `string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"metadata","type":"`null` \\| `Record`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"selector","type":"[FilterableProductCollectionProps](../../product/interfaces/product.FilterableProductCollectionProps/page.mdx)","description":"","optional":false,"defaultValue":"","expandable":false,"children":[{"name":"$and","type":"([FilterableProductCollectionProps](../../product/interfaces/product.FilterableProductCollectionProps/page.mdx) \\| [BaseFilterable](../../product/interfaces/product.BaseFilterable/page.mdx)<[FilterableProductCollectionProps](../../product/interfaces/product.FilterableProductCollectionProps/page.mdx)>)[]","description":"An array of filters to apply on the entity, where each item in the array is joined with an \"and\" condition.","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"$and","type":"([FilterableProductCollectionProps](../../product/interfaces/product.FilterableProductCollectionProps/page.mdx) \\| [BaseFilterable](../../product/interfaces/product.BaseFilterable/page.mdx)<[FilterableProductCollectionProps](../../product/interfaces/product.FilterableProductCollectionProps/page.mdx)>)[]","description":"An array of filters to apply on the entity, where each item in the array is joined with an \"and\" condition.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$or","type":"([FilterableProductCollectionProps](../../product/interfaces/product.FilterableProductCollectionProps/page.mdx) \\| [BaseFilterable](../../product/interfaces/product.BaseFilterable/page.mdx)<[FilterableProductCollectionProps](../../product/interfaces/product.FilterableProductCollectionProps/page.mdx)>)[]","description":"An array of filters to apply on the entity, where each item in the array is joined with an \"or\" condition.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"q","type":"`string`","description":"Search through the collections' titles.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"id","type":"`string` \\| `string`[]","description":"The IDs to filter product collections by.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"handle","type":"`string` \\| `string`[]","description":"The handles to filter product collections by.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"title","type":"`string` \\| `string`[]","description":"The title to filter product collections by.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$and","type":"([BaseFilterable](../../product/interfaces/product.BaseFilterable/page.mdx)<T> \\| T)[]","description":"An array of filters to apply on the entity, where each item in the array is joined with an \"and\" condition.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$or","type":"([BaseFilterable](../../product/interfaces/product.BaseFilterable/page.mdx)<T> \\| T)[]","description":"An array of filters to apply on the entity, where each item in the array is joined with an \"or\" condition.","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"$or","type":"([FilterableProductCollectionProps](../../product/interfaces/product.FilterableProductCollectionProps/page.mdx) \\| [BaseFilterable](../../product/interfaces/product.BaseFilterable/page.mdx)<[FilterableProductCollectionProps](../../product/interfaces/product.FilterableProductCollectionProps/page.mdx)>)[]","description":"An array of filters to apply on the entity, where each item in the array is joined with an \"or\" condition.","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"$and","type":"([FilterableProductCollectionProps](../../product/interfaces/product.FilterableProductCollectionProps/page.mdx) \\| [BaseFilterable](../../product/interfaces/product.BaseFilterable/page.mdx)<[FilterableProductCollectionProps](../../product/interfaces/product.FilterableProductCollectionProps/page.mdx)>)[]","description":"An array of filters to apply on the entity, where each item in the array is joined with an \"and\" condition.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$or","type":"([FilterableProductCollectionProps](../../product/interfaces/product.FilterableProductCollectionProps/page.mdx) \\| [BaseFilterable](../../product/interfaces/product.BaseFilterable/page.mdx)<[FilterableProductCollectionProps](../../product/interfaces/product.FilterableProductCollectionProps/page.mdx)>)[]","description":"An array of filters to apply on the entity, where each item in the array is joined with an \"or\" condition.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"q","type":"`string`","description":"Search through the collections' titles.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"id","type":"`string` \\| `string`[]","description":"The IDs to filter product collections by.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"handle","type":"`string` \\| `string`[]","description":"The handles to filter product collections by.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"title","type":"`string` \\| `string`[]","description":"The title to filter product collections by.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$and","type":"([BaseFilterable](../../product/interfaces/product.BaseFilterable/page.mdx)<T> \\| T)[]","description":"An array of filters to apply on the entity, where each item in the array is joined with an \"and\" condition.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$or","type":"([BaseFilterable](../../product/interfaces/product.BaseFilterable/page.mdx)<T> \\| T)[]","description":"An array of filters to apply on the entity, where each item in the array is joined with an \"or\" condition.","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"q","type":"`string`","description":"Search through the collections' titles.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"id","type":"`string` \\| `string`[]","description":"The IDs to filter product collections by.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"handle","type":"`string` \\| `string`[]","description":"The handles to filter product collections by.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"title","type":"`string` \\| `string`[]","description":"The title to filter product collections by.","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"update","type":"[UpdateProductCollectionDTO](../../product/interfaces/product.UpdateProductCollectionDTO/page.mdx)","description":"","optional":false,"defaultValue":"","expandable":false,"children":[{"name":"value","type":"`string`","description":"The value of the product collection.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"title","type":"`string`","description":"The title of the product collection.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"handle","type":"`string`","description":"The handle of the product collection.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"product_ids","type":"`string`[]","description":"The IDs of the products to associate with the product collection.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"metadata","type":"[MetadataType](../../product/types/product.MetadataType/page.mdx)","description":"Holds custom data in key-value pairs.","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"selector","type":"[FilterableProductOptionProps](../../product/interfaces/product.FilterableProductOptionProps/page.mdx)","description":"","optional":false,"defaultValue":"","expandable":false,"children":[{"name":"$and","type":"([FilterableProductOptionProps](../../product/interfaces/product.FilterableProductOptionProps/page.mdx) \\| [BaseFilterable](../../product/interfaces/product.BaseFilterable/page.mdx)<[FilterableProductOptionProps](../../product/interfaces/product.FilterableProductOptionProps/page.mdx)>)[]","description":"An array of filters to apply on the entity, where each item in the array is joined with an \"and\" condition.","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"$and","type":"([FilterableProductOptionProps](../../product/interfaces/product.FilterableProductOptionProps/page.mdx) \\| [BaseFilterable](../../product/interfaces/product.BaseFilterable/page.mdx)<[FilterableProductOptionProps](../../product/interfaces/product.FilterableProductOptionProps/page.mdx)>)[]","description":"An array of filters to apply on the entity, where each item in the array is joined with an \"and\" condition.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$or","type":"([FilterableProductOptionProps](../../product/interfaces/product.FilterableProductOptionProps/page.mdx) \\| [BaseFilterable](../../product/interfaces/product.BaseFilterable/page.mdx)<[FilterableProductOptionProps](../../product/interfaces/product.FilterableProductOptionProps/page.mdx)>)[]","description":"An array of filters to apply on the entity, where each item in the array is joined with an \"or\" condition.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"q","type":"`string`","description":"Search through the options' titles.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"id","type":"`string` \\| `string`[]","description":"The IDs to filter product options by.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"title","type":"`string` \\| `string`[]","description":"The titles to filter product options by.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"product_id","type":"`string` \\| `string`[]","description":"Filter the product options by their associated products' IDs.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$and","type":"([BaseFilterable](../../product/interfaces/product.BaseFilterable/page.mdx)<T> \\| T)[]","description":"An array of filters to apply on the entity, where each item in the array is joined with an \"and\" condition.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$or","type":"([BaseFilterable](../../product/interfaces/product.BaseFilterable/page.mdx)<T> \\| T)[]","description":"An array of filters to apply on the entity, where each item in the array is joined with an \"or\" condition.","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"$or","type":"([FilterableProductOptionProps](../../product/interfaces/product.FilterableProductOptionProps/page.mdx) \\| [BaseFilterable](../../product/interfaces/product.BaseFilterable/page.mdx)<[FilterableProductOptionProps](../../product/interfaces/product.FilterableProductOptionProps/page.mdx)>)[]","description":"An array of filters to apply on the entity, where each item in the array is joined with an \"or\" condition.","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"$and","type":"([FilterableProductOptionProps](../../product/interfaces/product.FilterableProductOptionProps/page.mdx) \\| [BaseFilterable](../../product/interfaces/product.BaseFilterable/page.mdx)<[FilterableProductOptionProps](../../product/interfaces/product.FilterableProductOptionProps/page.mdx)>)[]","description":"An array of filters to apply on the entity, where each item in the array is joined with an \"and\" condition.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$or","type":"([FilterableProductOptionProps](../../product/interfaces/product.FilterableProductOptionProps/page.mdx) \\| [BaseFilterable](../../product/interfaces/product.BaseFilterable/page.mdx)<[FilterableProductOptionProps](../../product/interfaces/product.FilterableProductOptionProps/page.mdx)>)[]","description":"An array of filters to apply on the entity, where each item in the array is joined with an \"or\" condition.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"q","type":"`string`","description":"Search through the options' titles.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"id","type":"`string` \\| `string`[]","description":"The IDs to filter product options by.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"title","type":"`string` \\| `string`[]","description":"The titles to filter product options by.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"product_id","type":"`string` \\| `string`[]","description":"Filter the product options by their associated products' IDs.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$and","type":"([BaseFilterable](../../product/interfaces/product.BaseFilterable/page.mdx)<T> \\| T)[]","description":"An array of filters to apply on the entity, where each item in the array is joined with an \"and\" condition.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$or","type":"([BaseFilterable](../../product/interfaces/product.BaseFilterable/page.mdx)<T> \\| T)[]","description":"An array of filters to apply on the entity, where each item in the array is joined with an \"or\" condition.","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"q","type":"`string`","description":"Search through the options' titles.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"id","type":"`string` \\| `string`[]","description":"The IDs to filter product options by.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"title","type":"`string` \\| `string`[]","description":"The titles to filter product options by.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"product_id","type":"`string` \\| `string`[]","description":"Filter the product options by their associated products' IDs.","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"update","type":"[UpdateProductOptionDTO](../../product/interfaces/product.UpdateProductOptionDTO/page.mdx)","description":"","optional":false,"defaultValue":"","expandable":false,"children":[{"name":"title","type":"`string`","description":"The product option's title.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"values","type":"`string`[]","description":"The product option values.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"product_id","type":"`string`","description":"The ID of the associated product.","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"selector","type":"[FilterableProductTagProps](../../product/interfaces/product.FilterableProductTagProps/page.mdx)","description":"","optional":false,"defaultValue":"","expandable":false,"children":[{"name":"$and","type":"([FilterableProductTagProps](../../product/interfaces/product.FilterableProductTagProps/page.mdx) \\| [BaseFilterable](../../product/interfaces/product.BaseFilterable/page.mdx)<[FilterableProductTagProps](../../product/interfaces/product.FilterableProductTagProps/page.mdx)>)[]","description":"An array of filters to apply on the entity, where each item in the array is joined with an \"and\" condition.","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"$and","type":"([FilterableProductTagProps](../../product/interfaces/product.FilterableProductTagProps/page.mdx) \\| [BaseFilterable](../../product/interfaces/product.BaseFilterable/page.mdx)<[FilterableProductTagProps](../../product/interfaces/product.FilterableProductTagProps/page.mdx)>)[]","description":"An array of filters to apply on the entity, where each item in the array is joined with an \"and\" condition.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$or","type":"([FilterableProductTagProps](../../product/interfaces/product.FilterableProductTagProps/page.mdx) \\| [BaseFilterable](../../product/interfaces/product.BaseFilterable/page.mdx)<[FilterableProductTagProps](../../product/interfaces/product.FilterableProductTagProps/page.mdx)>)[]","description":"An array of filters to apply on the entity, where each item in the array is joined with an \"or\" condition.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"q","type":"`string`","description":"Search through the tags' values.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"id","type":"`string` \\| `string`[]","description":"The IDs to filter product tags by.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"value","type":"`string` \\| `string`[]","description":"The value to filter product tags by.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$and","type":"([BaseFilterable](../../product/interfaces/product.BaseFilterable/page.mdx)<T> \\| T)[]","description":"An array of filters to apply on the entity, where each item in the array is joined with an \"and\" condition.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$or","type":"([BaseFilterable](../../product/interfaces/product.BaseFilterable/page.mdx)<T> \\| T)[]","description":"An array of filters to apply on the entity, where each item in the array is joined with an \"or\" condition.","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"$or","type":"([FilterableProductTagProps](../../product/interfaces/product.FilterableProductTagProps/page.mdx) \\| [BaseFilterable](../../product/interfaces/product.BaseFilterable/page.mdx)<[FilterableProductTagProps](../../product/interfaces/product.FilterableProductTagProps/page.mdx)>)[]","description":"An array of filters to apply on the entity, where each item in the array is joined with an \"or\" condition.","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"$and","type":"([FilterableProductTagProps](../../product/interfaces/product.FilterableProductTagProps/page.mdx) \\| [BaseFilterable](../../product/interfaces/product.BaseFilterable/page.mdx)<[FilterableProductTagProps](../../product/interfaces/product.FilterableProductTagProps/page.mdx)>)[]","description":"An array of filters to apply on the entity, where each item in the array is joined with an \"and\" condition.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$or","type":"([FilterableProductTagProps](../../product/interfaces/product.FilterableProductTagProps/page.mdx) \\| [BaseFilterable](../../product/interfaces/product.BaseFilterable/page.mdx)<[FilterableProductTagProps](../../product/interfaces/product.FilterableProductTagProps/page.mdx)>)[]","description":"An array of filters to apply on the entity, where each item in the array is joined with an \"or\" condition.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"q","type":"`string`","description":"Search through the tags' values.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"id","type":"`string` \\| `string`[]","description":"The IDs to filter product tags by.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"value","type":"`string` \\| `string`[]","description":"The value to filter product tags by.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$and","type":"([BaseFilterable](../../product/interfaces/product.BaseFilterable/page.mdx)<T> \\| T)[]","description":"An array of filters to apply on the entity, where each item in the array is joined with an \"and\" condition.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$or","type":"([BaseFilterable](../../product/interfaces/product.BaseFilterable/page.mdx)<T> \\| T)[]","description":"An array of filters to apply on the entity, where each item in the array is joined with an \"or\" condition.","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"q","type":"`string`","description":"Search through the tags' values.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"id","type":"`string` \\| `string`[]","description":"The IDs to filter product tags by.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"value","type":"`string` \\| `string`[]","description":"The value to filter product tags by.","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"update","type":"[UpdateProductTagDTO](../../product/interfaces/product.UpdateProductTagDTO/page.mdx)","description":"","optional":false,"defaultValue":"","expandable":false,"children":[{"name":"value","type":"`string`","description":"The value of the product tag.","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"selector","type":"[FilterableProductTypeProps](../../product/interfaces/product.FilterableProductTypeProps/page.mdx)","description":"","optional":false,"defaultValue":"","expandable":false,"children":[{"name":"$and","type":"([FilterableProductTypeProps](../../product/interfaces/product.FilterableProductTypeProps/page.mdx) \\| [BaseFilterable](../../product/interfaces/product.BaseFilterable/page.mdx)<[FilterableProductTypeProps](../../product/interfaces/product.FilterableProductTypeProps/page.mdx)>)[]","description":"An array of filters to apply on the entity, where each item in the array is joined with an \"and\" condition.","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"$and","type":"([FilterableProductTypeProps](../../product/interfaces/product.FilterableProductTypeProps/page.mdx) \\| [BaseFilterable](../../product/interfaces/product.BaseFilterable/page.mdx)<[FilterableProductTypeProps](../../product/interfaces/product.FilterableProductTypeProps/page.mdx)>)[]","description":"An array of filters to apply on the entity, where each item in the array is joined with an \"and\" condition.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$or","type":"([FilterableProductTypeProps](../../product/interfaces/product.FilterableProductTypeProps/page.mdx) \\| [BaseFilterable](../../product/interfaces/product.BaseFilterable/page.mdx)<[FilterableProductTypeProps](../../product/interfaces/product.FilterableProductTypeProps/page.mdx)>)[]","description":"An array of filters to apply on the entity, where each item in the array is joined with an \"or\" condition.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"q","type":"`string`","description":"Search through the types' values.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"id","type":"`string` \\| `string`[]","description":"The IDs to filter product types by.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"value","type":"`string`","description":"The value to filter product types by.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$and","type":"([BaseFilterable](../../product/interfaces/product.BaseFilterable/page.mdx)<T> \\| T)[]","description":"An array of filters to apply on the entity, where each item in the array is joined with an \"and\" condition.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$or","type":"([BaseFilterable](../../product/interfaces/product.BaseFilterable/page.mdx)<T> \\| T)[]","description":"An array of filters to apply on the entity, where each item in the array is joined with an \"or\" condition.","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"$or","type":"([FilterableProductTypeProps](../../product/interfaces/product.FilterableProductTypeProps/page.mdx) \\| [BaseFilterable](../../product/interfaces/product.BaseFilterable/page.mdx)<[FilterableProductTypeProps](../../product/interfaces/product.FilterableProductTypeProps/page.mdx)>)[]","description":"An array of filters to apply on the entity, where each item in the array is joined with an \"or\" condition.","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"$and","type":"([FilterableProductTypeProps](../../product/interfaces/product.FilterableProductTypeProps/page.mdx) \\| [BaseFilterable](../../product/interfaces/product.BaseFilterable/page.mdx)<[FilterableProductTypeProps](../../product/interfaces/product.FilterableProductTypeProps/page.mdx)>)[]","description":"An array of filters to apply on the entity, where each item in the array is joined with an \"and\" condition.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$or","type":"([FilterableProductTypeProps](../../product/interfaces/product.FilterableProductTypeProps/page.mdx) \\| [BaseFilterable](../../product/interfaces/product.BaseFilterable/page.mdx)<[FilterableProductTypeProps](../../product/interfaces/product.FilterableProductTypeProps/page.mdx)>)[]","description":"An array of filters to apply on the entity, where each item in the array is joined with an \"or\" condition.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"q","type":"`string`","description":"Search through the types' values.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"id","type":"`string` \\| `string`[]","description":"The IDs to filter product types by.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"value","type":"`string`","description":"The value to filter product types by.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$and","type":"([BaseFilterable](../../product/interfaces/product.BaseFilterable/page.mdx)<T> \\| T)[]","description":"An array of filters to apply on the entity, where each item in the array is joined with an \"and\" condition.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$or","type":"([BaseFilterable](../../product/interfaces/product.BaseFilterable/page.mdx)<T> \\| T)[]","description":"An array of filters to apply on the entity, where each item in the array is joined with an \"or\" condition.","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"q","type":"`string`","description":"Search through the types' values.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"id","type":"`string` \\| `string`[]","description":"The IDs to filter product types by.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"value","type":"`string`","description":"The value to filter product types by.","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"update","type":"[UpdateProductTypeDTO](../../product/interfaces/product.UpdateProductTypeDTO/page.mdx)","description":"","optional":false,"defaultValue":"","expandable":false,"children":[{"name":"value","type":"`string`","description":"The new value of the product type.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"metadata","type":"[MetadataType](../../product/types/product.MetadataType/page.mdx)","description":"Holds custom data in key-value pairs.","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"selector","type":"[FilterableProductVariantProps](../../product/interfaces/product.FilterableProductVariantProps/page.mdx)","description":"","optional":false,"defaultValue":"","expandable":false,"children":[{"name":"$and","type":"([FilterableProductVariantProps](../../product/interfaces/product.FilterableProductVariantProps/page.mdx) \\| [BaseFilterable](../../product/interfaces/product.BaseFilterable/page.mdx)<[FilterableProductVariantProps](../../product/interfaces/product.FilterableProductVariantProps/page.mdx)>)[]","description":"An array of filters to apply on the entity, where each item in the array is joined with an \"and\" condition.","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"$and","type":"([FilterableProductVariantProps](../../product/interfaces/product.FilterableProductVariantProps/page.mdx) \\| [BaseFilterable](../../product/interfaces/product.BaseFilterable/page.mdx)<[FilterableProductVariantProps](../../product/interfaces/product.FilterableProductVariantProps/page.mdx)>)[]","description":"An array of filters to apply on the entity, where each item in the array is joined with an \"and\" condition.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$or","type":"([FilterableProductVariantProps](../../product/interfaces/product.FilterableProductVariantProps/page.mdx) \\| [BaseFilterable](../../product/interfaces/product.BaseFilterable/page.mdx)<[FilterableProductVariantProps](../../product/interfaces/product.FilterableProductVariantProps/page.mdx)>)[]","description":"An array of filters to apply on the entity, where each item in the array is joined with an \"or\" condition.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"q","type":"`string`","description":"Search through the title and different code attributes on the variant","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"id","type":"`string` \\| `string`[]","description":"The IDs to filter product variants by.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"sku","type":"`string` \\| `string`[]","description":"The SKUs to filter product variants by.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"product_id","type":"`string` \\| `string`[]","description":"Filter the product variants by their associated products' IDs.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"options","type":"`Record`","description":"Filter product variants by their associated options.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$and","type":"([BaseFilterable](../../product/interfaces/product.BaseFilterable/page.mdx)<T> \\| T)[]","description":"An array of filters to apply on the entity, where each item in the array is joined with an \"and\" condition.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$or","type":"([BaseFilterable](../../product/interfaces/product.BaseFilterable/page.mdx)<T> \\| T)[]","description":"An array of filters to apply on the entity, where each item in the array is joined with an \"or\" condition.","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"$or","type":"([FilterableProductVariantProps](../../product/interfaces/product.FilterableProductVariantProps/page.mdx) \\| [BaseFilterable](../../product/interfaces/product.BaseFilterable/page.mdx)<[FilterableProductVariantProps](../../product/interfaces/product.FilterableProductVariantProps/page.mdx)>)[]","description":"An array of filters to apply on the entity, where each item in the array is joined with an \"or\" condition.","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"$and","type":"([FilterableProductVariantProps](../../product/interfaces/product.FilterableProductVariantProps/page.mdx) \\| [BaseFilterable](../../product/interfaces/product.BaseFilterable/page.mdx)<[FilterableProductVariantProps](../../product/interfaces/product.FilterableProductVariantProps/page.mdx)>)[]","description":"An array of filters to apply on the entity, where each item in the array is joined with an \"and\" condition.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$or","type":"([FilterableProductVariantProps](../../product/interfaces/product.FilterableProductVariantProps/page.mdx) \\| [BaseFilterable](../../product/interfaces/product.BaseFilterable/page.mdx)<[FilterableProductVariantProps](../../product/interfaces/product.FilterableProductVariantProps/page.mdx)>)[]","description":"An array of filters to apply on the entity, where each item in the array is joined with an \"or\" condition.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"q","type":"`string`","description":"Search through the title and different code attributes on the variant","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"id","type":"`string` \\| `string`[]","description":"The IDs to filter product variants by.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"sku","type":"`string` \\| `string`[]","description":"The SKUs to filter product variants by.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"product_id","type":"`string` \\| `string`[]","description":"Filter the product variants by their associated products' IDs.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"options","type":"`Record`","description":"Filter product variants by their associated options.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$and","type":"([BaseFilterable](../../product/interfaces/product.BaseFilterable/page.mdx)<T> \\| T)[]","description":"An array of filters to apply on the entity, where each item in the array is joined with an \"and\" condition.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$or","type":"([BaseFilterable](../../product/interfaces/product.BaseFilterable/page.mdx)<T> \\| T)[]","description":"An array of filters to apply on the entity, where each item in the array is joined with an \"or\" condition.","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"q","type":"`string`","description":"Search through the title and different code attributes on the variant","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"id","type":"`string` \\| `string`[]","description":"The IDs to filter product variants by.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"sku","type":"`string` \\| `string`[]","description":"The SKUs to filter product variants by.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"product_id","type":"`string` \\| `string`[]","description":"Filter the product variants by their associated products' IDs.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"options","type":"`Record`","description":"Filter product variants by their associated options.","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"update","type":"[UpdateProductVariantDTO](../../product/interfaces/product.UpdateProductVariantDTO/page.mdx)","description":"","optional":false,"defaultValue":"","expandable":false,"children":[{"name":"title","type":"`string`","description":"The tile of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"sku","type":"`null` \\| `string`","description":"The SKU of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"barcode","type":"`null` \\| `string`","description":"The barcode of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"ean","type":"`null` \\| `string`","description":"The EAN of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"upc","type":"`null` \\| `string`","description":"The UPC of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"allow_backorder","type":"`boolean`","description":"Whether the product variant can be ordered when it's out of stock.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"manage_inventory","type":"`boolean`","description":"Whether the product variant's inventory should be managed by the core system.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"hs_code","type":"`null` \\| `string`","description":"The HS Code of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"origin_country","type":"`null` \\| `string`","description":"The origin country of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"mid_code","type":"`null` \\| `string`","description":"The MID Code of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"material","type":"`null` \\| `string`","description":"The material of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"weight","type":"`null` \\| `number`","description":"The weight of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"length","type":"`null` \\| `number`","description":"The length of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"height","type":"`null` \\| `number`","description":"The height of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"width","type":"`null` \\| `number`","description":"The width of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"options","type":"`Record`","description":"The product variant options to associate with the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"metadata","type":"[MetadataType](../../product/types/product.MetadataType/page.mdx)","description":"Holds custom data in key-value pairs.","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"product_variants","type":"[UpsertProductVariantDTO](../../product/interfaces/product.UpsertProductVariantDTO/page.mdx)[]","description":"","optional":false,"defaultValue":"","expandable":false,"children":[{"name":"id","type":"`string`","description":"The ID of the product variant to update.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"title","type":"`string`","description":"The tile of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"sku","type":"`null` \\| `string`","description":"The SKU of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"barcode","type":"`null` \\| `string`","description":"The barcode of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"ean","type":"`null` \\| `string`","description":"The EAN of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"upc","type":"`null` \\| `string`","description":"The UPC of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"allow_backorder","type":"`boolean`","description":"Whether the product variant can be ordered when it's out of stock.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"manage_inventory","type":"`boolean`","description":"Whether the product variant's inventory should be managed by the core system.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"hs_code","type":"`null` \\| `string`","description":"The HS Code of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"origin_country","type":"`null` \\| `string`","description":"The origin country of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"mid_code","type":"`null` \\| `string`","description":"The MID Code of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"material","type":"`null` \\| `string`","description":"The material of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"weight","type":"`null` \\| `number`","description":"The weight of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"length","type":"`null` \\| `number`","description":"The length of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"height","type":"`null` \\| `number`","description":"The height of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"width","type":"`null` \\| `number`","description":"The width of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"options","type":"`Record`","description":"The product variant options to associate with the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"metadata","type":"[MetadataType](../../product/types/product.MetadataType/page.mdx)","description":"Holds custom data in key-value pairs.","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"selector","type":"[FilterableProductProps](../../product/interfaces/product.FilterableProductProps/page.mdx)","description":"","optional":false,"defaultValue":"","expandable":false,"children":[{"name":"$and","type":"([FilterableProductProps](../../product/interfaces/product.FilterableProductProps/page.mdx) \\| [BaseFilterable](../../product/interfaces/product.BaseFilterable/page.mdx)<[FilterableProductProps](../../product/interfaces/product.FilterableProductProps/page.mdx)>)[]","description":"An array of filters to apply on the entity, where each item in the array is joined with an \"and\" condition.","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"$and","type":"([FilterableProductProps](../../product/interfaces/product.FilterableProductProps/page.mdx) \\| [BaseFilterable](../../product/interfaces/product.BaseFilterable/page.mdx)<[FilterableProductProps](../../product/interfaces/product.FilterableProductProps/page.mdx)>)[]","description":"An array of filters to apply on the entity, where each item in the array is joined with an \"and\" condition.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$or","type":"([FilterableProductProps](../../product/interfaces/product.FilterableProductProps/page.mdx) \\| [BaseFilterable](../../product/interfaces/product.BaseFilterable/page.mdx)<[FilterableProductProps](../../product/interfaces/product.FilterableProductProps/page.mdx)>)[]","description":"An array of filters to apply on the entity, where each item in the array is joined with an \"or\" condition.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"q","type":"`string`","description":"Search through the products' attributes, such as titles and descriptions, using this search term.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"status","type":"[ProductStatus](../../product/types/product.ProductStatus/page.mdx) \\| [ProductStatus](../../product/types/product.ProductStatus/page.mdx)[]","description":"The status to filter products by","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"title","type":"`string` \\| `string`[]","description":"The titles to filter products by.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"handle","type":"`string` \\| `string`[]","description":"The handles to filter products by.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"id","type":"`string` \\| `string`[]","description":"The IDs to filter products by.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"is_giftcard","type":"`boolean`","description":"Filters only or excluding gift card products","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"tags","type":"`object`","description":"Filters on a product's tags.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"variants","type":"`object`","description":"Filters on a product's variant properties.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"type_id","type":"`string` \\| `string`[]","description":"Filter a product by the ID of the associated type","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"categories","type":"`object` \\| `object`","description":"Filter a product by the IDs of their associated categories.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"collection_id","type":"`string` \\| `string`[] \\| [OperatorMap](../../product/types/product.OperatorMap/page.mdx)<string>","description":"Filters a product by its associated collections.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"created_at","type":"[OperatorMap](../../product/types/product.OperatorMap/page.mdx)<string>","description":"Filters a product based on when it was created","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"updated_at","type":"[OperatorMap](../../product/types/product.OperatorMap/page.mdx)<string>","description":"Filters a product based on when it was updated","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"deleted_at","type":"[OperatorMap](../../product/types/product.OperatorMap/page.mdx)<string>","description":"Filters soft-deleted products based on the date they were deleted at.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$and","type":"([BaseFilterable](../../product/interfaces/product.BaseFilterable/page.mdx)<T> \\| T)[]","description":"An array of filters to apply on the entity, where each item in the array is joined with an \"and\" condition.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$or","type":"([BaseFilterable](../../product/interfaces/product.BaseFilterable/page.mdx)<T> \\| T)[]","description":"An array of filters to apply on the entity, where each item in the array is joined with an \"or\" condition.","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"$or","type":"([FilterableProductProps](../../product/interfaces/product.FilterableProductProps/page.mdx) \\| [BaseFilterable](../../product/interfaces/product.BaseFilterable/page.mdx)<[FilterableProductProps](../../product/interfaces/product.FilterableProductProps/page.mdx)>)[]","description":"An array of filters to apply on the entity, where each item in the array is joined with an \"or\" condition.","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"$and","type":"([FilterableProductProps](../../product/interfaces/product.FilterableProductProps/page.mdx) \\| [BaseFilterable](../../product/interfaces/product.BaseFilterable/page.mdx)<[FilterableProductProps](../../product/interfaces/product.FilterableProductProps/page.mdx)>)[]","description":"An array of filters to apply on the entity, where each item in the array is joined with an \"and\" condition.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$or","type":"([FilterableProductProps](../../product/interfaces/product.FilterableProductProps/page.mdx) \\| [BaseFilterable](../../product/interfaces/product.BaseFilterable/page.mdx)<[FilterableProductProps](../../product/interfaces/product.FilterableProductProps/page.mdx)>)[]","description":"An array of filters to apply on the entity, where each item in the array is joined with an \"or\" condition.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"q","type":"`string`","description":"Search through the products' attributes, such as titles and descriptions, using this search term.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"status","type":"[ProductStatus](../../product/types/product.ProductStatus/page.mdx) \\| [ProductStatus](../../product/types/product.ProductStatus/page.mdx)[]","description":"The status to filter products by","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"title","type":"`string` \\| `string`[]","description":"The titles to filter products by.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"handle","type":"`string` \\| `string`[]","description":"The handles to filter products by.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"id","type":"`string` \\| `string`[]","description":"The IDs to filter products by.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"is_giftcard","type":"`boolean`","description":"Filters only or excluding gift card products","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"tags","type":"`object`","description":"Filters on a product's tags.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"variants","type":"`object`","description":"Filters on a product's variant properties.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"type_id","type":"`string` \\| `string`[]","description":"Filter a product by the ID of the associated type","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"categories","type":"`object` \\| `object`","description":"Filter a product by the IDs of their associated categories.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"collection_id","type":"`string` \\| `string`[] \\| [OperatorMap](../../product/types/product.OperatorMap/page.mdx)<string>","description":"Filters a product by its associated collections.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"created_at","type":"[OperatorMap](../../product/types/product.OperatorMap/page.mdx)<string>","description":"Filters a product based on when it was created","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"updated_at","type":"[OperatorMap](../../product/types/product.OperatorMap/page.mdx)<string>","description":"Filters a product based on when it was updated","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"deleted_at","type":"[OperatorMap](../../product/types/product.OperatorMap/page.mdx)<string>","description":"Filters soft-deleted products based on the date they were deleted at.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$and","type":"([BaseFilterable](../../product/interfaces/product.BaseFilterable/page.mdx)<T> \\| T)[]","description":"An array of filters to apply on the entity, where each item in the array is joined with an \"and\" condition.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$or","type":"([BaseFilterable](../../product/interfaces/product.BaseFilterable/page.mdx)<T> \\| T)[]","description":"An array of filters to apply on the entity, where each item in the array is joined with an \"or\" condition.","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"q","type":"`string`","description":"Search through the products' attributes, such as titles and descriptions, using this search term.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"status","type":"[ProductStatus](../../product/types/product.ProductStatus/page.mdx) \\| [ProductStatus](../../product/types/product.ProductStatus/page.mdx)[]","description":"The status to filter products by","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"title","type":"`string` \\| `string`[]","description":"The titles to filter products by.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"handle","type":"`string` \\| `string`[]","description":"The handles to filter products by.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"id","type":"`string` \\| `string`[]","description":"The IDs to filter products by.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"is_giftcard","type":"`boolean`","description":"Filters only or excluding gift card products","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"tags","type":"`object`","description":"Filters on a product's tags.","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"id","type":"`string`[]","description":"Filter a product by the IDs of their associated tags.","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"variants","type":"`object`","description":"Filters on a product's variant properties.","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"options","type":"`object`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"type_id","type":"`string` \\| `string`[]","description":"Filter a product by the ID of the associated type","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"categories","type":"`object` \\| `object`","description":"Filter a product by the IDs of their associated categories.","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"id","type":"[OperatorMap](../../product/types/product.OperatorMap/page.mdx)<string>","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"id","type":"[OperatorMap](../../product/types/product.OperatorMap/page.mdx)<string[]>","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]}]},{"name":"collection_id","type":"`string` \\| `string`[] \\| [OperatorMap](../../product/types/product.OperatorMap/page.mdx)<string>","description":"Filters a product by its associated collections.","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"$and","type":"[Query](../../product/types/product.Query/page.mdx)<T>[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$or","type":"[Query](../../product/types/product.Query/page.mdx)<T>[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$eq","type":"[ExpandScalar](../../product/types/product.ExpandScalar/page.mdx)<T> \\| [ExpandScalar](../../product/types/product.ExpandScalar/page.mdx)<T>[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$ne","type":"[ExpandScalar](../../product/types/product.ExpandScalar/page.mdx)<T>","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$in","type":"[ExpandScalar](../../product/types/product.ExpandScalar/page.mdx)<T>[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$nin","type":"[ExpandScalar](../../product/types/product.ExpandScalar/page.mdx)<T>[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$not","type":"[Query](../../product/types/product.Query/page.mdx)<T>","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$gt","type":"[ExpandScalar](../../product/types/product.ExpandScalar/page.mdx)<T>","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$gte","type":"[ExpandScalar](../../product/types/product.ExpandScalar/page.mdx)<T>","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$lt","type":"[ExpandScalar](../../product/types/product.ExpandScalar/page.mdx)<T>","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$lte","type":"[ExpandScalar](../../product/types/product.ExpandScalar/page.mdx)<T>","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$like","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$re","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$ilike","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$fulltext","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$overlap","type":"`string`[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$contains","type":"`string`[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$contained","type":"`string`[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$exists","type":"`boolean`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"created_at","type":"[OperatorMap](../../product/types/product.OperatorMap/page.mdx)<string>","description":"Filters a product based on when it was created","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"$and","type":"[Query](../../product/types/product.Query/page.mdx)<T>[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$or","type":"[Query](../../product/types/product.Query/page.mdx)<T>[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$eq","type":"[ExpandScalar](../../product/types/product.ExpandScalar/page.mdx)<T> \\| [ExpandScalar](../../product/types/product.ExpandScalar/page.mdx)<T>[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$ne","type":"[ExpandScalar](../../product/types/product.ExpandScalar/page.mdx)<T>","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$in","type":"[ExpandScalar](../../product/types/product.ExpandScalar/page.mdx)<T>[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$nin","type":"[ExpandScalar](../../product/types/product.ExpandScalar/page.mdx)<T>[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$not","type":"[Query](../../product/types/product.Query/page.mdx)<T>","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$gt","type":"[ExpandScalar](../../product/types/product.ExpandScalar/page.mdx)<T>","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$gte","type":"[ExpandScalar](../../product/types/product.ExpandScalar/page.mdx)<T>","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$lt","type":"[ExpandScalar](../../product/types/product.ExpandScalar/page.mdx)<T>","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$lte","type":"[ExpandScalar](../../product/types/product.ExpandScalar/page.mdx)<T>","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$like","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$re","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$ilike","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$fulltext","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$overlap","type":"`string`[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$contains","type":"`string`[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$contained","type":"`string`[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$exists","type":"`boolean`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"updated_at","type":"[OperatorMap](../../product/types/product.OperatorMap/page.mdx)<string>","description":"Filters a product based on when it was updated","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"$and","type":"[Query](../../product/types/product.Query/page.mdx)<T>[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$or","type":"[Query](../../product/types/product.Query/page.mdx)<T>[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$eq","type":"[ExpandScalar](../../product/types/product.ExpandScalar/page.mdx)<T> \\| [ExpandScalar](../../product/types/product.ExpandScalar/page.mdx)<T>[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$ne","type":"[ExpandScalar](../../product/types/product.ExpandScalar/page.mdx)<T>","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$in","type":"[ExpandScalar](../../product/types/product.ExpandScalar/page.mdx)<T>[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$nin","type":"[ExpandScalar](../../product/types/product.ExpandScalar/page.mdx)<T>[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$not","type":"[Query](../../product/types/product.Query/page.mdx)<T>","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$gt","type":"[ExpandScalar](../../product/types/product.ExpandScalar/page.mdx)<T>","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$gte","type":"[ExpandScalar](../../product/types/product.ExpandScalar/page.mdx)<T>","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$lt","type":"[ExpandScalar](../../product/types/product.ExpandScalar/page.mdx)<T>","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$lte","type":"[ExpandScalar](../../product/types/product.ExpandScalar/page.mdx)<T>","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$like","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$re","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$ilike","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$fulltext","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$overlap","type":"`string`[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$contains","type":"`string`[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$contained","type":"`string`[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$exists","type":"`boolean`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"deleted_at","type":"[OperatorMap](../../product/types/product.OperatorMap/page.mdx)<string>","description":"Filters soft-deleted products based on the date they were deleted at.","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"$and","type":"[Query](../../product/types/product.Query/page.mdx)<T>[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$or","type":"[Query](../../product/types/product.Query/page.mdx)<T>[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$eq","type":"[ExpandScalar](../../product/types/product.ExpandScalar/page.mdx)<T> \\| [ExpandScalar](../../product/types/product.ExpandScalar/page.mdx)<T>[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$ne","type":"[ExpandScalar](../../product/types/product.ExpandScalar/page.mdx)<T>","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$in","type":"[ExpandScalar](../../product/types/product.ExpandScalar/page.mdx)<T>[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$nin","type":"[ExpandScalar](../../product/types/product.ExpandScalar/page.mdx)<T>[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$not","type":"[Query](../../product/types/product.Query/page.mdx)<T>","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$gt","type":"[ExpandScalar](../../product/types/product.ExpandScalar/page.mdx)<T>","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$gte","type":"[ExpandScalar](../../product/types/product.ExpandScalar/page.mdx)<T>","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$lt","type":"[ExpandScalar](../../product/types/product.ExpandScalar/page.mdx)<T>","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$lte","type":"[ExpandScalar](../../product/types/product.ExpandScalar/page.mdx)<T>","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$like","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$re","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$ilike","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$fulltext","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$overlap","type":"`string`[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$contains","type":"`string`[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$contained","type":"`string`[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$exists","type":"`boolean`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]}]}]},{"name":"update","type":"[UpdateProductDTO](../../product/interfaces/product.UpdateProductDTO/page.mdx)","description":"","optional":false,"defaultValue":"","expandable":false,"children":[{"name":"title","type":"`string`","description":"The title of the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"subtitle","type":"`null` \\| `string`","description":"The subttle of the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"description","type":"`null` \\| `string`","description":"The description of the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"is_giftcard","type":"`boolean`","description":"Whether the product is a gift card.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"discountable","type":"`boolean`","description":"Whether the product can be discounted.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"thumbnail","type":"`null` \\| `string`","description":"The URL of the product's thumbnail.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"handle","type":"`string`","description":"The handle of the product. The handle can be used to create slug URL paths.\nIf not supplied, the value of the `handle` attribute of the product is set to the slug version of the `title` attribute.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"status","type":"[ProductStatus](../../product/types/product.ProductStatus/page.mdx)","description":"The status of the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"images","type":"[UpsertProductImageDTO](../../product/interfaces/product.UpsertProductImageDTO/page.mdx)[]","description":"The associated images to create or update.","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"id","type":"`string`","description":"The product image's ID. If not provided, the image is created. In\nthat case, the `url` property is required.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"url","type":"`string`","description":"The new URL of the product image.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"metadata","type":"[MetadataType](../../product/types/product.MetadataType/page.mdx)","description":"Holds custom data in key-value pairs.","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"external_id","type":"`null` \\| `string`","description":"The id of the product in an external system","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"type_id","type":"`null` \\| `string`","description":"The product type to associate with the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"collection_id","type":"`null` \\| `string`","description":"The product collection to associate with the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"tag_ids","type":"`string`[]","description":"The tags to associate with the product","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"category_ids","type":"`string`[]","description":"The product categories to associate with the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"options","type":"[UpsertProductOptionDTO](../../product/interfaces/product.UpsertProductOptionDTO/page.mdx)[]","description":"The associated options to create or update.","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"id","type":"`string`","description":"The ID of the product option to update. If not provided, the product\noption is created. In that case, the `title` and `values` properties are\nrequired.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"title","type":"`string`","description":"The product option's title.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"values","type":"`string`[]","description":"The product option values.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"product_id","type":"`string`","description":"The ID of the associated product.","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"variants","type":"[UpsertProductVariantDTO](../../product/interfaces/product.UpsertProductVariantDTO/page.mdx)[]","description":"The product variants to be created and associated with the product.\nYou can also update existing product variants associated with the product.","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"id","type":"`string`","description":"The ID of the product variant to update.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"title","type":"`string`","description":"The tile of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"sku","type":"`null` \\| `string`","description":"The SKU of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"barcode","type":"`null` \\| `string`","description":"The barcode of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"ean","type":"`null` \\| `string`","description":"The EAN of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"upc","type":"`null` \\| `string`","description":"The UPC of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"allow_backorder","type":"`boolean`","description":"Whether the product variant can be ordered when it's out of stock.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"manage_inventory","type":"`boolean`","description":"Whether the product variant's inventory should be managed by the core system.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"hs_code","type":"`null` \\| `string`","description":"The HS Code of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"origin_country","type":"`null` \\| `string`","description":"The origin country of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"mid_code","type":"`null` \\| `string`","description":"The MID Code of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"material","type":"`null` \\| `string`","description":"The material of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"weight","type":"`null` \\| `number`","description":"The weight of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"length","type":"`null` \\| `number`","description":"The length of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"height","type":"`null` \\| `number`","description":"The height of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"width","type":"`null` \\| `number`","description":"The width of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"options","type":"`Record`","description":"The product variant options to associate with the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"metadata","type":"[MetadataType](../../product/types/product.MetadataType/page.mdx)","description":"Holds custom data in key-value pairs.","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"width","type":"`null` \\| `number`","description":"The width of the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"height","type":"`null` \\| `number`","description":"The height of the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"length","type":"`null` \\| `number`","description":"The length of the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"weight","type":"`null` \\| `number`","description":"The weight of the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"origin_country","type":"`null` \\| `string`","description":"The origin country of the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"hs_code","type":"`null` \\| `string`","description":"The HS Code of the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"material","type":"`null` \\| `string`","description":"The material of the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"mid_code","type":"`null` \\| `string`","description":"The MID Code of the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"metadata","type":"[MetadataType](../../product/types/product.MetadataType/page.mdx)","description":"Holds custom data in key-value pairs.","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"products","type":"[UpsertProductDTO](../../product/interfaces/product.UpsertProductDTO/page.mdx)[]","description":"","optional":false,"defaultValue":"","expandable":false,"children":[{"name":"id","type":"`string`","description":"The ID of the product to update. If not provided, a product\nis created instead. In that case, the `title` property is required.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"title","type":"`string`","description":"The title of the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"subtitle","type":"`null` \\| `string`","description":"The subttle of the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"description","type":"`null` \\| `string`","description":"The description of the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"is_giftcard","type":"`boolean`","description":"Whether the product is a gift card.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"discountable","type":"`boolean`","description":"Whether the product can be discounted.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"thumbnail","type":"`null` \\| `string`","description":"The URL of the product's thumbnail.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"handle","type":"`string`","description":"The handle of the product. The handle can be used to create slug URL paths.\nIf not supplied, the value of the `handle` attribute of the product is set to the slug version of the `title` attribute.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"status","type":"[ProductStatus](../../product/types/product.ProductStatus/page.mdx)","description":"The status of the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"images","type":"[UpsertProductImageDTO](../../product/interfaces/product.UpsertProductImageDTO/page.mdx)[]","description":"The associated images to create or update.","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"id","type":"`string`","description":"The product image's ID. If not provided, the image is created. In\nthat case, the `url` property is required.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"url","type":"`string`","description":"The new URL of the product image.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"metadata","type":"[MetadataType](../../product/types/product.MetadataType/page.mdx)","description":"Holds custom data in key-value pairs.","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"external_id","type":"`null` \\| `string`","description":"The id of the product in an external system","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"type_id","type":"`null` \\| `string`","description":"The product type to associate with the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"collection_id","type":"`null` \\| `string`","description":"The product collection to associate with the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"tag_ids","type":"`string`[]","description":"The tags to associate with the product","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"category_ids","type":"`string`[]","description":"The product categories to associate with the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"options","type":"[UpsertProductOptionDTO](../../product/interfaces/product.UpsertProductOptionDTO/page.mdx)[]","description":"The associated options to create or update.","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"id","type":"`string`","description":"The ID of the product option to update. If not provided, the product\noption is created. In that case, the `title` and `values` properties are\nrequired.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"title","type":"`string`","description":"The product option's title.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"values","type":"`string`[]","description":"The product option values.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"product_id","type":"`string`","description":"The ID of the associated product.","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"variants","type":"[UpsertProductVariantDTO](../../product/interfaces/product.UpsertProductVariantDTO/page.mdx)[]","description":"The product variants to be created and associated with the product.\nYou can also update existing product variants associated with the product.","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"id","type":"`string`","description":"The ID of the product variant to update.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"title","type":"`string`","description":"The tile of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"sku","type":"`null` \\| `string`","description":"The SKU of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"barcode","type":"`null` \\| `string`","description":"The barcode of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"ean","type":"`null` \\| `string`","description":"The EAN of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"upc","type":"`null` \\| `string`","description":"The UPC of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"allow_backorder","type":"`boolean`","description":"Whether the product variant can be ordered when it's out of stock.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"manage_inventory","type":"`boolean`","description":"Whether the product variant's inventory should be managed by the core system.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"hs_code","type":"`null` \\| `string`","description":"The HS Code of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"origin_country","type":"`null` \\| `string`","description":"The origin country of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"mid_code","type":"`null` \\| `string`","description":"The MID Code of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"material","type":"`null` \\| `string`","description":"The material of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"weight","type":"`null` \\| `number`","description":"The weight of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"length","type":"`null` \\| `number`","description":"The length of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"height","type":"`null` \\| `number`","description":"The height of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"width","type":"`null` \\| `number`","description":"The width of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"options","type":"`Record`","description":"The product variant options to associate with the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"metadata","type":"[MetadataType](../../product/types/product.MetadataType/page.mdx)","description":"Holds custom data in key-value pairs.","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"width","type":"`null` \\| `number`","description":"The width of the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"height","type":"`null` \\| `number`","description":"The height of the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"length","type":"`null` \\| `number`","description":"The length of the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"weight","type":"`null` \\| `number`","description":"The weight of the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"origin_country","type":"`null` \\| `string`","description":"The origin country of the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"hs_code","type":"`null` \\| `string`","description":"The HS Code of the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"material","type":"`null` \\| `string`","description":"The material of the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"mid_code","type":"`null` \\| `string`","description":"The MID Code of the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"metadata","type":"[MetadataType](../../product/types/product.MetadataType/page.mdx)","description":"Holds custom data in key-value pairs.","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"filter","type":"[FilterableProductProps](../../product/interfaces/product.FilterableProductProps/page.mdx)","description":"","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"$and","type":"([FilterableProductProps](../../product/interfaces/product.FilterableProductProps/page.mdx) \\| [BaseFilterable](../../product/interfaces/product.BaseFilterable/page.mdx)<[FilterableProductProps](../../product/interfaces/product.FilterableProductProps/page.mdx)>)[]","description":"An array of filters to apply on the entity, where each item in the array is joined with an \"and\" condition.","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"$and","type":"([FilterableProductProps](../../product/interfaces/product.FilterableProductProps/page.mdx) \\| [BaseFilterable](../../product/interfaces/product.BaseFilterable/page.mdx)<[FilterableProductProps](../../product/interfaces/product.FilterableProductProps/page.mdx)>)[]","description":"An array of filters to apply on the entity, where each item in the array is joined with an \"and\" condition.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$or","type":"([FilterableProductProps](../../product/interfaces/product.FilterableProductProps/page.mdx) \\| [BaseFilterable](../../product/interfaces/product.BaseFilterable/page.mdx)<[FilterableProductProps](../../product/interfaces/product.FilterableProductProps/page.mdx)>)[]","description":"An array of filters to apply on the entity, where each item in the array is joined with an \"or\" condition.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"q","type":"`string`","description":"Search through the products' attributes, such as titles and descriptions, using this search term.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"status","type":"[ProductStatus](../../product/types/product.ProductStatus/page.mdx) \\| [ProductStatus](../../product/types/product.ProductStatus/page.mdx)[]","description":"The status to filter products by","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"title","type":"`string` \\| `string`[]","description":"The titles to filter products by.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"handle","type":"`string` \\| `string`[]","description":"The handles to filter products by.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"id","type":"`string` \\| `string`[]","description":"The IDs to filter products by.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"is_giftcard","type":"`boolean`","description":"Filters only or excluding gift card products","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"tags","type":"`object`","description":"Filters on a product's tags.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"variants","type":"`object`","description":"Filters on a product's variant properties.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"type_id","type":"`string` \\| `string`[]","description":"Filter a product by the ID of the associated type","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"categories","type":"`object` \\| `object`","description":"Filter a product by the IDs of their associated categories.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"collection_id","type":"`string` \\| `string`[] \\| [OperatorMap](../../product/types/product.OperatorMap/page.mdx)<string>","description":"Filters a product by its associated collections.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"created_at","type":"[OperatorMap](../../product/types/product.OperatorMap/page.mdx)<string>","description":"Filters a product based on when it was created","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"updated_at","type":"[OperatorMap](../../product/types/product.OperatorMap/page.mdx)<string>","description":"Filters a product based on when it was updated","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"deleted_at","type":"[OperatorMap](../../product/types/product.OperatorMap/page.mdx)<string>","description":"Filters soft-deleted products based on the date they were deleted at.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$and","type":"([BaseFilterable](../../product/interfaces/product.BaseFilterable/page.mdx)<T> \\| T)[]","description":"An array of filters to apply on the entity, where each item in the array is joined with an \"and\" condition.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$or","type":"([BaseFilterable](../../product/interfaces/product.BaseFilterable/page.mdx)<T> \\| T)[]","description":"An array of filters to apply on the entity, where each item in the array is joined with an \"or\" condition.","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"$or","type":"([FilterableProductProps](../../product/interfaces/product.FilterableProductProps/page.mdx) \\| [BaseFilterable](../../product/interfaces/product.BaseFilterable/page.mdx)<[FilterableProductProps](../../product/interfaces/product.FilterableProductProps/page.mdx)>)[]","description":"An array of filters to apply on the entity, where each item in the array is joined with an \"or\" condition.","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"$and","type":"([FilterableProductProps](../../product/interfaces/product.FilterableProductProps/page.mdx) \\| [BaseFilterable](../../product/interfaces/product.BaseFilterable/page.mdx)<[FilterableProductProps](../../product/interfaces/product.FilterableProductProps/page.mdx)>)[]","description":"An array of filters to apply on the entity, where each item in the array is joined with an \"and\" condition.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$or","type":"([FilterableProductProps](../../product/interfaces/product.FilterableProductProps/page.mdx) \\| [BaseFilterable](../../product/interfaces/product.BaseFilterable/page.mdx)<[FilterableProductProps](../../product/interfaces/product.FilterableProductProps/page.mdx)>)[]","description":"An array of filters to apply on the entity, where each item in the array is joined with an \"or\" condition.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"q","type":"`string`","description":"Search through the products' attributes, such as titles and descriptions, using this search term.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"status","type":"[ProductStatus](../../product/types/product.ProductStatus/page.mdx) \\| [ProductStatus](../../product/types/product.ProductStatus/page.mdx)[]","description":"The status to filter products by","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"title","type":"`string` \\| `string`[]","description":"The titles to filter products by.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"handle","type":"`string` \\| `string`[]","description":"The handles to filter products by.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"id","type":"`string` \\| `string`[]","description":"The IDs to filter products by.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"is_giftcard","type":"`boolean`","description":"Filters only or excluding gift card products","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"tags","type":"`object`","description":"Filters on a product's tags.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"variants","type":"`object`","description":"Filters on a product's variant properties.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"type_id","type":"`string` \\| `string`[]","description":"Filter a product by the ID of the associated type","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"categories","type":"`object` \\| `object`","description":"Filter a product by the IDs of their associated categories.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"collection_id","type":"`string` \\| `string`[] \\| [OperatorMap](../../product/types/product.OperatorMap/page.mdx)<string>","description":"Filters a product by its associated collections.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"created_at","type":"[OperatorMap](../../product/types/product.OperatorMap/page.mdx)<string>","description":"Filters a product based on when it was created","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"updated_at","type":"[OperatorMap](../../product/types/product.OperatorMap/page.mdx)<string>","description":"Filters a product based on when it was updated","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"deleted_at","type":"[OperatorMap](../../product/types/product.OperatorMap/page.mdx)<string>","description":"Filters soft-deleted products based on the date they were deleted at.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$and","type":"([BaseFilterable](../../product/interfaces/product.BaseFilterable/page.mdx)<T> \\| T)[]","description":"An array of filters to apply on the entity, where each item in the array is joined with an \"and\" condition.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$or","type":"([BaseFilterable](../../product/interfaces/product.BaseFilterable/page.mdx)<T> \\| T)[]","description":"An array of filters to apply on the entity, where each item in the array is joined with an \"or\" condition.","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"q","type":"`string`","description":"Search through the products' attributes, such as titles and descriptions, using this search term.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"status","type":"[ProductStatus](../../product/types/product.ProductStatus/page.mdx) \\| [ProductStatus](../../product/types/product.ProductStatus/page.mdx)[]","description":"The status to filter products by","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"title","type":"`string` \\| `string`[]","description":"The titles to filter products by.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"handle","type":"`string` \\| `string`[]","description":"The handles to filter products by.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"id","type":"`string` \\| `string`[]","description":"The IDs to filter products by.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"is_giftcard","type":"`boolean`","description":"Filters only or excluding gift card products","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"tags","type":"`object`","description":"Filters on a product's tags.","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"id","type":"`string`[]","description":"Filter a product by the IDs of their associated tags.","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"variants","type":"`object`","description":"Filters on a product's variant properties.","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"options","type":"`object`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"type_id","type":"`string` \\| `string`[]","description":"Filter a product by the ID of the associated type","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"categories","type":"`object` \\| `object`","description":"Filter a product by the IDs of their associated categories.","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"id","type":"[OperatorMap](../../product/types/product.OperatorMap/page.mdx)<string>","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"id","type":"[OperatorMap](../../product/types/product.OperatorMap/page.mdx)<string[]>","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]}]},{"name":"collection_id","type":"`string` \\| `string`[] \\| [OperatorMap](../../product/types/product.OperatorMap/page.mdx)<string>","description":"Filters a product by its associated collections.","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"$and","type":"[Query](../../product/types/product.Query/page.mdx)<T>[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$or","type":"[Query](../../product/types/product.Query/page.mdx)<T>[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$eq","type":"[ExpandScalar](../../product/types/product.ExpandScalar/page.mdx)<T> \\| [ExpandScalar](../../product/types/product.ExpandScalar/page.mdx)<T>[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$ne","type":"[ExpandScalar](../../product/types/product.ExpandScalar/page.mdx)<T>","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$in","type":"[ExpandScalar](../../product/types/product.ExpandScalar/page.mdx)<T>[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$nin","type":"[ExpandScalar](../../product/types/product.ExpandScalar/page.mdx)<T>[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$not","type":"[Query](../../product/types/product.Query/page.mdx)<T>","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$gt","type":"[ExpandScalar](../../product/types/product.ExpandScalar/page.mdx)<T>","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$gte","type":"[ExpandScalar](../../product/types/product.ExpandScalar/page.mdx)<T>","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$lt","type":"[ExpandScalar](../../product/types/product.ExpandScalar/page.mdx)<T>","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$lte","type":"[ExpandScalar](../../product/types/product.ExpandScalar/page.mdx)<T>","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$like","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$re","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$ilike","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$fulltext","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$overlap","type":"`string`[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$contains","type":"`string`[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$contained","type":"`string`[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$exists","type":"`boolean`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"created_at","type":"[OperatorMap](../../product/types/product.OperatorMap/page.mdx)<string>","description":"Filters a product based on when it was created","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"$and","type":"[Query](../../product/types/product.Query/page.mdx)<T>[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$or","type":"[Query](../../product/types/product.Query/page.mdx)<T>[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$eq","type":"[ExpandScalar](../../product/types/product.ExpandScalar/page.mdx)<T> \\| [ExpandScalar](../../product/types/product.ExpandScalar/page.mdx)<T>[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$ne","type":"[ExpandScalar](../../product/types/product.ExpandScalar/page.mdx)<T>","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$in","type":"[ExpandScalar](../../product/types/product.ExpandScalar/page.mdx)<T>[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$nin","type":"[ExpandScalar](../../product/types/product.ExpandScalar/page.mdx)<T>[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$not","type":"[Query](../../product/types/product.Query/page.mdx)<T>","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$gt","type":"[ExpandScalar](../../product/types/product.ExpandScalar/page.mdx)<T>","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$gte","type":"[ExpandScalar](../../product/types/product.ExpandScalar/page.mdx)<T>","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$lt","type":"[ExpandScalar](../../product/types/product.ExpandScalar/page.mdx)<T>","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$lte","type":"[ExpandScalar](../../product/types/product.ExpandScalar/page.mdx)<T>","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$like","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$re","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$ilike","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$fulltext","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$overlap","type":"`string`[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$contains","type":"`string`[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$contained","type":"`string`[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$exists","type":"`boolean`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"updated_at","type":"[OperatorMap](../../product/types/product.OperatorMap/page.mdx)<string>","description":"Filters a product based on when it was updated","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"$and","type":"[Query](../../product/types/product.Query/page.mdx)<T>[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$or","type":"[Query](../../product/types/product.Query/page.mdx)<T>[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$eq","type":"[ExpandScalar](../../product/types/product.ExpandScalar/page.mdx)<T> \\| [ExpandScalar](../../product/types/product.ExpandScalar/page.mdx)<T>[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$ne","type":"[ExpandScalar](../../product/types/product.ExpandScalar/page.mdx)<T>","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$in","type":"[ExpandScalar](../../product/types/product.ExpandScalar/page.mdx)<T>[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$nin","type":"[ExpandScalar](../../product/types/product.ExpandScalar/page.mdx)<T>[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$not","type":"[Query](../../product/types/product.Query/page.mdx)<T>","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$gt","type":"[ExpandScalar](../../product/types/product.ExpandScalar/page.mdx)<T>","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$gte","type":"[ExpandScalar](../../product/types/product.ExpandScalar/page.mdx)<T>","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$lt","type":"[ExpandScalar](../../product/types/product.ExpandScalar/page.mdx)<T>","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$lte","type":"[ExpandScalar](../../product/types/product.ExpandScalar/page.mdx)<T>","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$like","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$re","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$ilike","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$fulltext","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$overlap","type":"`string`[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$contains","type":"`string`[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$contained","type":"`string`[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$exists","type":"`boolean`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"deleted_at","type":"[OperatorMap](../../product/types/product.OperatorMap/page.mdx)<string>","description":"Filters soft-deleted products based on the date they were deleted at.","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"$and","type":"[Query](../../product/types/product.Query/page.mdx)<T>[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$or","type":"[Query](../../product/types/product.Query/page.mdx)<T>[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$eq","type":"[ExpandScalar](../../product/types/product.ExpandScalar/page.mdx)<T> \\| [ExpandScalar](../../product/types/product.ExpandScalar/page.mdx)<T>[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$ne","type":"[ExpandScalar](../../product/types/product.ExpandScalar/page.mdx)<T>","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$in","type":"[ExpandScalar](../../product/types/product.ExpandScalar/page.mdx)<T>[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$nin","type":"[ExpandScalar](../../product/types/product.ExpandScalar/page.mdx)<T>[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$not","type":"[Query](../../product/types/product.Query/page.mdx)<T>","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$gt","type":"[ExpandScalar](../../product/types/product.ExpandScalar/page.mdx)<T>","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$gte","type":"[ExpandScalar](../../product/types/product.ExpandScalar/page.mdx)<T>","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$lt","type":"[ExpandScalar](../../product/types/product.ExpandScalar/page.mdx)<T>","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$lte","type":"[ExpandScalar](../../product/types/product.ExpandScalar/page.mdx)<T>","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$like","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$re","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$ilike","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$fulltext","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$overlap","type":"`string`[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$contains","type":"`string`[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$contained","type":"`string`[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$exists","type":"`boolean`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]}]}]},{"name":"ids","type":"`string`[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"id","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"id","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]}]} expandUrl="https://docs.medusajs.com/v2/advanced-development/data-models/manage-relationships#retrieve-records-of-relation" sectionTitle="Steps_Product"/> +`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"inventory_items","type":"[AdminCreateProductVariantInventoryKit](../../types/HttpTypes/interfaces/types.HttpTypes.AdminCreateProductVariantInventoryKit/page.mdx)[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"options","type":"`Record`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"sales_channels","type":"`object`[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"id","type":"`string`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]}]},{"name":"weight","type":"`number`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"length","type":"`number`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"height","type":"`number`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"width","type":"`number`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"hs_code","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"mid_code","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"origin_country","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"material","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"metadata","type":"`Record`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"create","type":"[AdminCreateProduct](../../types/HttpTypes/interfaces/types.HttpTypes.AdminCreateProduct/page.mdx)[]","description":"","optional":false,"defaultValue":"toCreate","expandable":false,"children":[{"name":"title","type":"`string`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"options","type":"[AdminCreateProductOption](../../types/HttpTypes/interfaces/types.HttpTypes.AdminCreateProductOption/page.mdx)[]","description":"","optional":false,"defaultValue":"","expandable":false,"children":[{"name":"title","type":"`string`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"values","type":"`string`[]","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]}]},{"name":"subtitle","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"description","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"is_giftcard","type":"`boolean`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"discountable","type":"`boolean`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"images","type":"`object`[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"url","type":"`string`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]}]},{"name":"thumbnail","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"handle","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"status","type":"[ProductStatus](../../types/types/types.ProductStatus/page.mdx)","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"type_id","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"external_id","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"collection_id","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"categories","type":"`object`[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"id","type":"`string`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]}]},{"name":"tags","type":"`object`[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"id","type":"`string`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]}]},{"name":"variants","type":"[AdminCreateProductVariant](../../types/HttpTypes/interfaces/types.HttpTypes.AdminCreateProductVariant/page.mdx)[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"title","type":"`string`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"prices","type":"[AdminCreateProductVariantPrice](../../types/HttpTypes/interfaces/types.HttpTypes.AdminCreateProductVariantPrice/page.mdx)[]","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"sku","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"ean","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"upc","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"barcode","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"hs_code","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"mid_code","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"allow_backorder","type":"`boolean`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"manage_inventory","type":"`boolean`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"variant_rank","type":"`number`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"weight","type":"`number`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"length","type":"`number`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"height","type":"`number`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"width","type":"`number`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"origin_country","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"material","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"metadata","type":"`Record`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"inventory_items","type":"[AdminCreateProductVariantInventoryKit](../../types/HttpTypes/interfaces/types.HttpTypes.AdminCreateProductVariantInventoryKit/page.mdx)[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"options","type":"`Record`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"sales_channels","type":"`object`[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"id","type":"`string`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]}]},{"name":"weight","type":"`number`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"length","type":"`number`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"height","type":"`number`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"width","type":"`number`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"hs_code","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"mid_code","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"origin_country","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"material","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"metadata","type":"`Record`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"create","type":"[AdminCreateProduct](../../types/HttpTypes/interfaces/types.HttpTypes.AdminCreateProduct/page.mdx)[]","description":"","optional":false,"defaultValue":"toCreate","expandable":false,"children":[{"name":"title","type":"`string`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"options","type":"[AdminCreateProductOption](../../types/HttpTypes/interfaces/types.HttpTypes.AdminCreateProductOption/page.mdx)[]","description":"","optional":false,"defaultValue":"","expandable":false,"children":[{"name":"title","type":"`string`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"values","type":"`string`[]","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]}]},{"name":"subtitle","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"description","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"is_giftcard","type":"`boolean`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"discountable","type":"`boolean`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"images","type":"`object`[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"url","type":"`string`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]}]},{"name":"thumbnail","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"handle","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"status","type":"[ProductStatus](../../types/types/types.ProductStatus/page.mdx)","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"type_id","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"external_id","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"collection_id","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"categories","type":"`object`[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"id","type":"`string`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]}]},{"name":"tags","type":"`object`[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"id","type":"`string`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]}]},{"name":"variants","type":"[AdminCreateProductVariant](../../types/HttpTypes/interfaces/types.HttpTypes.AdminCreateProductVariant/page.mdx)[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"title","type":"`string`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"prices","type":"[AdminCreateProductVariantPrice](../../types/HttpTypes/interfaces/types.HttpTypes.AdminCreateProductVariantPrice/page.mdx)[]","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"sku","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"ean","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"upc","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"barcode","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"hs_code","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"mid_code","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"allow_backorder","type":"`boolean`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"manage_inventory","type":"`boolean`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"variant_rank","type":"`number`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"weight","type":"`number`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"length","type":"`number`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"height","type":"`number`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"width","type":"`number`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"origin_country","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"material","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"metadata","type":"`Record`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"inventory_items","type":"[AdminCreateProductVariantInventoryKit](../../types/HttpTypes/interfaces/types.HttpTypes.AdminCreateProductVariantInventoryKit/page.mdx)[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"options","type":"`Record`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"sales_channels","type":"`object`[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"id","type":"`string`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]}]},{"name":"weight","type":"`number`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"length","type":"`number`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"height","type":"`number`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"width","type":"`number`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"hs_code","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"mid_code","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"origin_country","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"material","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"metadata","type":"`Record`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"create","type":"[AdminCreateProduct](../../types/HttpTypes/interfaces/types.HttpTypes.AdminCreateProduct/page.mdx)[]","description":"","optional":false,"defaultValue":"toCreate","expandable":false,"children":[{"name":"title","type":"`string`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"options","type":"[AdminCreateProductOption](../../types/HttpTypes/interfaces/types.HttpTypes.AdminCreateProductOption/page.mdx)[]","description":"","optional":false,"defaultValue":"","expandable":false,"children":[{"name":"title","type":"`string`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"values","type":"`string`[]","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]}]},{"name":"subtitle","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"description","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"is_giftcard","type":"`boolean`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"discountable","type":"`boolean`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"images","type":"`object`[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"url","type":"`string`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]}]},{"name":"thumbnail","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"handle","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"status","type":"[ProductStatus](../../types/types/types.ProductStatus/page.mdx)","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"type_id","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"external_id","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"collection_id","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"categories","type":"`object`[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"id","type":"`string`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]}]},{"name":"tags","type":"`object`[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"id","type":"`string`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]}]},{"name":"variants","type":"[AdminCreateProductVariant](../../types/HttpTypes/interfaces/types.HttpTypes.AdminCreateProductVariant/page.mdx)[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"title","type":"`string`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"prices","type":"[AdminCreateProductVariantPrice](../../types/HttpTypes/interfaces/types.HttpTypes.AdminCreateProductVariantPrice/page.mdx)[]","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"sku","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"ean","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"upc","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"barcode","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"hs_code","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"mid_code","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"allow_backorder","type":"`boolean`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"manage_inventory","type":"`boolean`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"variant_rank","type":"`number`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"weight","type":"`number`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"length","type":"`number`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"height","type":"`number`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"width","type":"`number`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"origin_country","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"material","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"metadata","type":"`Record`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"inventory_items","type":"[AdminCreateProductVariantInventoryKit](../../types/HttpTypes/interfaces/types.HttpTypes.AdminCreateProductVariantInventoryKit/page.mdx)[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"options","type":"`Record`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"sales_channels","type":"`object`[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"id","type":"`string`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]}]},{"name":"weight","type":"`number`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"length","type":"`number`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"height","type":"`number`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"width","type":"`number`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"hs_code","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"mid_code","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"origin_country","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"material","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"metadata","type":"`Record`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"update","type":"[AdminUpdateProduct](../../types/HttpTypes/interfaces/types.HttpTypes.AdminUpdateProduct/page.mdx) & `object`[]","description":"","optional":false,"defaultValue":"toUpdate","expandable":false,"children":[{"name":"id","type":"`string`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"title","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"subtitle","type":"`null` \\| `string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"description","type":"`null` \\| `string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"is_giftcard","type":"`boolean`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"discountable","type":"`boolean`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"images","type":"`object`[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"url","type":"`string`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]}]},{"name":"thumbnail","type":"`null` \\| `string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"handle","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"status","type":"[ProductStatus](../../types/types/types.ProductStatus/page.mdx)","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"type_id","type":"`null` \\| `string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"external_id","type":"`null` \\| `string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"collection_id","type":"`null` \\| `string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"categories","type":"`object`[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"id","type":"`string`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]}]},{"name":"tags","type":"`object`[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"id","type":"`string`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]}]},{"name":"options","type":"[AdminUpdateProductOption](../../types/HttpTypes/interfaces/types.HttpTypes.AdminUpdateProductOption/page.mdx)[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"title","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"values","type":"`string`[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"variants","type":"([AdminCreateProductVariant](../../types/HttpTypes/interfaces/types.HttpTypes.AdminCreateProductVariant/page.mdx) \\| [AdminUpdateProductVariant](../../types/HttpTypes/interfaces/types.HttpTypes.AdminUpdateProductVariant/page.mdx))[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"title","type":"`string`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"prices","type":"[AdminCreateProductVariantPrice](../../types/HttpTypes/interfaces/types.HttpTypes.AdminCreateProductVariantPrice/page.mdx)[]","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"sku","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"ean","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"upc","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"barcode","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"hs_code","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"mid_code","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"allow_backorder","type":"`boolean`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"manage_inventory","type":"`boolean`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"variant_rank","type":"`number`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"weight","type":"`number`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"length","type":"`number`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"height","type":"`number`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"width","type":"`number`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"origin_country","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"material","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"metadata","type":"`Record`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"inventory_items","type":"[AdminCreateProductVariantInventoryKit](../../types/HttpTypes/interfaces/types.HttpTypes.AdminCreateProductVariantInventoryKit/page.mdx)[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"options","type":"`Record`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"title","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"sku","type":"`null` \\| `string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"ean","type":"`null` \\| `string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"upc","type":"`null` \\| `string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"barcode","type":"`null` \\| `string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"hs_code","type":"`null` \\| `string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"mid_code","type":"`null` \\| `string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"allow_backorder","type":"`boolean`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"manage_inventory","type":"`boolean`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"variant_rank","type":"`number`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"weight","type":"`null` \\| `number`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"length","type":"`null` \\| `number`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"height","type":"`null` \\| `number`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"width","type":"`null` \\| `number`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"origin_country","type":"`null` \\| `string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"material","type":"`null` \\| `string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"metadata","type":"`null` \\| `Record`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"prices","type":"[AdminCreateProductVariantPrice](../../types/HttpTypes/interfaces/types.HttpTypes.AdminCreateProductVariantPrice/page.mdx)[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"options","type":"`Record`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"sales_channels","type":"`object`[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"id","type":"`string`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]}]},{"name":"weight","type":"`null` \\| `number`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"length","type":"`null` \\| `number`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"height","type":"`null` \\| `number`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"width","type":"`null` \\| `number`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"hs_code","type":"`null` \\| `string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"mid_code","type":"`null` \\| `string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"origin_country","type":"`null` \\| `string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"material","type":"`null` \\| `string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"metadata","type":"`null` \\| `Record`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"update","type":"[AdminUpdateProduct](../../types/HttpTypes/interfaces/types.HttpTypes.AdminUpdateProduct/page.mdx) & `object`[]","description":"","optional":false,"defaultValue":"toUpdate","expandable":false,"children":[{"name":"id","type":"`string`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"title","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"subtitle","type":"`null` \\| `string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"description","type":"`null` \\| `string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"is_giftcard","type":"`boolean`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"discountable","type":"`boolean`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"images","type":"`object`[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"url","type":"`string`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]}]},{"name":"thumbnail","type":"`null` \\| `string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"handle","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"status","type":"[ProductStatus](../../types/types/types.ProductStatus/page.mdx)","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"type_id","type":"`null` \\| `string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"external_id","type":"`null` \\| `string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"collection_id","type":"`null` \\| `string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"categories","type":"`object`[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"id","type":"`string`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]}]},{"name":"tags","type":"`object`[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"id","type":"`string`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]}]},{"name":"options","type":"[AdminUpdateProductOption](../../types/HttpTypes/interfaces/types.HttpTypes.AdminUpdateProductOption/page.mdx)[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"title","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"values","type":"`string`[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"variants","type":"([AdminCreateProductVariant](../../types/HttpTypes/interfaces/types.HttpTypes.AdminCreateProductVariant/page.mdx) \\| [AdminUpdateProductVariant](../../types/HttpTypes/interfaces/types.HttpTypes.AdminUpdateProductVariant/page.mdx))[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"title","type":"`string`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"prices","type":"[AdminCreateProductVariantPrice](../../types/HttpTypes/interfaces/types.HttpTypes.AdminCreateProductVariantPrice/page.mdx)[]","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"sku","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"ean","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"upc","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"barcode","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"hs_code","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"mid_code","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"allow_backorder","type":"`boolean`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"manage_inventory","type":"`boolean`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"variant_rank","type":"`number`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"weight","type":"`number`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"length","type":"`number`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"height","type":"`number`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"width","type":"`number`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"origin_country","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"material","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"metadata","type":"`Record`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"inventory_items","type":"[AdminCreateProductVariantInventoryKit](../../types/HttpTypes/interfaces/types.HttpTypes.AdminCreateProductVariantInventoryKit/page.mdx)[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"options","type":"`Record`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"title","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"sku","type":"`null` \\| `string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"ean","type":"`null` \\| `string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"upc","type":"`null` \\| `string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"barcode","type":"`null` \\| `string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"hs_code","type":"`null` \\| `string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"mid_code","type":"`null` \\| `string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"allow_backorder","type":"`boolean`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"manage_inventory","type":"`boolean`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"variant_rank","type":"`number`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"weight","type":"`null` \\| `number`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"length","type":"`null` \\| `number`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"height","type":"`null` \\| `number`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"width","type":"`null` \\| `number`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"origin_country","type":"`null` \\| `string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"material","type":"`null` \\| `string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"metadata","type":"`null` \\| `Record`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"prices","type":"[AdminCreateProductVariantPrice](../../types/HttpTypes/interfaces/types.HttpTypes.AdminCreateProductVariantPrice/page.mdx)[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"options","type":"`Record`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"sales_channels","type":"`object`[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"id","type":"`string`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]}]},{"name":"weight","type":"`null` \\| `number`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"length","type":"`null` \\| `number`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"height","type":"`null` \\| `number`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"width","type":"`null` \\| `number`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"hs_code","type":"`null` \\| `string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"mid_code","type":"`null` \\| `string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"origin_country","type":"`null` \\| `string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"material","type":"`null` \\| `string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"metadata","type":"`null` \\| `Record`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"update","type":"[AdminUpdateProduct](../../types/HttpTypes/interfaces/types.HttpTypes.AdminUpdateProduct/page.mdx) & `object`[]","description":"","optional":false,"defaultValue":"toUpdate","expandable":false,"children":[{"name":"id","type":"`string`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"title","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"subtitle","type":"`null` \\| `string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"description","type":"`null` \\| `string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"is_giftcard","type":"`boolean`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"discountable","type":"`boolean`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"images","type":"`object`[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"url","type":"`string`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]}]},{"name":"thumbnail","type":"`null` \\| `string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"handle","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"status","type":"[ProductStatus](../../types/types/types.ProductStatus/page.mdx)","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"type_id","type":"`null` \\| `string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"external_id","type":"`null` \\| `string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"collection_id","type":"`null` \\| `string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"categories","type":"`object`[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"id","type":"`string`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]}]},{"name":"tags","type":"`object`[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"id","type":"`string`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]}]},{"name":"options","type":"[AdminUpdateProductOption](../../types/HttpTypes/interfaces/types.HttpTypes.AdminUpdateProductOption/page.mdx)[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"title","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"values","type":"`string`[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"variants","type":"([AdminCreateProductVariant](../../types/HttpTypes/interfaces/types.HttpTypes.AdminCreateProductVariant/page.mdx) \\| [AdminUpdateProductVariant](../../types/HttpTypes/interfaces/types.HttpTypes.AdminUpdateProductVariant/page.mdx))[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"title","type":"`string`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"prices","type":"[AdminCreateProductVariantPrice](../../types/HttpTypes/interfaces/types.HttpTypes.AdminCreateProductVariantPrice/page.mdx)[]","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"sku","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"ean","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"upc","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"barcode","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"hs_code","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"mid_code","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"allow_backorder","type":"`boolean`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"manage_inventory","type":"`boolean`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"variant_rank","type":"`number`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"weight","type":"`number`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"length","type":"`number`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"height","type":"`number`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"width","type":"`number`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"origin_country","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"material","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"metadata","type":"`Record`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"inventory_items","type":"[AdminCreateProductVariantInventoryKit](../../types/HttpTypes/interfaces/types.HttpTypes.AdminCreateProductVariantInventoryKit/page.mdx)[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"options","type":"`Record`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"title","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"sku","type":"`null` \\| `string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"ean","type":"`null` \\| `string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"upc","type":"`null` \\| `string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"barcode","type":"`null` \\| `string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"hs_code","type":"`null` \\| `string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"mid_code","type":"`null` \\| `string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"allow_backorder","type":"`boolean`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"manage_inventory","type":"`boolean`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"variant_rank","type":"`number`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"weight","type":"`null` \\| `number`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"length","type":"`null` \\| `number`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"height","type":"`null` \\| `number`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"width","type":"`null` \\| `number`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"origin_country","type":"`null` \\| `string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"material","type":"`null` \\| `string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"metadata","type":"`null` \\| `Record`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"prices","type":"[AdminCreateProductVariantPrice](../../types/HttpTypes/interfaces/types.HttpTypes.AdminCreateProductVariantPrice/page.mdx)[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"options","type":"`Record`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"sales_channels","type":"`object`[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"id","type":"`string`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]}]},{"name":"weight","type":"`null` \\| `number`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"length","type":"`null` \\| `number`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"height","type":"`null` \\| `number`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"width","type":"`null` \\| `number`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"hs_code","type":"`null` \\| `string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"mid_code","type":"`null` \\| `string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"origin_country","type":"`null` \\| `string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"material","type":"`null` \\| `string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"metadata","type":"`null` \\| `Record`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"update","type":"[AdminUpdateProduct](../../types/HttpTypes/interfaces/types.HttpTypes.AdminUpdateProduct/page.mdx) & `object`[]","description":"","optional":false,"defaultValue":"toUpdate","expandable":false,"children":[{"name":"id","type":"`string`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"title","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"subtitle","type":"`null` \\| `string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"description","type":"`null` \\| `string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"is_giftcard","type":"`boolean`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"discountable","type":"`boolean`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"images","type":"`object`[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"url","type":"`string`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]}]},{"name":"thumbnail","type":"`null` \\| `string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"handle","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"status","type":"[ProductStatus](../../types/types/types.ProductStatus/page.mdx)","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"type_id","type":"`null` \\| `string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"external_id","type":"`null` \\| `string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"collection_id","type":"`null` \\| `string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"categories","type":"`object`[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"id","type":"`string`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]}]},{"name":"tags","type":"`object`[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"id","type":"`string`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]}]},{"name":"options","type":"[AdminUpdateProductOption](../../types/HttpTypes/interfaces/types.HttpTypes.AdminUpdateProductOption/page.mdx)[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"title","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"values","type":"`string`[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"variants","type":"([AdminCreateProductVariant](../../types/HttpTypes/interfaces/types.HttpTypes.AdminCreateProductVariant/page.mdx) \\| [AdminUpdateProductVariant](../../types/HttpTypes/interfaces/types.HttpTypes.AdminUpdateProductVariant/page.mdx))[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"title","type":"`string`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"prices","type":"[AdminCreateProductVariantPrice](../../types/HttpTypes/interfaces/types.HttpTypes.AdminCreateProductVariantPrice/page.mdx)[]","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"sku","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"ean","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"upc","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"barcode","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"hs_code","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"mid_code","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"allow_backorder","type":"`boolean`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"manage_inventory","type":"`boolean`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"variant_rank","type":"`number`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"weight","type":"`number`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"length","type":"`number`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"height","type":"`number`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"width","type":"`number`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"origin_country","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"material","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"metadata","type":"`Record`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"inventory_items","type":"[AdminCreateProductVariantInventoryKit](../../types/HttpTypes/interfaces/types.HttpTypes.AdminCreateProductVariantInventoryKit/page.mdx)[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"options","type":"`Record`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"title","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"sku","type":"`null` \\| `string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"ean","type":"`null` \\| `string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"upc","type":"`null` \\| `string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"barcode","type":"`null` \\| `string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"hs_code","type":"`null` \\| `string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"mid_code","type":"`null` \\| `string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"allow_backorder","type":"`boolean`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"manage_inventory","type":"`boolean`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"variant_rank","type":"`number`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"weight","type":"`null` \\| `number`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"length","type":"`null` \\| `number`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"height","type":"`null` \\| `number`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"width","type":"`null` \\| `number`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"origin_country","type":"`null` \\| `string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"material","type":"`null` \\| `string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"metadata","type":"`null` \\| `Record`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"prices","type":"[AdminCreateProductVariantPrice](../../types/HttpTypes/interfaces/types.HttpTypes.AdminCreateProductVariantPrice/page.mdx)[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"options","type":"`Record`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"sales_channels","type":"`object`[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"id","type":"`string`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]}]},{"name":"weight","type":"`null` \\| `number`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"length","type":"`null` \\| `number`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"height","type":"`null` \\| `number`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"width","type":"`null` \\| `number`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"hs_code","type":"`null` \\| `string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"mid_code","type":"`null` \\| `string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"origin_country","type":"`null` \\| `string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"material","type":"`null` \\| `string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"metadata","type":"`null` \\| `Record`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"selector","type":"[FilterableProductCollectionProps](../../product/interfaces/product.FilterableProductCollectionProps/page.mdx)","description":"","optional":false,"defaultValue":"","expandable":false,"children":[{"name":"$and","type":"([FilterableProductCollectionProps](../../product/interfaces/product.FilterableProductCollectionProps/page.mdx) \\| [BaseFilterable](../../product/interfaces/product.BaseFilterable/page.mdx)<[FilterableProductCollectionProps](../../product/interfaces/product.FilterableProductCollectionProps/page.mdx)>)[]","description":"An array of filters to apply on the entity, where each item in the array is joined with an \"and\" condition.","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"$and","type":"([FilterableProductCollectionProps](../../product/interfaces/product.FilterableProductCollectionProps/page.mdx) \\| [BaseFilterable](../../product/interfaces/product.BaseFilterable/page.mdx)<[FilterableProductCollectionProps](../../product/interfaces/product.FilterableProductCollectionProps/page.mdx)>)[]","description":"An array of filters to apply on the entity, where each item in the array is joined with an \"and\" condition.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$or","type":"([FilterableProductCollectionProps](../../product/interfaces/product.FilterableProductCollectionProps/page.mdx) \\| [BaseFilterable](../../product/interfaces/product.BaseFilterable/page.mdx)<[FilterableProductCollectionProps](../../product/interfaces/product.FilterableProductCollectionProps/page.mdx)>)[]","description":"An array of filters to apply on the entity, where each item in the array is joined with an \"or\" condition.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"q","type":"`string`","description":"Search through the collections' titles.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"id","type":"`string` \\| `string`[]","description":"The IDs to filter product collections by.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"handle","type":"`string` \\| `string`[]","description":"The handles to filter product collections by.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"title","type":"`string` \\| `string`[]","description":"The title to filter product collections by.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$and","type":"([BaseFilterable](../../product/interfaces/product.BaseFilterable/page.mdx)<T> \\| T)[]","description":"An array of filters to apply on the entity, where each item in the array is joined with an \"and\" condition.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$or","type":"([BaseFilterable](../../product/interfaces/product.BaseFilterable/page.mdx)<T> \\| T)[]","description":"An array of filters to apply on the entity, where each item in the array is joined with an \"or\" condition.","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"$or","type":"([FilterableProductCollectionProps](../../product/interfaces/product.FilterableProductCollectionProps/page.mdx) \\| [BaseFilterable](../../product/interfaces/product.BaseFilterable/page.mdx)<[FilterableProductCollectionProps](../../product/interfaces/product.FilterableProductCollectionProps/page.mdx)>)[]","description":"An array of filters to apply on the entity, where each item in the array is joined with an \"or\" condition.","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"$and","type":"([FilterableProductCollectionProps](../../product/interfaces/product.FilterableProductCollectionProps/page.mdx) \\| [BaseFilterable](../../product/interfaces/product.BaseFilterable/page.mdx)<[FilterableProductCollectionProps](../../product/interfaces/product.FilterableProductCollectionProps/page.mdx)>)[]","description":"An array of filters to apply on the entity, where each item in the array is joined with an \"and\" condition.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$or","type":"([FilterableProductCollectionProps](../../product/interfaces/product.FilterableProductCollectionProps/page.mdx) \\| [BaseFilterable](../../product/interfaces/product.BaseFilterable/page.mdx)<[FilterableProductCollectionProps](../../product/interfaces/product.FilterableProductCollectionProps/page.mdx)>)[]","description":"An array of filters to apply on the entity, where each item in the array is joined with an \"or\" condition.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"q","type":"`string`","description":"Search through the collections' titles.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"id","type":"`string` \\| `string`[]","description":"The IDs to filter product collections by.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"handle","type":"`string` \\| `string`[]","description":"The handles to filter product collections by.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"title","type":"`string` \\| `string`[]","description":"The title to filter product collections by.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$and","type":"([BaseFilterable](../../product/interfaces/product.BaseFilterable/page.mdx)<T> \\| T)[]","description":"An array of filters to apply on the entity, where each item in the array is joined with an \"and\" condition.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$or","type":"([BaseFilterable](../../product/interfaces/product.BaseFilterable/page.mdx)<T> \\| T)[]","description":"An array of filters to apply on the entity, where each item in the array is joined with an \"or\" condition.","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"q","type":"`string`","description":"Search through the collections' titles.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"id","type":"`string` \\| `string`[]","description":"The IDs to filter product collections by.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"handle","type":"`string` \\| `string`[]","description":"The handles to filter product collections by.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"title","type":"`string` \\| `string`[]","description":"The title to filter product collections by.","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"update","type":"[UpdateProductCollectionDTO](../../product/interfaces/product.UpdateProductCollectionDTO/page.mdx)","description":"","optional":false,"defaultValue":"","expandable":false,"children":[{"name":"value","type":"`string`","description":"The value of the product collection.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"title","type":"`string`","description":"The title of the product collection.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"handle","type":"`string`","description":"The handle of the product collection.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"product_ids","type":"`string`[]","description":"The IDs of the products to associate with the product collection.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"metadata","type":"[MetadataType](../../product/types/product.MetadataType/page.mdx)","description":"Holds custom data in key-value pairs.","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"selector","type":"[FilterableProductOptionProps](../../product/interfaces/product.FilterableProductOptionProps/page.mdx)","description":"","optional":false,"defaultValue":"","expandable":false,"children":[{"name":"$and","type":"([FilterableProductOptionProps](../../product/interfaces/product.FilterableProductOptionProps/page.mdx) \\| [BaseFilterable](../../product/interfaces/product.BaseFilterable/page.mdx)<[FilterableProductOptionProps](../../product/interfaces/product.FilterableProductOptionProps/page.mdx)>)[]","description":"An array of filters to apply on the entity, where each item in the array is joined with an \"and\" condition.","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"$and","type":"([FilterableProductOptionProps](../../product/interfaces/product.FilterableProductOptionProps/page.mdx) \\| [BaseFilterable](../../product/interfaces/product.BaseFilterable/page.mdx)<[FilterableProductOptionProps](../../product/interfaces/product.FilterableProductOptionProps/page.mdx)>)[]","description":"An array of filters to apply on the entity, where each item in the array is joined with an \"and\" condition.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$or","type":"([FilterableProductOptionProps](../../product/interfaces/product.FilterableProductOptionProps/page.mdx) \\| [BaseFilterable](../../product/interfaces/product.BaseFilterable/page.mdx)<[FilterableProductOptionProps](../../product/interfaces/product.FilterableProductOptionProps/page.mdx)>)[]","description":"An array of filters to apply on the entity, where each item in the array is joined with an \"or\" condition.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"q","type":"`string`","description":"Search through the options' titles.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"id","type":"`string` \\| `string`[]","description":"The IDs to filter product options by.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"title","type":"`string` \\| `string`[]","description":"The titles to filter product options by.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"product_id","type":"`string` \\| `string`[]","description":"Filter the product options by their associated products' IDs.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$and","type":"([BaseFilterable](../../product/interfaces/product.BaseFilterable/page.mdx)<T> \\| T)[]","description":"An array of filters to apply on the entity, where each item in the array is joined with an \"and\" condition.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$or","type":"([BaseFilterable](../../product/interfaces/product.BaseFilterable/page.mdx)<T> \\| T)[]","description":"An array of filters to apply on the entity, where each item in the array is joined with an \"or\" condition.","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"$or","type":"([FilterableProductOptionProps](../../product/interfaces/product.FilterableProductOptionProps/page.mdx) \\| [BaseFilterable](../../product/interfaces/product.BaseFilterable/page.mdx)<[FilterableProductOptionProps](../../product/interfaces/product.FilterableProductOptionProps/page.mdx)>)[]","description":"An array of filters to apply on the entity, where each item in the array is joined with an \"or\" condition.","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"$and","type":"([FilterableProductOptionProps](../../product/interfaces/product.FilterableProductOptionProps/page.mdx) \\| [BaseFilterable](../../product/interfaces/product.BaseFilterable/page.mdx)<[FilterableProductOptionProps](../../product/interfaces/product.FilterableProductOptionProps/page.mdx)>)[]","description":"An array of filters to apply on the entity, where each item in the array is joined with an \"and\" condition.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$or","type":"([FilterableProductOptionProps](../../product/interfaces/product.FilterableProductOptionProps/page.mdx) \\| [BaseFilterable](../../product/interfaces/product.BaseFilterable/page.mdx)<[FilterableProductOptionProps](../../product/interfaces/product.FilterableProductOptionProps/page.mdx)>)[]","description":"An array of filters to apply on the entity, where each item in the array is joined with an \"or\" condition.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"q","type":"`string`","description":"Search through the options' titles.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"id","type":"`string` \\| `string`[]","description":"The IDs to filter product options by.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"title","type":"`string` \\| `string`[]","description":"The titles to filter product options by.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"product_id","type":"`string` \\| `string`[]","description":"Filter the product options by their associated products' IDs.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$and","type":"([BaseFilterable](../../product/interfaces/product.BaseFilterable/page.mdx)<T> \\| T)[]","description":"An array of filters to apply on the entity, where each item in the array is joined with an \"and\" condition.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$or","type":"([BaseFilterable](../../product/interfaces/product.BaseFilterable/page.mdx)<T> \\| T)[]","description":"An array of filters to apply on the entity, where each item in the array is joined with an \"or\" condition.","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"q","type":"`string`","description":"Search through the options' titles.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"id","type":"`string` \\| `string`[]","description":"The IDs to filter product options by.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"title","type":"`string` \\| `string`[]","description":"The titles to filter product options by.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"product_id","type":"`string` \\| `string`[]","description":"Filter the product options by their associated products' IDs.","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"update","type":"[UpdateProductOptionDTO](../../product/interfaces/product.UpdateProductOptionDTO/page.mdx)","description":"","optional":false,"defaultValue":"","expandable":false,"children":[{"name":"title","type":"`string`","description":"The product option's title.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"values","type":"`string`[]","description":"The product option values.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"product_id","type":"`string`","description":"The ID of the associated product.","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"selector","type":"[FilterableProductTagProps](../../product/interfaces/product.FilterableProductTagProps/page.mdx)","description":"","optional":false,"defaultValue":"","expandable":false,"children":[{"name":"$and","type":"([FilterableProductTagProps](../../product/interfaces/product.FilterableProductTagProps/page.mdx) \\| [BaseFilterable](../../product/interfaces/product.BaseFilterable/page.mdx)<[FilterableProductTagProps](../../product/interfaces/product.FilterableProductTagProps/page.mdx)>)[]","description":"An array of filters to apply on the entity, where each item in the array is joined with an \"and\" condition.","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"$and","type":"([FilterableProductTagProps](../../product/interfaces/product.FilterableProductTagProps/page.mdx) \\| [BaseFilterable](../../product/interfaces/product.BaseFilterable/page.mdx)<[FilterableProductTagProps](../../product/interfaces/product.FilterableProductTagProps/page.mdx)>)[]","description":"An array of filters to apply on the entity, where each item in the array is joined with an \"and\" condition.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$or","type":"([FilterableProductTagProps](../../product/interfaces/product.FilterableProductTagProps/page.mdx) \\| [BaseFilterable](../../product/interfaces/product.BaseFilterable/page.mdx)<[FilterableProductTagProps](../../product/interfaces/product.FilterableProductTagProps/page.mdx)>)[]","description":"An array of filters to apply on the entity, where each item in the array is joined with an \"or\" condition.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"q","type":"`string`","description":"Search through the tags' values.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"id","type":"`string` \\| `string`[]","description":"The IDs to filter product tags by.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"value","type":"`string` \\| `string`[]","description":"The value to filter product tags by.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$and","type":"([BaseFilterable](../../product/interfaces/product.BaseFilterable/page.mdx)<T> \\| T)[]","description":"An array of filters to apply on the entity, where each item in the array is joined with an \"and\" condition.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$or","type":"([BaseFilterable](../../product/interfaces/product.BaseFilterable/page.mdx)<T> \\| T)[]","description":"An array of filters to apply on the entity, where each item in the array is joined with an \"or\" condition.","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"$or","type":"([FilterableProductTagProps](../../product/interfaces/product.FilterableProductTagProps/page.mdx) \\| [BaseFilterable](../../product/interfaces/product.BaseFilterable/page.mdx)<[FilterableProductTagProps](../../product/interfaces/product.FilterableProductTagProps/page.mdx)>)[]","description":"An array of filters to apply on the entity, where each item in the array is joined with an \"or\" condition.","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"$and","type":"([FilterableProductTagProps](../../product/interfaces/product.FilterableProductTagProps/page.mdx) \\| [BaseFilterable](../../product/interfaces/product.BaseFilterable/page.mdx)<[FilterableProductTagProps](../../product/interfaces/product.FilterableProductTagProps/page.mdx)>)[]","description":"An array of filters to apply on the entity, where each item in the array is joined with an \"and\" condition.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$or","type":"([FilterableProductTagProps](../../product/interfaces/product.FilterableProductTagProps/page.mdx) \\| [BaseFilterable](../../product/interfaces/product.BaseFilterable/page.mdx)<[FilterableProductTagProps](../../product/interfaces/product.FilterableProductTagProps/page.mdx)>)[]","description":"An array of filters to apply on the entity, where each item in the array is joined with an \"or\" condition.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"q","type":"`string`","description":"Search through the tags' values.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"id","type":"`string` \\| `string`[]","description":"The IDs to filter product tags by.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"value","type":"`string` \\| `string`[]","description":"The value to filter product tags by.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$and","type":"([BaseFilterable](../../product/interfaces/product.BaseFilterable/page.mdx)<T> \\| T)[]","description":"An array of filters to apply on the entity, where each item in the array is joined with an \"and\" condition.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$or","type":"([BaseFilterable](../../product/interfaces/product.BaseFilterable/page.mdx)<T> \\| T)[]","description":"An array of filters to apply on the entity, where each item in the array is joined with an \"or\" condition.","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"q","type":"`string`","description":"Search through the tags' values.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"id","type":"`string` \\| `string`[]","description":"The IDs to filter product tags by.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"value","type":"`string` \\| `string`[]","description":"The value to filter product tags by.","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"update","type":"[UpdateProductTagDTO](../../product/interfaces/product.UpdateProductTagDTO/page.mdx)","description":"","optional":false,"defaultValue":"","expandable":false,"children":[{"name":"value","type":"`string`","description":"The value of the product tag.","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"selector","type":"[FilterableProductTypeProps](../../product/interfaces/product.FilterableProductTypeProps/page.mdx)","description":"","optional":false,"defaultValue":"","expandable":false,"children":[{"name":"$and","type":"([FilterableProductTypeProps](../../product/interfaces/product.FilterableProductTypeProps/page.mdx) \\| [BaseFilterable](../../product/interfaces/product.BaseFilterable/page.mdx)<[FilterableProductTypeProps](../../product/interfaces/product.FilterableProductTypeProps/page.mdx)>)[]","description":"An array of filters to apply on the entity, where each item in the array is joined with an \"and\" condition.","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"$and","type":"([FilterableProductTypeProps](../../product/interfaces/product.FilterableProductTypeProps/page.mdx) \\| [BaseFilterable](../../product/interfaces/product.BaseFilterable/page.mdx)<[FilterableProductTypeProps](../../product/interfaces/product.FilterableProductTypeProps/page.mdx)>)[]","description":"An array of filters to apply on the entity, where each item in the array is joined with an \"and\" condition.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$or","type":"([FilterableProductTypeProps](../../product/interfaces/product.FilterableProductTypeProps/page.mdx) \\| [BaseFilterable](../../product/interfaces/product.BaseFilterable/page.mdx)<[FilterableProductTypeProps](../../product/interfaces/product.FilterableProductTypeProps/page.mdx)>)[]","description":"An array of filters to apply on the entity, where each item in the array is joined with an \"or\" condition.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"q","type":"`string`","description":"Search through the types' values.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"id","type":"`string` \\| `string`[]","description":"The IDs to filter product types by.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"value","type":"`string`","description":"The value to filter product types by.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$and","type":"([BaseFilterable](../../product/interfaces/product.BaseFilterable/page.mdx)<T> \\| T)[]","description":"An array of filters to apply on the entity, where each item in the array is joined with an \"and\" condition.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$or","type":"([BaseFilterable](../../product/interfaces/product.BaseFilterable/page.mdx)<T> \\| T)[]","description":"An array of filters to apply on the entity, where each item in the array is joined with an \"or\" condition.","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"$or","type":"([FilterableProductTypeProps](../../product/interfaces/product.FilterableProductTypeProps/page.mdx) \\| [BaseFilterable](../../product/interfaces/product.BaseFilterable/page.mdx)<[FilterableProductTypeProps](../../product/interfaces/product.FilterableProductTypeProps/page.mdx)>)[]","description":"An array of filters to apply on the entity, where each item in the array is joined with an \"or\" condition.","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"$and","type":"([FilterableProductTypeProps](../../product/interfaces/product.FilterableProductTypeProps/page.mdx) \\| [BaseFilterable](../../product/interfaces/product.BaseFilterable/page.mdx)<[FilterableProductTypeProps](../../product/interfaces/product.FilterableProductTypeProps/page.mdx)>)[]","description":"An array of filters to apply on the entity, where each item in the array is joined with an \"and\" condition.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$or","type":"([FilterableProductTypeProps](../../product/interfaces/product.FilterableProductTypeProps/page.mdx) \\| [BaseFilterable](../../product/interfaces/product.BaseFilterable/page.mdx)<[FilterableProductTypeProps](../../product/interfaces/product.FilterableProductTypeProps/page.mdx)>)[]","description":"An array of filters to apply on the entity, where each item in the array is joined with an \"or\" condition.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"q","type":"`string`","description":"Search through the types' values.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"id","type":"`string` \\| `string`[]","description":"The IDs to filter product types by.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"value","type":"`string`","description":"The value to filter product types by.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$and","type":"([BaseFilterable](../../product/interfaces/product.BaseFilterable/page.mdx)<T> \\| T)[]","description":"An array of filters to apply on the entity, where each item in the array is joined with an \"and\" condition.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$or","type":"([BaseFilterable](../../product/interfaces/product.BaseFilterable/page.mdx)<T> \\| T)[]","description":"An array of filters to apply on the entity, where each item in the array is joined with an \"or\" condition.","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"q","type":"`string`","description":"Search through the types' values.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"id","type":"`string` \\| `string`[]","description":"The IDs to filter product types by.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"value","type":"`string`","description":"The value to filter product types by.","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"update","type":"[UpdateProductTypeDTO](../../product/interfaces/product.UpdateProductTypeDTO/page.mdx)","description":"","optional":false,"defaultValue":"","expandable":false,"children":[{"name":"value","type":"`string`","description":"The new value of the product type.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"metadata","type":"[MetadataType](../../product/types/product.MetadataType/page.mdx)","description":"Holds custom data in key-value pairs.","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"selector","type":"[FilterableProductVariantProps](../../product/interfaces/product.FilterableProductVariantProps/page.mdx)","description":"","optional":false,"defaultValue":"","expandable":false,"children":[{"name":"$and","type":"([FilterableProductVariantProps](../../product/interfaces/product.FilterableProductVariantProps/page.mdx) \\| [BaseFilterable](../../product/interfaces/product.BaseFilterable/page.mdx)<[FilterableProductVariantProps](../../product/interfaces/product.FilterableProductVariantProps/page.mdx)>)[]","description":"An array of filters to apply on the entity, where each item in the array is joined with an \"and\" condition.","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"$and","type":"([FilterableProductVariantProps](../../product/interfaces/product.FilterableProductVariantProps/page.mdx) \\| [BaseFilterable](../../product/interfaces/product.BaseFilterable/page.mdx)<[FilterableProductVariantProps](../../product/interfaces/product.FilterableProductVariantProps/page.mdx)>)[]","description":"An array of filters to apply on the entity, where each item in the array is joined with an \"and\" condition.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$or","type":"([FilterableProductVariantProps](../../product/interfaces/product.FilterableProductVariantProps/page.mdx) \\| [BaseFilterable](../../product/interfaces/product.BaseFilterable/page.mdx)<[FilterableProductVariantProps](../../product/interfaces/product.FilterableProductVariantProps/page.mdx)>)[]","description":"An array of filters to apply on the entity, where each item in the array is joined with an \"or\" condition.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"q","type":"`string`","description":"Search through the title and different code attributes on the variant","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"id","type":"`string` \\| `string`[]","description":"The IDs to filter product variants by.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"sku","type":"`string` \\| `string`[]","description":"The SKUs to filter product variants by.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"product_id","type":"`string` \\| `string`[]","description":"Filter the product variants by their associated products' IDs.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"options","type":"`Record`","description":"Filter product variants by their associated options.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$and","type":"([BaseFilterable](../../product/interfaces/product.BaseFilterable/page.mdx)<T> \\| T)[]","description":"An array of filters to apply on the entity, where each item in the array is joined with an \"and\" condition.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$or","type":"([BaseFilterable](../../product/interfaces/product.BaseFilterable/page.mdx)<T> \\| T)[]","description":"An array of filters to apply on the entity, where each item in the array is joined with an \"or\" condition.","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"$or","type":"([FilterableProductVariantProps](../../product/interfaces/product.FilterableProductVariantProps/page.mdx) \\| [BaseFilterable](../../product/interfaces/product.BaseFilterable/page.mdx)<[FilterableProductVariantProps](../../product/interfaces/product.FilterableProductVariantProps/page.mdx)>)[]","description":"An array of filters to apply on the entity, where each item in the array is joined with an \"or\" condition.","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"$and","type":"([FilterableProductVariantProps](../../product/interfaces/product.FilterableProductVariantProps/page.mdx) \\| [BaseFilterable](../../product/interfaces/product.BaseFilterable/page.mdx)<[FilterableProductVariantProps](../../product/interfaces/product.FilterableProductVariantProps/page.mdx)>)[]","description":"An array of filters to apply on the entity, where each item in the array is joined with an \"and\" condition.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$or","type":"([FilterableProductVariantProps](../../product/interfaces/product.FilterableProductVariantProps/page.mdx) \\| [BaseFilterable](../../product/interfaces/product.BaseFilterable/page.mdx)<[FilterableProductVariantProps](../../product/interfaces/product.FilterableProductVariantProps/page.mdx)>)[]","description":"An array of filters to apply on the entity, where each item in the array is joined with an \"or\" condition.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"q","type":"`string`","description":"Search through the title and different code attributes on the variant","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"id","type":"`string` \\| `string`[]","description":"The IDs to filter product variants by.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"sku","type":"`string` \\| `string`[]","description":"The SKUs to filter product variants by.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"product_id","type":"`string` \\| `string`[]","description":"Filter the product variants by their associated products' IDs.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"options","type":"`Record`","description":"Filter product variants by their associated options.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$and","type":"([BaseFilterable](../../product/interfaces/product.BaseFilterable/page.mdx)<T> \\| T)[]","description":"An array of filters to apply on the entity, where each item in the array is joined with an \"and\" condition.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$or","type":"([BaseFilterable](../../product/interfaces/product.BaseFilterable/page.mdx)<T> \\| T)[]","description":"An array of filters to apply on the entity, where each item in the array is joined with an \"or\" condition.","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"q","type":"`string`","description":"Search through the title and different code attributes on the variant","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"id","type":"`string` \\| `string`[]","description":"The IDs to filter product variants by.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"sku","type":"`string` \\| `string`[]","description":"The SKUs to filter product variants by.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"product_id","type":"`string` \\| `string`[]","description":"Filter the product variants by their associated products' IDs.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"options","type":"`Record`","description":"Filter product variants by their associated options.","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"update","type":"[UpdateProductVariantDTO](../../product/interfaces/product.UpdateProductVariantDTO/page.mdx)","description":"","optional":false,"defaultValue":"","expandable":false,"children":[{"name":"title","type":"`string`","description":"The tile of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"sku","type":"`null` \\| `string`","description":"The SKU of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"barcode","type":"`null` \\| `string`","description":"The barcode of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"ean","type":"`null` \\| `string`","description":"The EAN of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"upc","type":"`null` \\| `string`","description":"The UPC of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"allow_backorder","type":"`boolean`","description":"Whether the product variant can be ordered when it's out of stock.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"manage_inventory","type":"`boolean`","description":"Whether the product variant's inventory should be managed by the core system.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"hs_code","type":"`null` \\| `string`","description":"The HS Code of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"origin_country","type":"`null` \\| `string`","description":"The origin country of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"mid_code","type":"`null` \\| `string`","description":"The MID Code of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"material","type":"`null` \\| `string`","description":"The material of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"weight","type":"`null` \\| `number`","description":"The weight of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"length","type":"`null` \\| `number`","description":"The length of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"height","type":"`null` \\| `number`","description":"The height of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"width","type":"`null` \\| `number`","description":"The width of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"options","type":"`Record`","description":"The product variant options to associate with the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"metadata","type":"[MetadataType](../../product/types/product.MetadataType/page.mdx)","description":"Holds custom data in key-value pairs.","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"product_variants","type":"[UpsertProductVariantDTO](../../product/interfaces/product.UpsertProductVariantDTO/page.mdx)[]","description":"","optional":false,"defaultValue":"","expandable":false,"children":[{"name":"id","type":"`string`","description":"The ID of the product variant to update.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"title","type":"`string`","description":"The tile of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"sku","type":"`null` \\| `string`","description":"The SKU of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"barcode","type":"`null` \\| `string`","description":"The barcode of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"ean","type":"`null` \\| `string`","description":"The EAN of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"upc","type":"`null` \\| `string`","description":"The UPC of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"allow_backorder","type":"`boolean`","description":"Whether the product variant can be ordered when it's out of stock.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"manage_inventory","type":"`boolean`","description":"Whether the product variant's inventory should be managed by the core system.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"hs_code","type":"`null` \\| `string`","description":"The HS Code of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"origin_country","type":"`null` \\| `string`","description":"The origin country of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"mid_code","type":"`null` \\| `string`","description":"The MID Code of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"material","type":"`null` \\| `string`","description":"The material of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"weight","type":"`null` \\| `number`","description":"The weight of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"length","type":"`null` \\| `number`","description":"The length of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"height","type":"`null` \\| `number`","description":"The height of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"width","type":"`null` \\| `number`","description":"The width of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"options","type":"`Record`","description":"The product variant options to associate with the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"metadata","type":"[MetadataType](../../product/types/product.MetadataType/page.mdx)","description":"Holds custom data in key-value pairs.","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"selector","type":"[FilterableProductProps](../../product/interfaces/product.FilterableProductProps/page.mdx)","description":"","optional":false,"defaultValue":"","expandable":false,"children":[{"name":"$and","type":"([FilterableProductProps](../../product/interfaces/product.FilterableProductProps/page.mdx) \\| [BaseFilterable](../../product/interfaces/product.BaseFilterable/page.mdx)<[FilterableProductProps](../../product/interfaces/product.FilterableProductProps/page.mdx)>)[]","description":"An array of filters to apply on the entity, where each item in the array is joined with an \"and\" condition.","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"$and","type":"([FilterableProductProps](../../product/interfaces/product.FilterableProductProps/page.mdx) \\| [BaseFilterable](../../product/interfaces/product.BaseFilterable/page.mdx)<[FilterableProductProps](../../product/interfaces/product.FilterableProductProps/page.mdx)>)[]","description":"An array of filters to apply on the entity, where each item in the array is joined with an \"and\" condition.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$or","type":"([FilterableProductProps](../../product/interfaces/product.FilterableProductProps/page.mdx) \\| [BaseFilterable](../../product/interfaces/product.BaseFilterable/page.mdx)<[FilterableProductProps](../../product/interfaces/product.FilterableProductProps/page.mdx)>)[]","description":"An array of filters to apply on the entity, where each item in the array is joined with an \"or\" condition.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"q","type":"`string`","description":"Search through the products' attributes, such as titles and descriptions, using this search term.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"status","type":"[ProductStatus](../../product/types/product.ProductStatus/page.mdx) \\| [ProductStatus](../../product/types/product.ProductStatus/page.mdx)[]","description":"The status to filter products by","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"title","type":"`string` \\| `string`[]","description":"The titles to filter products by.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"handle","type":"`string` \\| `string`[]","description":"The handles to filter products by.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"id","type":"`string` \\| `string`[]","description":"The IDs to filter products by.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"external_id","type":"`string` \\| `string`[]","description":"The external IDs to filter products by.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"is_giftcard","type":"`boolean`","description":"Filters only or excluding gift card products","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"tags","type":"`object`","description":"Filters on a product's tags.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"variants","type":"`object`","description":"Filters on a product's variant properties.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"type_id","type":"`string` \\| `string`[]","description":"Filter a product by the ID of the associated type","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"categories","type":"`object` \\| `object`","description":"Filter a product by the IDs of their associated categories.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"collection_id","type":"`string` \\| `string`[] \\| [OperatorMap](../../product/types/product.OperatorMap/page.mdx)<string>","description":"Filters a product by its associated collections.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"created_at","type":"[OperatorMap](../../product/types/product.OperatorMap/page.mdx)<string>","description":"Filters a product based on when it was created","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"updated_at","type":"[OperatorMap](../../product/types/product.OperatorMap/page.mdx)<string>","description":"Filters a product based on when it was updated","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"deleted_at","type":"[OperatorMap](../../product/types/product.OperatorMap/page.mdx)<string>","description":"Filters soft-deleted products based on the date they were deleted at.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$and","type":"([BaseFilterable](../../product/interfaces/product.BaseFilterable/page.mdx)<T> \\| T)[]","description":"An array of filters to apply on the entity, where each item in the array is joined with an \"and\" condition.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$or","type":"([BaseFilterable](../../product/interfaces/product.BaseFilterable/page.mdx)<T> \\| T)[]","description":"An array of filters to apply on the entity, where each item in the array is joined with an \"or\" condition.","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"$or","type":"([FilterableProductProps](../../product/interfaces/product.FilterableProductProps/page.mdx) \\| [BaseFilterable](../../product/interfaces/product.BaseFilterable/page.mdx)<[FilterableProductProps](../../product/interfaces/product.FilterableProductProps/page.mdx)>)[]","description":"An array of filters to apply on the entity, where each item in the array is joined with an \"or\" condition.","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"$and","type":"([FilterableProductProps](../../product/interfaces/product.FilterableProductProps/page.mdx) \\| [BaseFilterable](../../product/interfaces/product.BaseFilterable/page.mdx)<[FilterableProductProps](../../product/interfaces/product.FilterableProductProps/page.mdx)>)[]","description":"An array of filters to apply on the entity, where each item in the array is joined with an \"and\" condition.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$or","type":"([FilterableProductProps](../../product/interfaces/product.FilterableProductProps/page.mdx) \\| [BaseFilterable](../../product/interfaces/product.BaseFilterable/page.mdx)<[FilterableProductProps](../../product/interfaces/product.FilterableProductProps/page.mdx)>)[]","description":"An array of filters to apply on the entity, where each item in the array is joined with an \"or\" condition.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"q","type":"`string`","description":"Search through the products' attributes, such as titles and descriptions, using this search term.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"status","type":"[ProductStatus](../../product/types/product.ProductStatus/page.mdx) \\| [ProductStatus](../../product/types/product.ProductStatus/page.mdx)[]","description":"The status to filter products by","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"title","type":"`string` \\| `string`[]","description":"The titles to filter products by.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"handle","type":"`string` \\| `string`[]","description":"The handles to filter products by.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"id","type":"`string` \\| `string`[]","description":"The IDs to filter products by.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"external_id","type":"`string` \\| `string`[]","description":"The external IDs to filter products by.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"is_giftcard","type":"`boolean`","description":"Filters only or excluding gift card products","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"tags","type":"`object`","description":"Filters on a product's tags.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"variants","type":"`object`","description":"Filters on a product's variant properties.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"type_id","type":"`string` \\| `string`[]","description":"Filter a product by the ID of the associated type","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"categories","type":"`object` \\| `object`","description":"Filter a product by the IDs of their associated categories.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"collection_id","type":"`string` \\| `string`[] \\| [OperatorMap](../../product/types/product.OperatorMap/page.mdx)<string>","description":"Filters a product by its associated collections.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"created_at","type":"[OperatorMap](../../product/types/product.OperatorMap/page.mdx)<string>","description":"Filters a product based on when it was created","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"updated_at","type":"[OperatorMap](../../product/types/product.OperatorMap/page.mdx)<string>","description":"Filters a product based on when it was updated","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"deleted_at","type":"[OperatorMap](../../product/types/product.OperatorMap/page.mdx)<string>","description":"Filters soft-deleted products based on the date they were deleted at.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$and","type":"([BaseFilterable](../../product/interfaces/product.BaseFilterable/page.mdx)<T> \\| T)[]","description":"An array of filters to apply on the entity, where each item in the array is joined with an \"and\" condition.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$or","type":"([BaseFilterable](../../product/interfaces/product.BaseFilterable/page.mdx)<T> \\| T)[]","description":"An array of filters to apply on the entity, where each item in the array is joined with an \"or\" condition.","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"q","type":"`string`","description":"Search through the products' attributes, such as titles and descriptions, using this search term.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"status","type":"[ProductStatus](../../product/types/product.ProductStatus/page.mdx) \\| [ProductStatus](../../product/types/product.ProductStatus/page.mdx)[]","description":"The status to filter products by","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"title","type":"`string` \\| `string`[]","description":"The titles to filter products by.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"handle","type":"`string` \\| `string`[]","description":"The handles to filter products by.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"id","type":"`string` \\| `string`[]","description":"The IDs to filter products by.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"external_id","type":"`string` \\| `string`[]","description":"The external IDs to filter products by.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"is_giftcard","type":"`boolean`","description":"Filters only or excluding gift card products","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"tags","type":"`object`","description":"Filters on a product's tags.","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"id","type":"`string`[]","description":"Filter a product by the IDs of their associated tags.","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"variants","type":"`object`","description":"Filters on a product's variant properties.","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"options","type":"`object`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"type_id","type":"`string` \\| `string`[]","description":"Filter a product by the ID of the associated type","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"categories","type":"`object` \\| `object`","description":"Filter a product by the IDs of their associated categories.","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"id","type":"[OperatorMap](../../product/types/product.OperatorMap/page.mdx)<string>","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"id","type":"[OperatorMap](../../product/types/product.OperatorMap/page.mdx)<string[]>","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]}]},{"name":"collection_id","type":"`string` \\| `string`[] \\| [OperatorMap](../../product/types/product.OperatorMap/page.mdx)<string>","description":"Filters a product by its associated collections.","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"$and","type":"[Query](../../product/types/product.Query/page.mdx)<T>[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$or","type":"[Query](../../product/types/product.Query/page.mdx)<T>[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$eq","type":"[ExpandScalar](../../product/types/product.ExpandScalar/page.mdx)<T> \\| [ExpandScalar](../../product/types/product.ExpandScalar/page.mdx)<T>[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$ne","type":"[ExpandScalar](../../product/types/product.ExpandScalar/page.mdx)<T>","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$in","type":"[ExpandScalar](../../product/types/product.ExpandScalar/page.mdx)<T>[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$nin","type":"[ExpandScalar](../../product/types/product.ExpandScalar/page.mdx)<T>[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$not","type":"[Query](../../product/types/product.Query/page.mdx)<T>","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$gt","type":"[ExpandScalar](../../product/types/product.ExpandScalar/page.mdx)<T>","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$gte","type":"[ExpandScalar](../../product/types/product.ExpandScalar/page.mdx)<T>","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$lt","type":"[ExpandScalar](../../product/types/product.ExpandScalar/page.mdx)<T>","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$lte","type":"[ExpandScalar](../../product/types/product.ExpandScalar/page.mdx)<T>","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$like","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$re","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$ilike","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$fulltext","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$overlap","type":"`string`[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$contains","type":"`string`[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$contained","type":"`string`[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$exists","type":"`boolean`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"created_at","type":"[OperatorMap](../../product/types/product.OperatorMap/page.mdx)<string>","description":"Filters a product based on when it was created","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"$and","type":"[Query](../../product/types/product.Query/page.mdx)<T>[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$or","type":"[Query](../../product/types/product.Query/page.mdx)<T>[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$eq","type":"[ExpandScalar](../../product/types/product.ExpandScalar/page.mdx)<T> \\| [ExpandScalar](../../product/types/product.ExpandScalar/page.mdx)<T>[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$ne","type":"[ExpandScalar](../../product/types/product.ExpandScalar/page.mdx)<T>","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$in","type":"[ExpandScalar](../../product/types/product.ExpandScalar/page.mdx)<T>[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$nin","type":"[ExpandScalar](../../product/types/product.ExpandScalar/page.mdx)<T>[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$not","type":"[Query](../../product/types/product.Query/page.mdx)<T>","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$gt","type":"[ExpandScalar](../../product/types/product.ExpandScalar/page.mdx)<T>","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$gte","type":"[ExpandScalar](../../product/types/product.ExpandScalar/page.mdx)<T>","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$lt","type":"[ExpandScalar](../../product/types/product.ExpandScalar/page.mdx)<T>","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$lte","type":"[ExpandScalar](../../product/types/product.ExpandScalar/page.mdx)<T>","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$like","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$re","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$ilike","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$fulltext","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$overlap","type":"`string`[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$contains","type":"`string`[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$contained","type":"`string`[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$exists","type":"`boolean`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"updated_at","type":"[OperatorMap](../../product/types/product.OperatorMap/page.mdx)<string>","description":"Filters a product based on when it was updated","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"$and","type":"[Query](../../product/types/product.Query/page.mdx)<T>[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$or","type":"[Query](../../product/types/product.Query/page.mdx)<T>[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$eq","type":"[ExpandScalar](../../product/types/product.ExpandScalar/page.mdx)<T> \\| [ExpandScalar](../../product/types/product.ExpandScalar/page.mdx)<T>[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$ne","type":"[ExpandScalar](../../product/types/product.ExpandScalar/page.mdx)<T>","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$in","type":"[ExpandScalar](../../product/types/product.ExpandScalar/page.mdx)<T>[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$nin","type":"[ExpandScalar](../../product/types/product.ExpandScalar/page.mdx)<T>[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$not","type":"[Query](../../product/types/product.Query/page.mdx)<T>","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$gt","type":"[ExpandScalar](../../product/types/product.ExpandScalar/page.mdx)<T>","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$gte","type":"[ExpandScalar](../../product/types/product.ExpandScalar/page.mdx)<T>","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$lt","type":"[ExpandScalar](../../product/types/product.ExpandScalar/page.mdx)<T>","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$lte","type":"[ExpandScalar](../../product/types/product.ExpandScalar/page.mdx)<T>","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$like","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$re","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$ilike","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$fulltext","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$overlap","type":"`string`[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$contains","type":"`string`[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$contained","type":"`string`[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$exists","type":"`boolean`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"deleted_at","type":"[OperatorMap](../../product/types/product.OperatorMap/page.mdx)<string>","description":"Filters soft-deleted products based on the date they were deleted at.","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"$and","type":"[Query](../../product/types/product.Query/page.mdx)<T>[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$or","type":"[Query](../../product/types/product.Query/page.mdx)<T>[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$eq","type":"[ExpandScalar](../../product/types/product.ExpandScalar/page.mdx)<T> \\| [ExpandScalar](../../product/types/product.ExpandScalar/page.mdx)<T>[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$ne","type":"[ExpandScalar](../../product/types/product.ExpandScalar/page.mdx)<T>","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$in","type":"[ExpandScalar](../../product/types/product.ExpandScalar/page.mdx)<T>[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$nin","type":"[ExpandScalar](../../product/types/product.ExpandScalar/page.mdx)<T>[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$not","type":"[Query](../../product/types/product.Query/page.mdx)<T>","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$gt","type":"[ExpandScalar](../../product/types/product.ExpandScalar/page.mdx)<T>","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$gte","type":"[ExpandScalar](../../product/types/product.ExpandScalar/page.mdx)<T>","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$lt","type":"[ExpandScalar](../../product/types/product.ExpandScalar/page.mdx)<T>","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$lte","type":"[ExpandScalar](../../product/types/product.ExpandScalar/page.mdx)<T>","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$like","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$re","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$ilike","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$fulltext","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$overlap","type":"`string`[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$contains","type":"`string`[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$contained","type":"`string`[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$exists","type":"`boolean`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]}]}]},{"name":"update","type":"[UpdateProductDTO](../../product/interfaces/product.UpdateProductDTO/page.mdx)","description":"","optional":false,"defaultValue":"","expandable":false,"children":[{"name":"title","type":"`string`","description":"The title of the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"subtitle","type":"`null` \\| `string`","description":"The subttle of the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"description","type":"`null` \\| `string`","description":"The description of the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"is_giftcard","type":"`boolean`","description":"Whether the product is a gift card.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"discountable","type":"`boolean`","description":"Whether the product can be discounted.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"thumbnail","type":"`null` \\| `string`","description":"The URL of the product's thumbnail.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"handle","type":"`string`","description":"The handle of the product. The handle can be used to create slug URL paths.\nIf not supplied, the value of the `handle` attribute of the product is set to the slug version of the `title` attribute.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"status","type":"[ProductStatus](../../product/types/product.ProductStatus/page.mdx)","description":"The status of the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"images","type":"[UpsertProductImageDTO](../../product/interfaces/product.UpsertProductImageDTO/page.mdx)[]","description":"The associated images to create or update.","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"id","type":"`string`","description":"The product image's ID. If not provided, the image is created. In\nthat case, the `url` property is required.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"url","type":"`string`","description":"The new URL of the product image.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"metadata","type":"[MetadataType](../../product/types/product.MetadataType/page.mdx)","description":"Holds custom data in key-value pairs.","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"external_id","type":"`null` \\| `string`","description":"The id of the product in an external system","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"type_id","type":"`null` \\| `string`","description":"The product type to associate with the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"collection_id","type":"`null` \\| `string`","description":"The product collection to associate with the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"tag_ids","type":"`string`[]","description":"The tags to associate with the product","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"category_ids","type":"`string`[]","description":"The product categories to associate with the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"options","type":"[UpsertProductOptionDTO](../../product/interfaces/product.UpsertProductOptionDTO/page.mdx)[]","description":"The associated options to create or update.","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"id","type":"`string`","description":"The ID of the product option to update. If not provided, the product\noption is created. In that case, the `title` and `values` properties are\nrequired.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"title","type":"`string`","description":"The product option's title.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"values","type":"`string`[]","description":"The product option values.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"product_id","type":"`string`","description":"The ID of the associated product.","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"variants","type":"[UpsertProductVariantDTO](../../product/interfaces/product.UpsertProductVariantDTO/page.mdx)[]","description":"The product variants to be created and associated with the product.\nYou can also update existing product variants associated with the product.","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"id","type":"`string`","description":"The ID of the product variant to update.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"title","type":"`string`","description":"The tile of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"sku","type":"`null` \\| `string`","description":"The SKU of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"barcode","type":"`null` \\| `string`","description":"The barcode of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"ean","type":"`null` \\| `string`","description":"The EAN of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"upc","type":"`null` \\| `string`","description":"The UPC of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"allow_backorder","type":"`boolean`","description":"Whether the product variant can be ordered when it's out of stock.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"manage_inventory","type":"`boolean`","description":"Whether the product variant's inventory should be managed by the core system.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"hs_code","type":"`null` \\| `string`","description":"The HS Code of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"origin_country","type":"`null` \\| `string`","description":"The origin country of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"mid_code","type":"`null` \\| `string`","description":"The MID Code of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"material","type":"`null` \\| `string`","description":"The material of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"weight","type":"`null` \\| `number`","description":"The weight of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"length","type":"`null` \\| `number`","description":"The length of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"height","type":"`null` \\| `number`","description":"The height of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"width","type":"`null` \\| `number`","description":"The width of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"options","type":"`Record`","description":"The product variant options to associate with the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"metadata","type":"[MetadataType](../../product/types/product.MetadataType/page.mdx)","description":"Holds custom data in key-value pairs.","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"width","type":"`null` \\| `number`","description":"The width of the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"height","type":"`null` \\| `number`","description":"The height of the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"length","type":"`null` \\| `number`","description":"The length of the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"weight","type":"`null` \\| `number`","description":"The weight of the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"origin_country","type":"`null` \\| `string`","description":"The origin country of the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"hs_code","type":"`null` \\| `string`","description":"The HS Code of the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"material","type":"`null` \\| `string`","description":"The material of the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"mid_code","type":"`null` \\| `string`","description":"The MID Code of the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"metadata","type":"[MetadataType](../../product/types/product.MetadataType/page.mdx)","description":"Holds custom data in key-value pairs.","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"products","type":"[UpsertProductDTO](../../product/interfaces/product.UpsertProductDTO/page.mdx)[]","description":"","optional":false,"defaultValue":"","expandable":false,"children":[{"name":"id","type":"`string`","description":"The ID of the product to update. If not provided, a product\nis created instead. In that case, the `title` property is required.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"title","type":"`string`","description":"The title of the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"subtitle","type":"`null` \\| `string`","description":"The subttle of the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"description","type":"`null` \\| `string`","description":"The description of the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"is_giftcard","type":"`boolean`","description":"Whether the product is a gift card.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"discountable","type":"`boolean`","description":"Whether the product can be discounted.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"thumbnail","type":"`null` \\| `string`","description":"The URL of the product's thumbnail.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"handle","type":"`string`","description":"The handle of the product. The handle can be used to create slug URL paths.\nIf not supplied, the value of the `handle` attribute of the product is set to the slug version of the `title` attribute.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"status","type":"[ProductStatus](../../product/types/product.ProductStatus/page.mdx)","description":"The status of the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"images","type":"[UpsertProductImageDTO](../../product/interfaces/product.UpsertProductImageDTO/page.mdx)[]","description":"The associated images to create or update.","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"id","type":"`string`","description":"The product image's ID. If not provided, the image is created. In\nthat case, the `url` property is required.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"url","type":"`string`","description":"The new URL of the product image.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"metadata","type":"[MetadataType](../../product/types/product.MetadataType/page.mdx)","description":"Holds custom data in key-value pairs.","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"external_id","type":"`null` \\| `string`","description":"The id of the product in an external system","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"type_id","type":"`null` \\| `string`","description":"The product type to associate with the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"collection_id","type":"`null` \\| `string`","description":"The product collection to associate with the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"tag_ids","type":"`string`[]","description":"The tags to associate with the product","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"category_ids","type":"`string`[]","description":"The product categories to associate with the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"options","type":"[UpsertProductOptionDTO](../../product/interfaces/product.UpsertProductOptionDTO/page.mdx)[]","description":"The associated options to create or update.","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"id","type":"`string`","description":"The ID of the product option to update. If not provided, the product\noption is created. In that case, the `title` and `values` properties are\nrequired.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"title","type":"`string`","description":"The product option's title.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"values","type":"`string`[]","description":"The product option values.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"product_id","type":"`string`","description":"The ID of the associated product.","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"variants","type":"[UpsertProductVariantDTO](../../product/interfaces/product.UpsertProductVariantDTO/page.mdx)[]","description":"The product variants to be created and associated with the product.\nYou can also update existing product variants associated with the product.","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"id","type":"`string`","description":"The ID of the product variant to update.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"title","type":"`string`","description":"The tile of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"sku","type":"`null` \\| `string`","description":"The SKU of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"barcode","type":"`null` \\| `string`","description":"The barcode of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"ean","type":"`null` \\| `string`","description":"The EAN of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"upc","type":"`null` \\| `string`","description":"The UPC of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"allow_backorder","type":"`boolean`","description":"Whether the product variant can be ordered when it's out of stock.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"manage_inventory","type":"`boolean`","description":"Whether the product variant's inventory should be managed by the core system.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"hs_code","type":"`null` \\| `string`","description":"The HS Code of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"origin_country","type":"`null` \\| `string`","description":"The origin country of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"mid_code","type":"`null` \\| `string`","description":"The MID Code of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"material","type":"`null` \\| `string`","description":"The material of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"weight","type":"`null` \\| `number`","description":"The weight of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"length","type":"`null` \\| `number`","description":"The length of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"height","type":"`null` \\| `number`","description":"The height of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"width","type":"`null` \\| `number`","description":"The width of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"options","type":"`Record`","description":"The product variant options to associate with the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"metadata","type":"[MetadataType](../../product/types/product.MetadataType/page.mdx)","description":"Holds custom data in key-value pairs.","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"width","type":"`null` \\| `number`","description":"The width of the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"height","type":"`null` \\| `number`","description":"The height of the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"length","type":"`null` \\| `number`","description":"The length of the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"weight","type":"`null` \\| `number`","description":"The weight of the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"origin_country","type":"`null` \\| `string`","description":"The origin country of the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"hs_code","type":"`null` \\| `string`","description":"The HS Code of the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"material","type":"`null` \\| `string`","description":"The material of the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"mid_code","type":"`null` \\| `string`","description":"The MID Code of the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"metadata","type":"[MetadataType](../../product/types/product.MetadataType/page.mdx)","description":"Holds custom data in key-value pairs.","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"filter","type":"[FilterableProductProps](../../product/interfaces/product.FilterableProductProps/page.mdx)","description":"","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"$and","type":"([FilterableProductProps](../../product/interfaces/product.FilterableProductProps/page.mdx) \\| [BaseFilterable](../../product/interfaces/product.BaseFilterable/page.mdx)<[FilterableProductProps](../../product/interfaces/product.FilterableProductProps/page.mdx)>)[]","description":"An array of filters to apply on the entity, where each item in the array is joined with an \"and\" condition.","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"$and","type":"([FilterableProductProps](../../product/interfaces/product.FilterableProductProps/page.mdx) \\| [BaseFilterable](../../product/interfaces/product.BaseFilterable/page.mdx)<[FilterableProductProps](../../product/interfaces/product.FilterableProductProps/page.mdx)>)[]","description":"An array of filters to apply on the entity, where each item in the array is joined with an \"and\" condition.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$or","type":"([FilterableProductProps](../../product/interfaces/product.FilterableProductProps/page.mdx) \\| [BaseFilterable](../../product/interfaces/product.BaseFilterable/page.mdx)<[FilterableProductProps](../../product/interfaces/product.FilterableProductProps/page.mdx)>)[]","description":"An array of filters to apply on the entity, where each item in the array is joined with an \"or\" condition.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"q","type":"`string`","description":"Search through the products' attributes, such as titles and descriptions, using this search term.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"status","type":"[ProductStatus](../../product/types/product.ProductStatus/page.mdx) \\| [ProductStatus](../../product/types/product.ProductStatus/page.mdx)[]","description":"The status to filter products by","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"title","type":"`string` \\| `string`[]","description":"The titles to filter products by.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"handle","type":"`string` \\| `string`[]","description":"The handles to filter products by.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"id","type":"`string` \\| `string`[]","description":"The IDs to filter products by.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"external_id","type":"`string` \\| `string`[]","description":"The external IDs to filter products by.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"is_giftcard","type":"`boolean`","description":"Filters only or excluding gift card products","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"tags","type":"`object`","description":"Filters on a product's tags.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"variants","type":"`object`","description":"Filters on a product's variant properties.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"type_id","type":"`string` \\| `string`[]","description":"Filter a product by the ID of the associated type","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"categories","type":"`object` \\| `object`","description":"Filter a product by the IDs of their associated categories.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"collection_id","type":"`string` \\| `string`[] \\| [OperatorMap](../../product/types/product.OperatorMap/page.mdx)<string>","description":"Filters a product by its associated collections.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"created_at","type":"[OperatorMap](../../product/types/product.OperatorMap/page.mdx)<string>","description":"Filters a product based on when it was created","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"updated_at","type":"[OperatorMap](../../product/types/product.OperatorMap/page.mdx)<string>","description":"Filters a product based on when it was updated","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"deleted_at","type":"[OperatorMap](../../product/types/product.OperatorMap/page.mdx)<string>","description":"Filters soft-deleted products based on the date they were deleted at.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$and","type":"([BaseFilterable](../../product/interfaces/product.BaseFilterable/page.mdx)<T> \\| T)[]","description":"An array of filters to apply on the entity, where each item in the array is joined with an \"and\" condition.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$or","type":"([BaseFilterable](../../product/interfaces/product.BaseFilterable/page.mdx)<T> \\| T)[]","description":"An array of filters to apply on the entity, where each item in the array is joined with an \"or\" condition.","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"$or","type":"([FilterableProductProps](../../product/interfaces/product.FilterableProductProps/page.mdx) \\| [BaseFilterable](../../product/interfaces/product.BaseFilterable/page.mdx)<[FilterableProductProps](../../product/interfaces/product.FilterableProductProps/page.mdx)>)[]","description":"An array of filters to apply on the entity, where each item in the array is joined with an \"or\" condition.","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"$and","type":"([FilterableProductProps](../../product/interfaces/product.FilterableProductProps/page.mdx) \\| [BaseFilterable](../../product/interfaces/product.BaseFilterable/page.mdx)<[FilterableProductProps](../../product/interfaces/product.FilterableProductProps/page.mdx)>)[]","description":"An array of filters to apply on the entity, where each item in the array is joined with an \"and\" condition.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$or","type":"([FilterableProductProps](../../product/interfaces/product.FilterableProductProps/page.mdx) \\| [BaseFilterable](../../product/interfaces/product.BaseFilterable/page.mdx)<[FilterableProductProps](../../product/interfaces/product.FilterableProductProps/page.mdx)>)[]","description":"An array of filters to apply on the entity, where each item in the array is joined with an \"or\" condition.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"q","type":"`string`","description":"Search through the products' attributes, such as titles and descriptions, using this search term.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"status","type":"[ProductStatus](../../product/types/product.ProductStatus/page.mdx) \\| [ProductStatus](../../product/types/product.ProductStatus/page.mdx)[]","description":"The status to filter products by","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"title","type":"`string` \\| `string`[]","description":"The titles to filter products by.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"handle","type":"`string` \\| `string`[]","description":"The handles to filter products by.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"id","type":"`string` \\| `string`[]","description":"The IDs to filter products by.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"external_id","type":"`string` \\| `string`[]","description":"The external IDs to filter products by.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"is_giftcard","type":"`boolean`","description":"Filters only or excluding gift card products","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"tags","type":"`object`","description":"Filters on a product's tags.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"variants","type":"`object`","description":"Filters on a product's variant properties.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"type_id","type":"`string` \\| `string`[]","description":"Filter a product by the ID of the associated type","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"categories","type":"`object` \\| `object`","description":"Filter a product by the IDs of their associated categories.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"collection_id","type":"`string` \\| `string`[] \\| [OperatorMap](../../product/types/product.OperatorMap/page.mdx)<string>","description":"Filters a product by its associated collections.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"created_at","type":"[OperatorMap](../../product/types/product.OperatorMap/page.mdx)<string>","description":"Filters a product based on when it was created","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"updated_at","type":"[OperatorMap](../../product/types/product.OperatorMap/page.mdx)<string>","description":"Filters a product based on when it was updated","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"deleted_at","type":"[OperatorMap](../../product/types/product.OperatorMap/page.mdx)<string>","description":"Filters soft-deleted products based on the date they were deleted at.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$and","type":"([BaseFilterable](../../product/interfaces/product.BaseFilterable/page.mdx)<T> \\| T)[]","description":"An array of filters to apply on the entity, where each item in the array is joined with an \"and\" condition.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$or","type":"([BaseFilterable](../../product/interfaces/product.BaseFilterable/page.mdx)<T> \\| T)[]","description":"An array of filters to apply on the entity, where each item in the array is joined with an \"or\" condition.","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"q","type":"`string`","description":"Search through the products' attributes, such as titles and descriptions, using this search term.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"status","type":"[ProductStatus](../../product/types/product.ProductStatus/page.mdx) \\| [ProductStatus](../../product/types/product.ProductStatus/page.mdx)[]","description":"The status to filter products by","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"title","type":"`string` \\| `string`[]","description":"The titles to filter products by.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"handle","type":"`string` \\| `string`[]","description":"The handles to filter products by.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"id","type":"`string` \\| `string`[]","description":"The IDs to filter products by.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"external_id","type":"`string` \\| `string`[]","description":"The external IDs to filter products by.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"is_giftcard","type":"`boolean`","description":"Filters only or excluding gift card products","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"tags","type":"`object`","description":"Filters on a product's tags.","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"id","type":"`string`[]","description":"Filter a product by the IDs of their associated tags.","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"variants","type":"`object`","description":"Filters on a product's variant properties.","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"options","type":"`object`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"type_id","type":"`string` \\| `string`[]","description":"Filter a product by the ID of the associated type","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"categories","type":"`object` \\| `object`","description":"Filter a product by the IDs of their associated categories.","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"id","type":"[OperatorMap](../../product/types/product.OperatorMap/page.mdx)<string>","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"id","type":"[OperatorMap](../../product/types/product.OperatorMap/page.mdx)<string[]>","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]}]},{"name":"collection_id","type":"`string` \\| `string`[] \\| [OperatorMap](../../product/types/product.OperatorMap/page.mdx)<string>","description":"Filters a product by its associated collections.","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"$and","type":"[Query](../../product/types/product.Query/page.mdx)<T>[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$or","type":"[Query](../../product/types/product.Query/page.mdx)<T>[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$eq","type":"[ExpandScalar](../../product/types/product.ExpandScalar/page.mdx)<T> \\| [ExpandScalar](../../product/types/product.ExpandScalar/page.mdx)<T>[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$ne","type":"[ExpandScalar](../../product/types/product.ExpandScalar/page.mdx)<T>","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$in","type":"[ExpandScalar](../../product/types/product.ExpandScalar/page.mdx)<T>[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$nin","type":"[ExpandScalar](../../product/types/product.ExpandScalar/page.mdx)<T>[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$not","type":"[Query](../../product/types/product.Query/page.mdx)<T>","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$gt","type":"[ExpandScalar](../../product/types/product.ExpandScalar/page.mdx)<T>","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$gte","type":"[ExpandScalar](../../product/types/product.ExpandScalar/page.mdx)<T>","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$lt","type":"[ExpandScalar](../../product/types/product.ExpandScalar/page.mdx)<T>","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$lte","type":"[ExpandScalar](../../product/types/product.ExpandScalar/page.mdx)<T>","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$like","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$re","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$ilike","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$fulltext","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$overlap","type":"`string`[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$contains","type":"`string`[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$contained","type":"`string`[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$exists","type":"`boolean`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"created_at","type":"[OperatorMap](../../product/types/product.OperatorMap/page.mdx)<string>","description":"Filters a product based on when it was created","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"$and","type":"[Query](../../product/types/product.Query/page.mdx)<T>[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$or","type":"[Query](../../product/types/product.Query/page.mdx)<T>[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$eq","type":"[ExpandScalar](../../product/types/product.ExpandScalar/page.mdx)<T> \\| [ExpandScalar](../../product/types/product.ExpandScalar/page.mdx)<T>[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$ne","type":"[ExpandScalar](../../product/types/product.ExpandScalar/page.mdx)<T>","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$in","type":"[ExpandScalar](../../product/types/product.ExpandScalar/page.mdx)<T>[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$nin","type":"[ExpandScalar](../../product/types/product.ExpandScalar/page.mdx)<T>[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$not","type":"[Query](../../product/types/product.Query/page.mdx)<T>","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$gt","type":"[ExpandScalar](../../product/types/product.ExpandScalar/page.mdx)<T>","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$gte","type":"[ExpandScalar](../../product/types/product.ExpandScalar/page.mdx)<T>","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$lt","type":"[ExpandScalar](../../product/types/product.ExpandScalar/page.mdx)<T>","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$lte","type":"[ExpandScalar](../../product/types/product.ExpandScalar/page.mdx)<T>","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$like","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$re","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$ilike","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$fulltext","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$overlap","type":"`string`[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$contains","type":"`string`[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$contained","type":"`string`[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$exists","type":"`boolean`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"updated_at","type":"[OperatorMap](../../product/types/product.OperatorMap/page.mdx)<string>","description":"Filters a product based on when it was updated","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"$and","type":"[Query](../../product/types/product.Query/page.mdx)<T>[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$or","type":"[Query](../../product/types/product.Query/page.mdx)<T>[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$eq","type":"[ExpandScalar](../../product/types/product.ExpandScalar/page.mdx)<T> \\| [ExpandScalar](../../product/types/product.ExpandScalar/page.mdx)<T>[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$ne","type":"[ExpandScalar](../../product/types/product.ExpandScalar/page.mdx)<T>","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$in","type":"[ExpandScalar](../../product/types/product.ExpandScalar/page.mdx)<T>[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$nin","type":"[ExpandScalar](../../product/types/product.ExpandScalar/page.mdx)<T>[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$not","type":"[Query](../../product/types/product.Query/page.mdx)<T>","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$gt","type":"[ExpandScalar](../../product/types/product.ExpandScalar/page.mdx)<T>","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$gte","type":"[ExpandScalar](../../product/types/product.ExpandScalar/page.mdx)<T>","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$lt","type":"[ExpandScalar](../../product/types/product.ExpandScalar/page.mdx)<T>","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$lte","type":"[ExpandScalar](../../product/types/product.ExpandScalar/page.mdx)<T>","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$like","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$re","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$ilike","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$fulltext","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$overlap","type":"`string`[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$contains","type":"`string`[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$contained","type":"`string`[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$exists","type":"`boolean`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"deleted_at","type":"[OperatorMap](../../product/types/product.OperatorMap/page.mdx)<string>","description":"Filters soft-deleted products based on the date they were deleted at.","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"$and","type":"[Query](../../product/types/product.Query/page.mdx)<T>[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$or","type":"[Query](../../product/types/product.Query/page.mdx)<T>[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$eq","type":"[ExpandScalar](../../product/types/product.ExpandScalar/page.mdx)<T> \\| [ExpandScalar](../../product/types/product.ExpandScalar/page.mdx)<T>[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$ne","type":"[ExpandScalar](../../product/types/product.ExpandScalar/page.mdx)<T>","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$in","type":"[ExpandScalar](../../product/types/product.ExpandScalar/page.mdx)<T>[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$nin","type":"[ExpandScalar](../../product/types/product.ExpandScalar/page.mdx)<T>[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$not","type":"[Query](../../product/types/product.Query/page.mdx)<T>","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$gt","type":"[ExpandScalar](../../product/types/product.ExpandScalar/page.mdx)<T>","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$gte","type":"[ExpandScalar](../../product/types/product.ExpandScalar/page.mdx)<T>","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$lt","type":"[ExpandScalar](../../product/types/product.ExpandScalar/page.mdx)<T>","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$lte","type":"[ExpandScalar](../../product/types/product.ExpandScalar/page.mdx)<T>","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$like","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$re","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$ilike","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$fulltext","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$overlap","type":"`string`[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$contains","type":"`string`[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$contained","type":"`string`[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$exists","type":"`boolean`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]}]}]},{"name":"ids","type":"`string`[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"id","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"id","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]}]} expandUrl="https://docs.medusajs.com/v2/advanced-development/data-models/manage-relationships#retrieve-records-of-relation" sectionTitle="Steps_Product"/> ___ @@ -462,7 +462,7 @@ This step retrieves all products. ### Input - + ### Output @@ -588,7 +588,7 @@ This step updates one or more products. ### Input -`","description":"The product variant options to associate with the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"metadata","type":"[MetadataType](../../product/types/product.MetadataType/page.mdx)","description":"Holds custom data in key-value pairs.","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"width","type":"`null` \\| `number`","description":"The width of the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"height","type":"`null` \\| `number`","description":"The height of the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"length","type":"`null` \\| `number`","description":"The length of the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"weight","type":"`null` \\| `number`","description":"The weight of the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"origin_country","type":"`null` \\| `string`","description":"The origin country of the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"hs_code","type":"`null` \\| `string`","description":"The HS Code of the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"material","type":"`null` \\| `string`","description":"The material of the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"mid_code","type":"`null` \\| `string`","description":"The MID Code of the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"metadata","type":"[MetadataType](../../product/types/product.MetadataType/page.mdx)","description":"Holds custom data in key-value pairs.","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"products","type":"[UpsertProductDTO](../../product/interfaces/product.UpsertProductDTO/page.mdx)[]","description":"","optional":false,"defaultValue":"","expandable":false,"children":[{"name":"id","type":"`string`","description":"The ID of the product to update. If not provided, a product\nis created instead. In that case, the `title` property is required.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"title","type":"`string`","description":"The title of the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"subtitle","type":"`null` \\| `string`","description":"The subttle of the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"description","type":"`null` \\| `string`","description":"The description of the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"is_giftcard","type":"`boolean`","description":"Whether the product is a gift card.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"discountable","type":"`boolean`","description":"Whether the product can be discounted.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"thumbnail","type":"`null` \\| `string`","description":"The URL of the product's thumbnail.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"handle","type":"`string`","description":"The handle of the product. The handle can be used to create slug URL paths.\nIf not supplied, the value of the `handle` attribute of the product is set to the slug version of the `title` attribute.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"status","type":"[ProductStatus](../../product/types/product.ProductStatus/page.mdx)","description":"The status of the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"images","type":"[UpsertProductImageDTO](../../product/interfaces/product.UpsertProductImageDTO/page.mdx)[]","description":"The associated images to create or update.","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"id","type":"`string`","description":"The product image's ID. If not provided, the image is created. In\nthat case, the `url` property is required.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"url","type":"`string`","description":"The new URL of the product image.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"metadata","type":"[MetadataType](../../product/types/product.MetadataType/page.mdx)","description":"Holds custom data in key-value pairs.","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"external_id","type":"`null` \\| `string`","description":"The id of the product in an external system","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"type_id","type":"`null` \\| `string`","description":"The product type to associate with the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"collection_id","type":"`null` \\| `string`","description":"The product collection to associate with the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"tag_ids","type":"`string`[]","description":"The tags to associate with the product","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"category_ids","type":"`string`[]","description":"The product categories to associate with the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"options","type":"[UpsertProductOptionDTO](../../product/interfaces/product.UpsertProductOptionDTO/page.mdx)[]","description":"The associated options to create or update.","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"id","type":"`string`","description":"The ID of the product option to update. If not provided, the product\noption is created. In that case, the `title` and `values` properties are\nrequired.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"title","type":"`string`","description":"The product option's title.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"values","type":"`string`[]","description":"The product option values.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"product_id","type":"`string`","description":"The ID of the associated product.","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"variants","type":"[UpsertProductVariantDTO](../../product/interfaces/product.UpsertProductVariantDTO/page.mdx)[]","description":"The product variants to be created and associated with the product.\nYou can also update existing product variants associated with the product.","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"id","type":"`string`","description":"The ID of the product variant to update.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"title","type":"`string`","description":"The tile of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"sku","type":"`null` \\| `string`","description":"The SKU of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"barcode","type":"`null` \\| `string`","description":"The barcode of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"ean","type":"`null` \\| `string`","description":"The EAN of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"upc","type":"`null` \\| `string`","description":"The UPC of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"allow_backorder","type":"`boolean`","description":"Whether the product variant can be ordered when it's out of stock.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"manage_inventory","type":"`boolean`","description":"Whether the product variant's inventory should be managed by the core system.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"hs_code","type":"`null` \\| `string`","description":"The HS Code of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"origin_country","type":"`null` \\| `string`","description":"The origin country of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"mid_code","type":"`null` \\| `string`","description":"The MID Code of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"material","type":"`null` \\| `string`","description":"The material of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"weight","type":"`null` \\| `number`","description":"The weight of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"length","type":"`null` \\| `number`","description":"The length of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"height","type":"`null` \\| `number`","description":"The height of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"width","type":"`null` \\| `number`","description":"The width of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"options","type":"`Record`","description":"The product variant options to associate with the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"metadata","type":"[MetadataType](../../product/types/product.MetadataType/page.mdx)","description":"Holds custom data in key-value pairs.","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"width","type":"`null` \\| `number`","description":"The width of the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"height","type":"`null` \\| `number`","description":"The height of the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"length","type":"`null` \\| `number`","description":"The length of the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"weight","type":"`null` \\| `number`","description":"The weight of the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"origin_country","type":"`null` \\| `string`","description":"The origin country of the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"hs_code","type":"`null` \\| `string`","description":"The HS Code of the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"material","type":"`null` \\| `string`","description":"The material of the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"mid_code","type":"`null` \\| `string`","description":"The MID Code of the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"metadata","type":"[MetadataType](../../product/types/product.MetadataType/page.mdx)","description":"Holds custom data in key-value pairs.","optional":true,"defaultValue":"","expandable":false,"children":[]}]}]}]} expandUrl="https://docs.medusajs.com/v2/advanced-development/data-models/manage-relationships#retrieve-records-of-relation" sectionTitle="updateProductsStep"/> +`","description":"The product variant options to associate with the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"metadata","type":"[MetadataType](../../product/types/product.MetadataType/page.mdx)","description":"Holds custom data in key-value pairs.","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"width","type":"`null` \\| `number`","description":"The width of the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"height","type":"`null` \\| `number`","description":"The height of the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"length","type":"`null` \\| `number`","description":"The length of the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"weight","type":"`null` \\| `number`","description":"The weight of the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"origin_country","type":"`null` \\| `string`","description":"The origin country of the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"hs_code","type":"`null` \\| `string`","description":"The HS Code of the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"material","type":"`null` \\| `string`","description":"The material of the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"mid_code","type":"`null` \\| `string`","description":"The MID Code of the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"metadata","type":"[MetadataType](../../product/types/product.MetadataType/page.mdx)","description":"Holds custom data in key-value pairs.","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"products","type":"[UpsertProductDTO](../../product/interfaces/product.UpsertProductDTO/page.mdx)[]","description":"","optional":false,"defaultValue":"","expandable":false,"children":[{"name":"id","type":"`string`","description":"The ID of the product to update. If not provided, a product\nis created instead. In that case, the `title` property is required.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"title","type":"`string`","description":"The title of the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"subtitle","type":"`null` \\| `string`","description":"The subttle of the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"description","type":"`null` \\| `string`","description":"The description of the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"is_giftcard","type":"`boolean`","description":"Whether the product is a gift card.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"discountable","type":"`boolean`","description":"Whether the product can be discounted.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"thumbnail","type":"`null` \\| `string`","description":"The URL of the product's thumbnail.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"handle","type":"`string`","description":"The handle of the product. The handle can be used to create slug URL paths.\nIf not supplied, the value of the `handle` attribute of the product is set to the slug version of the `title` attribute.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"status","type":"[ProductStatus](../../product/types/product.ProductStatus/page.mdx)","description":"The status of the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"images","type":"[UpsertProductImageDTO](../../product/interfaces/product.UpsertProductImageDTO/page.mdx)[]","description":"The associated images to create or update.","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"id","type":"`string`","description":"The product image's ID. If not provided, the image is created. In\nthat case, the `url` property is required.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"url","type":"`string`","description":"The new URL of the product image.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"metadata","type":"[MetadataType](../../product/types/product.MetadataType/page.mdx)","description":"Holds custom data in key-value pairs.","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"external_id","type":"`null` \\| `string`","description":"The id of the product in an external system","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"type_id","type":"`null` \\| `string`","description":"The product type to associate with the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"collection_id","type":"`null` \\| `string`","description":"The product collection to associate with the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"tag_ids","type":"`string`[]","description":"The tags to associate with the product","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"category_ids","type":"`string`[]","description":"The product categories to associate with the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"options","type":"[UpsertProductOptionDTO](../../product/interfaces/product.UpsertProductOptionDTO/page.mdx)[]","description":"The associated options to create or update.","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"id","type":"`string`","description":"The ID of the product option to update. If not provided, the product\noption is created. In that case, the `title` and `values` properties are\nrequired.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"title","type":"`string`","description":"The product option's title.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"values","type":"`string`[]","description":"The product option values.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"product_id","type":"`string`","description":"The ID of the associated product.","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"variants","type":"[UpsertProductVariantDTO](../../product/interfaces/product.UpsertProductVariantDTO/page.mdx)[]","description":"The product variants to be created and associated with the product.\nYou can also update existing product variants associated with the product.","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"id","type":"`string`","description":"The ID of the product variant to update.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"title","type":"`string`","description":"The tile of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"sku","type":"`null` \\| `string`","description":"The SKU of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"barcode","type":"`null` \\| `string`","description":"The barcode of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"ean","type":"`null` \\| `string`","description":"The EAN of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"upc","type":"`null` \\| `string`","description":"The UPC of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"allow_backorder","type":"`boolean`","description":"Whether the product variant can be ordered when it's out of stock.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"manage_inventory","type":"`boolean`","description":"Whether the product variant's inventory should be managed by the core system.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"hs_code","type":"`null` \\| `string`","description":"The HS Code of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"origin_country","type":"`null` \\| `string`","description":"The origin country of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"mid_code","type":"`null` \\| `string`","description":"The MID Code of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"material","type":"`null` \\| `string`","description":"The material of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"weight","type":"`null` \\| `number`","description":"The weight of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"length","type":"`null` \\| `number`","description":"The length of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"height","type":"`null` \\| `number`","description":"The height of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"width","type":"`null` \\| `number`","description":"The width of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"options","type":"`Record`","description":"The product variant options to associate with the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"metadata","type":"[MetadataType](../../product/types/product.MetadataType/page.mdx)","description":"Holds custom data in key-value pairs.","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"width","type":"`null` \\| `number`","description":"The width of the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"height","type":"`null` \\| `number`","description":"The height of the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"length","type":"`null` \\| `number`","description":"The length of the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"weight","type":"`null` \\| `number`","description":"The weight of the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"origin_country","type":"`null` \\| `string`","description":"The origin country of the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"hs_code","type":"`null` \\| `string`","description":"The HS Code of the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"material","type":"`null` \\| `string`","description":"The material of the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"mid_code","type":"`null` \\| `string`","description":"The MID Code of the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"metadata","type":"[MetadataType](../../product/types/product.MetadataType/page.mdx)","description":"Holds custom data in key-value pairs.","optional":true,"defaultValue":"","expandable":false,"children":[]}]}]}]} expandUrl="https://docs.medusajs.com/v2/advanced-development/data-models/manage-relationships#retrieve-records-of-relation" sectionTitle="updateProductsStep"/> ### Output diff --git a/www/apps/resources/references/core_flows/core_flows.Workflows_Product/page.mdx b/www/apps/resources/references/core_flows/core_flows.Workflows_Product/page.mdx index af794e65131dd..f4e369dfbf64c 100644 --- a/www/apps/resources/references/core_flows/core_flows.Workflows_Product/page.mdx +++ b/www/apps/resources/references/core_flows/core_flows.Workflows_Product/page.mdx @@ -189,7 +189,7 @@ import { TypeList, WorkflowDiagram } from "docs-ui" - [\_\_type](undefined) - [\_\_type](undefined) - | undefined`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"product_options","type":"[CreateProductOptionDTO](../../product/interfaces/product.CreateProductOptionDTO/page.mdx)[]","description":"","optional":false,"defaultValue":"","expandable":false,"children":[{"name":"title","type":"`string`","description":"The product option's title.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"values","type":"`string`[]","description":"The product option values.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"product_id","type":"`string`","description":"The ID of the associated product.","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"product_options","type":"[ProductOptionDTO](../../product/interfaces/product.ProductOptionDTO/page.mdx)[]","description":"","optional":false,"defaultValue":"","expandable":false,"children":[{"name":"id","type":"`string`","description":"The ID of the product option.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"title","type":"`string`","description":"The title of the product option.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"values","type":"[ProductOptionValueDTO](../../product/interfaces/product.ProductOptionValueDTO/page.mdx)[]","description":"The associated product option values.","optional":false,"defaultValue":"","expandable":true,"children":[{"name":"id","type":"`string`","description":"The ID of the product option value.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"value","type":"`string`","description":"The value of the product option value.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"created_at","type":"`string` \\| `Date`","description":"When the product option value was created.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"updated_at","type":"`string` \\| `Date`","description":"When the product option value was updated.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"option","type":"`null` \\| [ProductOptionDTO](../../product/interfaces/product.ProductOptionDTO/page.mdx)","description":"The associated product option. It may only be available if the `option` relation is expanded.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"option_id","type":"`null` \\| `string`","description":"The associated product option id.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"metadata","type":"[MetadataType](../../product/types/product.MetadataType/page.mdx)","description":"Holds custom data in key-value pairs.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"deleted_at","type":"`string` \\| `Date`","description":"When the product option value was deleted.","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"created_at","type":"`string` \\| `Date`","description":"When the product option was created.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"updated_at","type":"`string` \\| `Date`","description":"When the product option was updated.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"product","type":"`null` \\| [ProductDTO](../../product/interfaces/product.ProductDTO/page.mdx)","description":"The associated product.","optional":true,"defaultValue":"","expandable":true,"children":[{"name":"id","type":"`string`","description":"The ID of the product.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"title","type":"`string`","description":"The title of the product.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"handle","type":"`string`","description":"The handle of the product. The handle can be used to create slug URL paths.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"subtitle","type":"`null` \\| `string`","description":"The subttle of the product.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"description","type":"`null` \\| `string`","description":"The description of the product.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"is_giftcard","type":"`boolean`","description":"Whether the product is a gift card.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"status","type":"[ProductStatus](../../product/types/product.ProductStatus/page.mdx)","description":"The status of the product.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"thumbnail","type":"`null` \\| `string`","description":"The URL of the product's thumbnail.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"width","type":"`null` \\| `number`","description":"The width of the product.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"weight","type":"`null` \\| `number`","description":"The weight of the product.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"length","type":"`null` \\| `number`","description":"The length of the product.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"height","type":"`null` \\| `number`","description":"The height of the product.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"origin_country","type":"`null` \\| `string`","description":"The origin country of the product.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"hs_code","type":"`null` \\| `string`","description":"The HS Code of the product.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"mid_code","type":"`null` \\| `string`","description":"The MID Code of the product.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"material","type":"`null` \\| `string`","description":"The material of the product.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"collection","type":"`null` \\| [ProductCollectionDTO](../../product/interfaces/product.ProductCollectionDTO/page.mdx)","description":"The associated product collection.","optional":false,"defaultValue":"","expandable":true,"children":[]},{"name":"collection_id","type":"`null` \\| `string`","description":"The associated product collection id.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"type","type":"`null` \\| [ProductTypeDTO](../../product/interfaces/product.ProductTypeDTO/page.mdx)","description":"The associated product type.","optional":false,"defaultValue":"","expandable":true,"children":[]},{"name":"type_id","type":"`null` \\| `string`","description":"The associated product type id.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"tags","type":"[ProductTagDTO](../../product/interfaces/product.ProductTagDTO/page.mdx)[]","description":"The associated product tags.","optional":false,"defaultValue":"","expandable":true,"children":[]},{"name":"variants","type":"[ProductVariantDTO](../../product/interfaces/product.ProductVariantDTO/page.mdx)[]","description":"The associated product variants.","optional":false,"defaultValue":"","expandable":true,"children":[]},{"name":"options","type":"[ProductOptionDTO](../../product/interfaces/product.ProductOptionDTO/page.mdx)[]","description":"The associated product options.","optional":false,"defaultValue":"","expandable":true,"children":[]},{"name":"images","type":"[ProductImageDTO](../../product/interfaces/product.ProductImageDTO/page.mdx)[]","description":"The associated product images.","optional":false,"defaultValue":"","expandable":true,"children":[]},{"name":"external_id","type":"`null` \\| `string`","description":"The ID of the product in an external system. This is useful if you're integrating the product with a third-party service and want to maintain\na reference to the ID in the integrated service.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"created_at","type":"`string` \\| `Date`","description":"When the product was created.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"updated_at","type":"`string` \\| `Date`","description":"When the product was updated.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"deleted_at","type":"`string` \\| `Date`","description":"When the product was deleted.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"categories","type":"`null` \\| [ProductCategoryDTO](../../product/interfaces/product.ProductCategoryDTO/page.mdx)[]","description":"The associated product categories.","optional":true,"defaultValue":"","expandable":true,"children":[]},{"name":"discountable","type":"`boolean`","description":"Whether the product can be discounted.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"metadata","type":"[MetadataType](../../product/types/product.MetadataType/page.mdx)","description":"Holds custom data in key-value pairs.","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"product_id","type":"`null` \\| `string`","description":"The associated product id.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"metadata","type":"[MetadataType](../../product/types/product.MetadataType/page.mdx)","description":"Holds custom data in key-value pairs.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"deleted_at","type":"`string` \\| `Date`","description":"When the product option was deleted.","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"additional_data","type":"`Record | undefined`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"product_tags","type":"[CreateProductTagDTO](../../product/interfaces/product.CreateProductTagDTO/page.mdx)[]","description":"","optional":false,"defaultValue":"","expandable":false,"children":[{"name":"value","type":"`string`","description":"The value of the product tag.","optional":false,"defaultValue":"","expandable":false,"children":[]}]},{"name":"product_tags","type":"[ProductTagDTO](../../product/interfaces/product.ProductTagDTO/page.mdx)[]","description":"","optional":false,"defaultValue":"","expandable":false,"children":[{"name":"id","type":"`string`","description":"The ID of the product tag.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"value","type":"`string`","description":"The value of the product tag.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"metadata","type":"[MetadataType](../../product/types/product.MetadataType/page.mdx)","description":"Holds custom data in key-value pairs.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"products","type":"[ProductDTO](../../product/interfaces/product.ProductDTO/page.mdx)[]","description":"The associated products.","optional":true,"defaultValue":"","expandable":true,"children":[{"name":"id","type":"`string`","description":"The ID of the product.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"title","type":"`string`","description":"The title of the product.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"handle","type":"`string`","description":"The handle of the product. The handle can be used to create slug URL paths.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"subtitle","type":"`null` \\| `string`","description":"The subttle of the product.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"description","type":"`null` \\| `string`","description":"The description of the product.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"is_giftcard","type":"`boolean`","description":"Whether the product is a gift card.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"status","type":"[ProductStatus](../../product/types/product.ProductStatus/page.mdx)","description":"The status of the product.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"thumbnail","type":"`null` \\| `string`","description":"The URL of the product's thumbnail.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"width","type":"`null` \\| `number`","description":"The width of the product.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"weight","type":"`null` \\| `number`","description":"The weight of the product.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"length","type":"`null` \\| `number`","description":"The length of the product.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"height","type":"`null` \\| `number`","description":"The height of the product.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"origin_country","type":"`null` \\| `string`","description":"The origin country of the product.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"hs_code","type":"`null` \\| `string`","description":"The HS Code of the product.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"mid_code","type":"`null` \\| `string`","description":"The MID Code of the product.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"material","type":"`null` \\| `string`","description":"The material of the product.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"collection","type":"`null` \\| [ProductCollectionDTO](../../product/interfaces/product.ProductCollectionDTO/page.mdx)","description":"The associated product collection.","optional":false,"defaultValue":"","expandable":true,"children":[]},{"name":"collection_id","type":"`null` \\| `string`","description":"The associated product collection id.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"type","type":"`null` \\| [ProductTypeDTO](../../product/interfaces/product.ProductTypeDTO/page.mdx)","description":"The associated product type.","optional":false,"defaultValue":"","expandable":true,"children":[]},{"name":"type_id","type":"`null` \\| `string`","description":"The associated product type id.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"tags","type":"[ProductTagDTO](../../product/interfaces/product.ProductTagDTO/page.mdx)[]","description":"The associated product tags.","optional":false,"defaultValue":"","expandable":true,"children":[]},{"name":"variants","type":"[ProductVariantDTO](../../product/interfaces/product.ProductVariantDTO/page.mdx)[]","description":"The associated product variants.","optional":false,"defaultValue":"","expandable":true,"children":[]},{"name":"options","type":"[ProductOptionDTO](../../product/interfaces/product.ProductOptionDTO/page.mdx)[]","description":"The associated product options.","optional":false,"defaultValue":"","expandable":true,"children":[]},{"name":"images","type":"[ProductImageDTO](../../product/interfaces/product.ProductImageDTO/page.mdx)[]","description":"The associated product images.","optional":false,"defaultValue":"","expandable":true,"children":[]},{"name":"external_id","type":"`null` \\| `string`","description":"The ID of the product in an external system. This is useful if you're integrating the product with a third-party service and want to maintain\na reference to the ID in the integrated service.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"created_at","type":"`string` \\| `Date`","description":"When the product was created.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"updated_at","type":"`string` \\| `Date`","description":"When the product was updated.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"deleted_at","type":"`string` \\| `Date`","description":"When the product was deleted.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"categories","type":"`null` \\| [ProductCategoryDTO](../../product/interfaces/product.ProductCategoryDTO/page.mdx)[]","description":"The associated product categories.","optional":true,"defaultValue":"","expandable":true,"children":[]},{"name":"discountable","type":"`boolean`","description":"Whether the product can be discounted.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"metadata","type":"[MetadataType](../../product/types/product.MetadataType/page.mdx)","description":"Holds custom data in key-value pairs.","optional":true,"defaultValue":"","expandable":false,"children":[]}]}]},{"name":"additional_data","type":"`Record | undefined`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"product_types","type":"[CreateProductTypeDTO](../../product/interfaces/product.CreateProductTypeDTO/page.mdx)[]","description":"","optional":false,"defaultValue":"","expandable":false,"children":[{"name":"value","type":"`string`","description":"The product type's value.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"metadata","type":"[MetadataType](../../product/types/product.MetadataType/page.mdx)","description":"Holds custom data in key-value pairs.","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"product_types","type":"[ProductTypeDTO](../../product/interfaces/product.ProductTypeDTO/page.mdx)[]","description":"","optional":false,"defaultValue":"","expandable":false,"children":[{"name":"id","type":"`string`","description":"The ID of the product type.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"value","type":"`string`","description":"The value of the product type.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"created_at","type":"`string` \\| `Date`","description":"When the product type was created.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"updated_at","type":"`string` \\| `Date`","description":"When the product type was updated.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"metadata","type":"[MetadataType](../../product/types/product.MetadataType/page.mdx)","description":"Holds custom data in key-value pairs.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"deleted_at","type":"`string` \\| `Date`","description":"When the product type was deleted.","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"additional_data","type":"`Record | undefined`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"product_variants","type":"[CreateProductVariantDTO](../../product/interfaces/product.CreateProductVariantDTO/page.mdx) & `object` & `object`[]","description":"","optional":false,"defaultValue":"","expandable":false,"children":[{"name":"title","type":"`string`","description":"The tile of the product variant.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"product_id","type":"`string`","description":"The id of the product","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"sku","type":"`string`","description":"The SKU of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"barcode","type":"`string`","description":"The barcode of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"ean","type":"`string`","description":"The EAN of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"upc","type":"`string`","description":"The UPC of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"allow_backorder","type":"`boolean`","description":"Whether the product variant can be ordered when it's out of stock.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"manage_inventory","type":"`boolean`","description":"Whether the product variant's inventory should be managed by the core system.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"hs_code","type":"`string`","description":"The HS Code of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"origin_country","type":"`string`","description":"The origin country of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"mid_code","type":"`string`","description":"The MID Code of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"material","type":"`string`","description":"The material of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"weight","type":"`number`","description":"The weight of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"length","type":"`number`","description":"The length of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"height","type":"`number`","description":"The height of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"width","type":"`number`","description":"The width of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"options","type":"`Record`","description":"The options of the variant. Each key is an option's title, and value\nis an option's value. If an option with the specified title doesn't exist,\na new one is created.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"metadata","type":"[MetadataType](../../product/types/product.MetadataType/page.mdx)","description":"Holds custom data in key-value pairs.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"prices","type":"[CreateMoneyAmountDTO](../../pricing/interfaces/pricing.CreateMoneyAmountDTO/page.mdx)[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"currency_code","type":"`string`","description":"The currency code of this money amount.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"amount","type":"[BigNumberInput](../../pricing/types/pricing.BigNumberInput/page.mdx)","description":"The amount of this money amount.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"id","type":"`string`","description":"The ID of the money amount.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"min_quantity","type":"`null` \\| [BigNumberInput](../../pricing/types/pricing.BigNumberInput/page.mdx)","description":"The minimum quantity required to be purchased for this money amount to be applied.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"max_quantity","type":"`null` \\| [BigNumberInput](../../pricing/types/pricing.BigNumberInput/page.mdx)","description":"The maximum quantity required to be purchased for this money amount to be applied.","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"inventory_items","type":"`object`[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"inventory_item_id","type":"`string`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"required_quantity","type":"`number`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]}]}]},{"name":"inventory_item_id","type":"`string`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"prices","type":"[MoneyAmountDTO](../../pricing/interfaces/pricing.MoneyAmountDTO/page.mdx)[]","description":"","optional":false,"defaultValue":"","expandable":false,"children":[{"name":"id","type":"`string`","description":"The ID of the money amount.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"created_at","type":"`Date`","description":"When the money\\_amount was created.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"updated_at","type":"`Date`","description":"When the money\\_amount was updated.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"deleted_at","type":"`null` \\| `Date`","description":"When the money\\_amount was deleted.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"currency_code","type":"`string`","description":"The currency code of this money amount.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"amount","type":"[BigNumberValue](../../pricing/types/pricing.BigNumberValue/page.mdx)","description":"The price of this money amount.","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"numeric","type":"`number`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"raw","type":"[BigNumberRawValue](../../pricing/types/pricing.BigNumberRawValue/page.mdx)","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"bigNumber","type":"`BigNumber`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"min_quantity","type":"[BigNumberValue](../../pricing/types/pricing.BigNumberValue/page.mdx)","description":"The minimum quantity required to be purchased for this price to be applied.","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"numeric","type":"`number`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"raw","type":"[BigNumberRawValue](../../pricing/types/pricing.BigNumberRawValue/page.mdx)","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"bigNumber","type":"`BigNumber`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"max_quantity","type":"[BigNumberValue](../../pricing/types/pricing.BigNumberValue/page.mdx)","description":"The maximum quantity required to be purchased for this price to be applied.","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"numeric","type":"`number`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"raw","type":"[BigNumberRawValue](../../pricing/types/pricing.BigNumberRawValue/page.mdx)","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"bigNumber","type":"`BigNumber`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"rules_count","type":"`number`","description":"The number of rules that apply to this price","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"price_rules","type":"[PriceRuleDTO](../../pricing/interfaces/pricing.PriceRuleDTO/page.mdx)[]","description":"The price rules that apply to this price","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"id","type":"`string`","description":"The ID of the price rule.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"price_set_id","type":"`string`","description":"The ID of the associated price set.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"price_set","type":"[PriceSetDTO](../../pricing/interfaces/pricing.PriceSetDTO/page.mdx)","description":"The associated price set.","optional":false,"defaultValue":"","expandable":true,"children":[]},{"name":"attribute","type":"`string`","description":"The attribute of the price rule","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"value","type":"`string`","description":"The value of the price rule.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"priority","type":"`number`","description":"The priority of the price rule in comparison to other applicable price rules.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"price_id","type":"`string`","description":"The ID of the associated price.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"price_list_id","type":"`string`","description":"The ID of the associated price list.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"created_at","type":"`Date`","description":"When the price\\_rule was created.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"updated_at","type":"`Date`","description":"When the price\\_rule was updated.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"deleted_at","type":"`null` \\| `Date`","description":"When the price\\_rule was deleted.","optional":false,"defaultValue":"","expandable":false,"children":[]}]}]},{"name":"prices","type":"[MoneyAmountDTO](../../pricing/interfaces/pricing.MoneyAmountDTO/page.mdx)[]","description":"","optional":false,"defaultValue":"","expandable":false,"children":[{"name":"id","type":"`string`","description":"The ID of the money amount.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"created_at","type":"`Date`","description":"When the money\\_amount was created.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"updated_at","type":"`Date`","description":"When the money\\_amount was updated.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"deleted_at","type":"`null` \\| `Date`","description":"When the money\\_amount was deleted.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"currency_code","type":"`string`","description":"The currency code of this money amount.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"amount","type":"[BigNumberValue](../../pricing/types/pricing.BigNumberValue/page.mdx)","description":"The price of this money amount.","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"numeric","type":"`number`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"raw","type":"[BigNumberRawValue](../../pricing/types/pricing.BigNumberRawValue/page.mdx)","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"bigNumber","type":"`BigNumber`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"min_quantity","type":"[BigNumberValue](../../pricing/types/pricing.BigNumberValue/page.mdx)","description":"The minimum quantity required to be purchased for this price to be applied.","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"numeric","type":"`number`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"raw","type":"[BigNumberRawValue](../../pricing/types/pricing.BigNumberRawValue/page.mdx)","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"bigNumber","type":"`BigNumber`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"max_quantity","type":"[BigNumberValue](../../pricing/types/pricing.BigNumberValue/page.mdx)","description":"The maximum quantity required to be purchased for this price to be applied.","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"numeric","type":"`number`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"raw","type":"[BigNumberRawValue](../../pricing/types/pricing.BigNumberRawValue/page.mdx)","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"bigNumber","type":"`BigNumber`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"rules_count","type":"`number`","description":"The number of rules that apply to this price","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"price_rules","type":"[PriceRuleDTO](../../pricing/interfaces/pricing.PriceRuleDTO/page.mdx)[]","description":"The price rules that apply to this price","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"id","type":"`string`","description":"The ID of the price rule.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"price_set_id","type":"`string`","description":"The ID of the associated price set.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"price_set","type":"[PriceSetDTO](../../pricing/interfaces/pricing.PriceSetDTO/page.mdx)","description":"The associated price set.","optional":false,"defaultValue":"","expandable":true,"children":[]},{"name":"attribute","type":"`string`","description":"The attribute of the price rule","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"value","type":"`string`","description":"The value of the price rule.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"priority","type":"`number`","description":"The priority of the price rule in comparison to other applicable price rules.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"price_id","type":"`string`","description":"The ID of the associated price.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"price_list_id","type":"`string`","description":"The ID of the associated price list.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"created_at","type":"`Date`","description":"When the price\\_rule was created.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"updated_at","type":"`Date`","description":"When the price\\_rule was updated.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"deleted_at","type":"`null` \\| `Date`","description":"When the price\\_rule was deleted.","optional":false,"defaultValue":"","expandable":false,"children":[]}]}]},{"name":"prices","type":"[MoneyAmountDTO](../../pricing/interfaces/pricing.MoneyAmountDTO/page.mdx)[]","description":"","optional":false,"defaultValue":"","expandable":false,"children":[{"name":"id","type":"`string`","description":"The ID of the money amount.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"created_at","type":"`Date`","description":"When the money\\_amount was created.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"updated_at","type":"`Date`","description":"When the money\\_amount was updated.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"deleted_at","type":"`null` \\| `Date`","description":"When the money\\_amount was deleted.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"currency_code","type":"`string`","description":"The currency code of this money amount.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"amount","type":"[BigNumberValue](../../pricing/types/pricing.BigNumberValue/page.mdx)","description":"The price of this money amount.","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"numeric","type":"`number`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"raw","type":"[BigNumberRawValue](../../pricing/types/pricing.BigNumberRawValue/page.mdx)","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"bigNumber","type":"`BigNumber`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"min_quantity","type":"[BigNumberValue](../../pricing/types/pricing.BigNumberValue/page.mdx)","description":"The minimum quantity required to be purchased for this price to be applied.","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"numeric","type":"`number`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"raw","type":"[BigNumberRawValue](../../pricing/types/pricing.BigNumberRawValue/page.mdx)","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"bigNumber","type":"`BigNumber`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"max_quantity","type":"[BigNumberValue](../../pricing/types/pricing.BigNumberValue/page.mdx)","description":"The maximum quantity required to be purchased for this price to be applied.","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"numeric","type":"`number`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"raw","type":"[BigNumberRawValue](../../pricing/types/pricing.BigNumberRawValue/page.mdx)","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"bigNumber","type":"`BigNumber`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"rules_count","type":"`number`","description":"The number of rules that apply to this price","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"price_rules","type":"[PriceRuleDTO](../../pricing/interfaces/pricing.PriceRuleDTO/page.mdx)[]","description":"The price rules that apply to this price","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"id","type":"`string`","description":"The ID of the price rule.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"price_set_id","type":"`string`","description":"The ID of the associated price set.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"price_set","type":"[PriceSetDTO](../../pricing/interfaces/pricing.PriceSetDTO/page.mdx)","description":"The associated price set.","optional":false,"defaultValue":"","expandable":true,"children":[]},{"name":"attribute","type":"`string`","description":"The attribute of the price rule","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"value","type":"`string`","description":"The value of the price rule.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"priority","type":"`number`","description":"The priority of the price rule in comparison to other applicable price rules.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"price_id","type":"`string`","description":"The ID of the associated price.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"price_list_id","type":"`string`","description":"The ID of the associated price list.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"created_at","type":"`Date`","description":"When the price\\_rule was created.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"updated_at","type":"`Date`","description":"When the price\\_rule was updated.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"deleted_at","type":"`null` \\| `Date`","description":"When the price\\_rule was deleted.","optional":false,"defaultValue":"","expandable":false,"children":[]}]}]},{"name":"prices","type":"[MoneyAmountDTO](../../pricing/interfaces/pricing.MoneyAmountDTO/page.mdx)[]","description":"","optional":false,"defaultValue":"","expandable":false,"children":[{"name":"id","type":"`string`","description":"The ID of the money amount.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"created_at","type":"`Date`","description":"When the money\\_amount was created.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"updated_at","type":"`Date`","description":"When the money\\_amount was updated.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"deleted_at","type":"`null` \\| `Date`","description":"When the money\\_amount was deleted.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"currency_code","type":"`string`","description":"The currency code of this money amount.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"amount","type":"[BigNumberValue](../../pricing/types/pricing.BigNumberValue/page.mdx)","description":"The price of this money amount.","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"numeric","type":"`number`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"raw","type":"[BigNumberRawValue](../../pricing/types/pricing.BigNumberRawValue/page.mdx)","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"bigNumber","type":"`BigNumber`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"min_quantity","type":"[BigNumberValue](../../pricing/types/pricing.BigNumberValue/page.mdx)","description":"The minimum quantity required to be purchased for this price to be applied.","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"numeric","type":"`number`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"raw","type":"[BigNumberRawValue](../../pricing/types/pricing.BigNumberRawValue/page.mdx)","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"bigNumber","type":"`BigNumber`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"max_quantity","type":"[BigNumberValue](../../pricing/types/pricing.BigNumberValue/page.mdx)","description":"The maximum quantity required to be purchased for this price to be applied.","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"numeric","type":"`number`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"raw","type":"[BigNumberRawValue](../../pricing/types/pricing.BigNumberRawValue/page.mdx)","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"bigNumber","type":"`BigNumber`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"rules_count","type":"`number`","description":"The number of rules that apply to this price","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"price_rules","type":"[PriceRuleDTO](../../pricing/interfaces/pricing.PriceRuleDTO/page.mdx)[]","description":"The price rules that apply to this price","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"id","type":"`string`","description":"The ID of the price rule.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"price_set_id","type":"`string`","description":"The ID of the associated price set.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"price_set","type":"[PriceSetDTO](../../pricing/interfaces/pricing.PriceSetDTO/page.mdx)","description":"The associated price set.","optional":false,"defaultValue":"","expandable":true,"children":[]},{"name":"attribute","type":"`string`","description":"The attribute of the price rule","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"value","type":"`string`","description":"The value of the price rule.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"priority","type":"`number`","description":"The priority of the price rule in comparison to other applicable price rules.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"price_id","type":"`string`","description":"The ID of the associated price.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"price_list_id","type":"`string`","description":"The ID of the associated price list.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"created_at","type":"`Date`","description":"When the price\\_rule was created.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"updated_at","type":"`Date`","description":"When the price\\_rule was updated.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"deleted_at","type":"`null` \\| `Date`","description":"When the price\\_rule was deleted.","optional":false,"defaultValue":"","expandable":false,"children":[]}]}]},{"name":"prices","type":"[MoneyAmountDTO](../../pricing/interfaces/pricing.MoneyAmountDTO/page.mdx)[]","description":"","optional":false,"defaultValue":"","expandable":false,"children":[{"name":"id","type":"`string`","description":"The ID of the money amount.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"created_at","type":"`Date`","description":"When the money\\_amount was created.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"updated_at","type":"`Date`","description":"When the money\\_amount was updated.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"deleted_at","type":"`null` \\| `Date`","description":"When the money\\_amount was deleted.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"currency_code","type":"`string`","description":"The currency code of this money amount.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"amount","type":"[BigNumberValue](../../pricing/types/pricing.BigNumberValue/page.mdx)","description":"The price of this money amount.","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"numeric","type":"`number`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"raw","type":"[BigNumberRawValue](../../pricing/types/pricing.BigNumberRawValue/page.mdx)","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"bigNumber","type":"`BigNumber`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"min_quantity","type":"[BigNumberValue](../../pricing/types/pricing.BigNumberValue/page.mdx)","description":"The minimum quantity required to be purchased for this price to be applied.","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"numeric","type":"`number`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"raw","type":"[BigNumberRawValue](../../pricing/types/pricing.BigNumberRawValue/page.mdx)","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"bigNumber","type":"`BigNumber`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"max_quantity","type":"[BigNumberValue](../../pricing/types/pricing.BigNumberValue/page.mdx)","description":"The maximum quantity required to be purchased for this price to be applied.","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"numeric","type":"`number`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"raw","type":"[BigNumberRawValue](../../pricing/types/pricing.BigNumberRawValue/page.mdx)","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"bigNumber","type":"`BigNumber`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"rules_count","type":"`number`","description":"The number of rules that apply to this price","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"price_rules","type":"[PriceRuleDTO](../../pricing/interfaces/pricing.PriceRuleDTO/page.mdx)[]","description":"The price rules that apply to this price","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"id","type":"`string`","description":"The ID of the price rule.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"price_set_id","type":"`string`","description":"The ID of the associated price set.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"price_set","type":"[PriceSetDTO](../../pricing/interfaces/pricing.PriceSetDTO/page.mdx)","description":"The associated price set.","optional":false,"defaultValue":"","expandable":true,"children":[]},{"name":"attribute","type":"`string`","description":"The attribute of the price rule","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"value","type":"`string`","description":"The value of the price rule.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"priority","type":"`number`","description":"The priority of the price rule in comparison to other applicable price rules.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"price_id","type":"`string`","description":"The ID of the associated price.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"price_list_id","type":"`string`","description":"The ID of the associated price list.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"created_at","type":"`Date`","description":"When the price\\_rule was created.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"updated_at","type":"`Date`","description":"When the price\\_rule was updated.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"deleted_at","type":"`null` \\| `Date`","description":"When the price\\_rule was deleted.","optional":false,"defaultValue":"","expandable":false,"children":[]}]}]},{"name":"prices","type":"[MoneyAmountDTO](../../pricing/interfaces/pricing.MoneyAmountDTO/page.mdx)[]","description":"","optional":false,"defaultValue":"","expandable":false,"children":[{"name":"id","type":"`string`","description":"The ID of the money amount.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"created_at","type":"`Date`","description":"When the money\\_amount was created.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"updated_at","type":"`Date`","description":"When the money\\_amount was updated.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"deleted_at","type":"`null` \\| `Date`","description":"When the money\\_amount was deleted.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"currency_code","type":"`string`","description":"The currency code of this money amount.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"amount","type":"[BigNumberValue](../../pricing/types/pricing.BigNumberValue/page.mdx)","description":"The price of this money amount.","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"numeric","type":"`number`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"raw","type":"[BigNumberRawValue](../../pricing/types/pricing.BigNumberRawValue/page.mdx)","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"bigNumber","type":"`BigNumber`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"min_quantity","type":"[BigNumberValue](../../pricing/types/pricing.BigNumberValue/page.mdx)","description":"The minimum quantity required to be purchased for this price to be applied.","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"numeric","type":"`number`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"raw","type":"[BigNumberRawValue](../../pricing/types/pricing.BigNumberRawValue/page.mdx)","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"bigNumber","type":"`BigNumber`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"max_quantity","type":"[BigNumberValue](../../pricing/types/pricing.BigNumberValue/page.mdx)","description":"The maximum quantity required to be purchased for this price to be applied.","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"numeric","type":"`number`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"raw","type":"[BigNumberRawValue](../../pricing/types/pricing.BigNumberRawValue/page.mdx)","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"bigNumber","type":"`BigNumber`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"rules_count","type":"`number`","description":"The number of rules that apply to this price","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"price_rules","type":"[PriceRuleDTO](../../pricing/interfaces/pricing.PriceRuleDTO/page.mdx)[]","description":"The price rules that apply to this price","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"id","type":"`string`","description":"The ID of the price rule.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"price_set_id","type":"`string`","description":"The ID of the associated price set.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"price_set","type":"[PriceSetDTO](../../pricing/interfaces/pricing.PriceSetDTO/page.mdx)","description":"The associated price set.","optional":false,"defaultValue":"","expandable":true,"children":[]},{"name":"attribute","type":"`string`","description":"The attribute of the price rule","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"value","type":"`string`","description":"The value of the price rule.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"priority","type":"`number`","description":"The priority of the price rule in comparison to other applicable price rules.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"price_id","type":"`string`","description":"The ID of the associated price.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"price_list_id","type":"`string`","description":"The ID of the associated price list.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"created_at","type":"`Date`","description":"When the price\\_rule was created.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"updated_at","type":"`Date`","description":"When the price\\_rule was updated.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"deleted_at","type":"`null` \\| `Date`","description":"When the price\\_rule was deleted.","optional":false,"defaultValue":"","expandable":false,"children":[]}]}]},{"name":"prices","type":"[MoneyAmountDTO](../../pricing/interfaces/pricing.MoneyAmountDTO/page.mdx)[]","description":"","optional":false,"defaultValue":"","expandable":false,"children":[{"name":"id","type":"`string`","description":"The ID of the money amount.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"created_at","type":"`Date`","description":"When the money\\_amount was created.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"updated_at","type":"`Date`","description":"When the money\\_amount was updated.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"deleted_at","type":"`null` \\| `Date`","description":"When the money\\_amount was deleted.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"currency_code","type":"`string`","description":"The currency code of this money amount.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"amount","type":"[BigNumberValue](../../pricing/types/pricing.BigNumberValue/page.mdx)","description":"The price of this money amount.","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"numeric","type":"`number`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"raw","type":"[BigNumberRawValue](../../pricing/types/pricing.BigNumberRawValue/page.mdx)","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"bigNumber","type":"`BigNumber`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"min_quantity","type":"[BigNumberValue](../../pricing/types/pricing.BigNumberValue/page.mdx)","description":"The minimum quantity required to be purchased for this price to be applied.","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"numeric","type":"`number`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"raw","type":"[BigNumberRawValue](../../pricing/types/pricing.BigNumberRawValue/page.mdx)","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"bigNumber","type":"`BigNumber`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"max_quantity","type":"[BigNumberValue](../../pricing/types/pricing.BigNumberValue/page.mdx)","description":"The maximum quantity required to be purchased for this price to be applied.","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"numeric","type":"`number`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"raw","type":"[BigNumberRawValue](../../pricing/types/pricing.BigNumberRawValue/page.mdx)","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"bigNumber","type":"`BigNumber`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"rules_count","type":"`number`","description":"The number of rules that apply to this price","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"price_rules","type":"[PriceRuleDTO](../../pricing/interfaces/pricing.PriceRuleDTO/page.mdx)[]","description":"The price rules that apply to this price","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"id","type":"`string`","description":"The ID of the price rule.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"price_set_id","type":"`string`","description":"The ID of the associated price set.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"price_set","type":"[PriceSetDTO](../../pricing/interfaces/pricing.PriceSetDTO/page.mdx)","description":"The associated price set.","optional":false,"defaultValue":"","expandable":true,"children":[]},{"name":"attribute","type":"`string`","description":"The attribute of the price rule","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"value","type":"`string`","description":"The value of the price rule.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"priority","type":"`number`","description":"The priority of the price rule in comparison to other applicable price rules.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"price_id","type":"`string`","description":"The ID of the associated price.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"price_list_id","type":"`string`","description":"The ID of the associated price list.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"created_at","type":"`Date`","description":"When the price\\_rule was created.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"updated_at","type":"`Date`","description":"When the price\\_rule was updated.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"deleted_at","type":"`null` \\| `Date`","description":"When the price\\_rule was deleted.","optional":false,"defaultValue":"","expandable":false,"children":[]}]}]},{"name":"prices","type":"[MoneyAmountDTO](../../pricing/interfaces/pricing.MoneyAmountDTO/page.mdx)[]","description":"","optional":false,"defaultValue":"","expandable":false,"children":[{"name":"id","type":"`string`","description":"The ID of the money amount.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"created_at","type":"`Date`","description":"When the money\\_amount was created.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"updated_at","type":"`Date`","description":"When the money\\_amount was updated.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"deleted_at","type":"`null` \\| `Date`","description":"When the money\\_amount was deleted.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"currency_code","type":"`string`","description":"The currency code of this money amount.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"amount","type":"[BigNumberValue](../../pricing/types/pricing.BigNumberValue/page.mdx)","description":"The price of this money amount.","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"numeric","type":"`number`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"raw","type":"[BigNumberRawValue](../../pricing/types/pricing.BigNumberRawValue/page.mdx)","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"bigNumber","type":"`BigNumber`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"min_quantity","type":"[BigNumberValue](../../pricing/types/pricing.BigNumberValue/page.mdx)","description":"The minimum quantity required to be purchased for this price to be applied.","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"numeric","type":"`number`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"raw","type":"[BigNumberRawValue](../../pricing/types/pricing.BigNumberRawValue/page.mdx)","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"bigNumber","type":"`BigNumber`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"max_quantity","type":"[BigNumberValue](../../pricing/types/pricing.BigNumberValue/page.mdx)","description":"The maximum quantity required to be purchased for this price to be applied.","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"numeric","type":"`number`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"raw","type":"[BigNumberRawValue](../../pricing/types/pricing.BigNumberRawValue/page.mdx)","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"bigNumber","type":"`BigNumber`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"rules_count","type":"`number`","description":"The number of rules that apply to this price","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"price_rules","type":"[PriceRuleDTO](../../pricing/interfaces/pricing.PriceRuleDTO/page.mdx)[]","description":"The price rules that apply to this price","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"id","type":"`string`","description":"The ID of the price rule.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"price_set_id","type":"`string`","description":"The ID of the associated price set.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"price_set","type":"[PriceSetDTO](../../pricing/interfaces/pricing.PriceSetDTO/page.mdx)","description":"The associated price set.","optional":false,"defaultValue":"","expandable":true,"children":[]},{"name":"attribute","type":"`string`","description":"The attribute of the price rule","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"value","type":"`string`","description":"The value of the price rule.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"priority","type":"`number`","description":"The priority of the price rule in comparison to other applicable price rules.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"price_id","type":"`string`","description":"The ID of the associated price.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"price_list_id","type":"`string`","description":"The ID of the associated price list.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"created_at","type":"`Date`","description":"When the price\\_rule was created.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"updated_at","type":"`Date`","description":"When the price\\_rule was updated.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"deleted_at","type":"`null` \\| `Date`","description":"When the price\\_rule was deleted.","optional":false,"defaultValue":"","expandable":false,"children":[]}]}]},{"name":"prices","type":"[MoneyAmountDTO](../../pricing/interfaces/pricing.MoneyAmountDTO/page.mdx)[]","description":"","optional":false,"defaultValue":"","expandable":false,"children":[{"name":"id","type":"`string`","description":"The ID of the money amount.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"created_at","type":"`Date`","description":"When the money\\_amount was created.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"updated_at","type":"`Date`","description":"When the money\\_amount was updated.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"deleted_at","type":"`null` \\| `Date`","description":"When the money\\_amount was deleted.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"currency_code","type":"`string`","description":"The currency code of this money amount.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"amount","type":"[BigNumberValue](../../pricing/types/pricing.BigNumberValue/page.mdx)","description":"The price of this money amount.","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"numeric","type":"`number`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"raw","type":"[BigNumberRawValue](../../pricing/types/pricing.BigNumberRawValue/page.mdx)","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"bigNumber","type":"`BigNumber`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"min_quantity","type":"[BigNumberValue](../../pricing/types/pricing.BigNumberValue/page.mdx)","description":"The minimum quantity required to be purchased for this price to be applied.","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"numeric","type":"`number`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"raw","type":"[BigNumberRawValue](../../pricing/types/pricing.BigNumberRawValue/page.mdx)","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"bigNumber","type":"`BigNumber`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"max_quantity","type":"[BigNumberValue](../../pricing/types/pricing.BigNumberValue/page.mdx)","description":"The maximum quantity required to be purchased for this price to be applied.","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"numeric","type":"`number`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"raw","type":"[BigNumberRawValue](../../pricing/types/pricing.BigNumberRawValue/page.mdx)","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"bigNumber","type":"`BigNumber`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"rules_count","type":"`number`","description":"The number of rules that apply to this price","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"price_rules","type":"[PriceRuleDTO](../../pricing/interfaces/pricing.PriceRuleDTO/page.mdx)[]","description":"The price rules that apply to this price","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"id","type":"`string`","description":"The ID of the price rule.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"price_set_id","type":"`string`","description":"The ID of the associated price set.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"price_set","type":"[PriceSetDTO](../../pricing/interfaces/pricing.PriceSetDTO/page.mdx)","description":"The associated price set.","optional":false,"defaultValue":"","expandable":true,"children":[]},{"name":"attribute","type":"`string`","description":"The attribute of the price rule","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"value","type":"`string`","description":"The value of the price rule.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"priority","type":"`number`","description":"The priority of the price rule in comparison to other applicable price rules.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"price_id","type":"`string`","description":"The ID of the associated price.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"price_list_id","type":"`string`","description":"The ID of the associated price list.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"created_at","type":"`Date`","description":"When the price\\_rule was created.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"updated_at","type":"`Date`","description":"When the price\\_rule was updated.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"deleted_at","type":"`null` \\| `Date`","description":"When the price\\_rule was deleted.","optional":false,"defaultValue":"","expandable":false,"children":[]}]}]},{"name":"product_variants","type":"`object`[]","description":"","optional":false,"defaultValue":"","expandable":false,"children":[{"name":"prices","type":"[MoneyAmountDTO](../../pricing/interfaces/pricing.MoneyAmountDTO/page.mdx)[]","description":"","optional":false,"defaultValue":"","expandable":false,"children":[{"name":"id","type":"`string`","description":"The ID of the money amount.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"created_at","type":"`Date`","description":"When the money\\_amount was created.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"updated_at","type":"`Date`","description":"When the money\\_amount was updated.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"deleted_at","type":"`null` \\| `Date`","description":"When the money\\_amount was deleted.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"currency_code","type":"`string`","description":"The currency code of this money amount.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"amount","type":"[BigNumberValue](../../pricing/types/pricing.BigNumberValue/page.mdx)","description":"The price of this money amount.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"min_quantity","type":"[BigNumberValue](../../pricing/types/pricing.BigNumberValue/page.mdx)","description":"The minimum quantity required to be purchased for this price to be applied.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"max_quantity","type":"[BigNumberValue](../../pricing/types/pricing.BigNumberValue/page.mdx)","description":"The maximum quantity required to be purchased for this price to be applied.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"rules_count","type":"`number`","description":"The number of rules that apply to this price","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"price_rules","type":"[PriceRuleDTO](../../pricing/interfaces/pricing.PriceRuleDTO/page.mdx)[]","description":"The price rules that apply to this price","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"id","type":"`string`","description":"The ID of the product variant.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"title","type":"`string`","description":"The tile of the product variant.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"sku","type":"`null` \\| `string`","description":"The SKU of the product variant.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"barcode","type":"`null` \\| `string`","description":"The barcode of the product variant.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"ean","type":"`null` \\| `string`","description":"The EAN of the product variant.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"upc","type":"`null` \\| `string`","description":"The UPC of the product variant.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"allow_backorder","type":"`boolean`","description":"Whether the product variant can be ordered when it's out of stock.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"manage_inventory","type":"`boolean`","description":"Whether the product variant's inventory should be managed by the core system.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"requires_shipping","type":"`boolean`","description":"Whether the product variant's requires shipping.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"hs_code","type":"`null` \\| `string`","description":"The HS Code of the product variant.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"origin_country","type":"`null` \\| `string`","description":"The origin country of the product variant.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"mid_code","type":"`null` \\| `string`","description":"The MID Code of the product variant.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"material","type":"`null` \\| `string`","description":"The material of the product variant.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"weight","type":"`null` \\| `number`","description":"The weight of the product variant.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"length","type":"`null` \\| `number`","description":"The length of the product variant.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"height","type":"`null` \\| `number`","description":"The height of the product variant.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"width","type":"`null` \\| `number`","description":"The width of the product variant.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"options","type":"[ProductOptionValueDTO](../../product/interfaces/product.ProductOptionValueDTO/page.mdx)[]","description":"The associated product options.","optional":false,"defaultValue":"","expandable":true,"children":[{"name":"id","type":"`string`","description":"The ID of the product option value.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"value","type":"`string`","description":"The value of the product option value.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"created_at","type":"`string` \\| `Date`","description":"When the product option value was created.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"updated_at","type":"`string` \\| `Date`","description":"When the product option value was updated.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"option","type":"`null` \\| [ProductOptionDTO](../../product/interfaces/product.ProductOptionDTO/page.mdx)","description":"The associated product option. It may only be available if the `option` relation is expanded.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"option_id","type":"`null` \\| `string`","description":"The associated product option id.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"metadata","type":"[MetadataType](../../product/types/product.MetadataType/page.mdx)","description":"Holds custom data in key-value pairs.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"deleted_at","type":"`string` \\| `Date`","description":"When the product option value was deleted.","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"metadata","type":"`null` \\| `Record`","description":"Holds custom data in key-value pairs.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"product_id","type":"`null` \\| `string`","description":"The associated product id.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"created_at","type":"`string` \\| `Date`","description":"When the product variant was created.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"updated_at","type":"`string` \\| `Date`","description":"When the product variant was updated.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"deleted_at","type":"`string` \\| `Date`","description":"When the product variant was deleted.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"product","type":"`null` \\| [ProductDTO](../../product/interfaces/product.ProductDTO/page.mdx)","description":"The associated product.","optional":true,"defaultValue":"","expandable":true,"children":[{"name":"id","type":"`string`","description":"The ID of the product.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"title","type":"`string`","description":"The title of the product.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"handle","type":"`string`","description":"The handle of the product. The handle can be used to create slug URL paths.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"subtitle","type":"`null` \\| `string`","description":"The subttle of the product.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"description","type":"`null` \\| `string`","description":"The description of the product.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"is_giftcard","type":"`boolean`","description":"Whether the product is a gift card.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"status","type":"[ProductStatus](../../product/types/product.ProductStatus/page.mdx)","description":"The status of the product.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"thumbnail","type":"`null` \\| `string`","description":"The URL of the product's thumbnail.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"width","type":"`null` \\| `number`","description":"The width of the product.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"weight","type":"`null` \\| `number`","description":"The weight of the product.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"length","type":"`null` \\| `number`","description":"The length of the product.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"height","type":"`null` \\| `number`","description":"The height of the product.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"origin_country","type":"`null` \\| `string`","description":"The origin country of the product.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"hs_code","type":"`null` \\| `string`","description":"The HS Code of the product.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"mid_code","type":"`null` \\| `string`","description":"The MID Code of the product.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"material","type":"`null` \\| `string`","description":"The material of the product.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"collection","type":"`null` \\| [ProductCollectionDTO](../../product/interfaces/product.ProductCollectionDTO/page.mdx)","description":"The associated product collection.","optional":false,"defaultValue":"","expandable":true,"children":[]},{"name":"collection_id","type":"`null` \\| `string`","description":"The associated product collection id.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"type","type":"`null` \\| [ProductTypeDTO](../../product/interfaces/product.ProductTypeDTO/page.mdx)","description":"The associated product type.","optional":false,"defaultValue":"","expandable":true,"children":[]},{"name":"type_id","type":"`null` \\| `string`","description":"The associated product type id.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"tags","type":"[ProductTagDTO](../../product/interfaces/product.ProductTagDTO/page.mdx)[]","description":"The associated product tags.","optional":false,"defaultValue":"","expandable":true,"children":[]},{"name":"variants","type":"[ProductVariantDTO](../../product/interfaces/product.ProductVariantDTO/page.mdx)[]","description":"The associated product variants.","optional":false,"defaultValue":"","expandable":true,"children":[]},{"name":"options","type":"[ProductOptionDTO](../../product/interfaces/product.ProductOptionDTO/page.mdx)[]","description":"The associated product options.","optional":false,"defaultValue":"","expandable":true,"children":[]},{"name":"images","type":"[ProductImageDTO](../../product/interfaces/product.ProductImageDTO/page.mdx)[]","description":"The associated product images.","optional":false,"defaultValue":"","expandable":true,"children":[]},{"name":"external_id","type":"`null` \\| `string`","description":"The ID of the product in an external system. This is useful if you're integrating the product with a third-party service and want to maintain\na reference to the ID in the integrated service.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"created_at","type":"`string` \\| `Date`","description":"When the product was created.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"updated_at","type":"`string` \\| `Date`","description":"When the product was updated.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"deleted_at","type":"`string` \\| `Date`","description":"When the product was deleted.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"categories","type":"`null` \\| [ProductCategoryDTO](../../product/interfaces/product.ProductCategoryDTO/page.mdx)[]","description":"The associated product categories.","optional":true,"defaultValue":"","expandable":true,"children":[]},{"name":"discountable","type":"`boolean`","description":"Whether the product can be discounted.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"metadata","type":"[MetadataType](../../product/types/product.MetadataType/page.mdx)","description":"Holds custom data in key-value pairs.","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"variant_rank","type":"`null` \\| `number`","description":"he ranking of the variant among other variants associated with the product.","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"additional_data","type":"`Record | undefined`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"products","type":"[CreateProductWorkflowInputDTO](../../types/types/types.CreateProductWorkflowInputDTO/page.mdx)[]","description":"","optional":false,"defaultValue":"","expandable":false,"children":[{"name":"sales_channels","type":"`object`[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"id","type":"`string`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]}]},{"name":"variants","type":"[CreateProductVariantWorkflowInputDTO](../../types/types/types.CreateProductVariantWorkflowInputDTO/page.mdx)[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"title","type":"`string`","description":"The tile of the product variant.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"product_id","type":"`string`","description":"The id of the product","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"sku","type":"`string`","description":"The SKU of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"barcode","type":"`string`","description":"The barcode of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"ean","type":"`string`","description":"The EAN of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"upc","type":"`string`","description":"The UPC of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"allow_backorder","type":"`boolean`","description":"Whether the product variant can be ordered when it's out of stock.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"manage_inventory","type":"`boolean`","description":"Whether the product variant's inventory should be managed by the core system.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"hs_code","type":"`string`","description":"The HS Code of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"origin_country","type":"`string`","description":"The origin country of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"mid_code","type":"`string`","description":"The MID Code of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"material","type":"`string`","description":"The material of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"weight","type":"`number`","description":"The weight of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"length","type":"`number`","description":"The length of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"height","type":"`number`","description":"The height of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"width","type":"`number`","description":"The width of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"options","type":"`Record`","description":"The options of the variant. Each key is an option's title, and value\nis an option's value. If an option with the specified title doesn't exist,\na new one is created.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"metadata","type":"[MetadataType](../../product/types/product.MetadataType/page.mdx)","description":"Holds custom data in key-value pairs.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"prices","type":"[CreateMoneyAmountDTO](../../pricing/interfaces/pricing.CreateMoneyAmountDTO/page.mdx)[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]}]}]},{"name":"products","type":"[ProductDTO](../../product/interfaces/product.ProductDTO/page.mdx)[]","description":"","optional":false,"defaultValue":"","expandable":false,"children":[{"name":"id","type":"`string`","description":"The ID of the product.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"title","type":"`string`","description":"The title of the product.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"handle","type":"`string`","description":"The handle of the product. The handle can be used to create slug URL paths.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"subtitle","type":"`null` \\| `string`","description":"The subttle of the product.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"description","type":"`null` \\| `string`","description":"The description of the product.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"is_giftcard","type":"`boolean`","description":"Whether the product is a gift card.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"status","type":"[ProductStatus](../../product/types/product.ProductStatus/page.mdx)","description":"The status of the product.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"thumbnail","type":"`null` \\| `string`","description":"The URL of the product's thumbnail.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"width","type":"`null` \\| `number`","description":"The width of the product.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"weight","type":"`null` \\| `number`","description":"The weight of the product.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"length","type":"`null` \\| `number`","description":"The length of the product.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"height","type":"`null` \\| `number`","description":"The height of the product.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"origin_country","type":"`null` \\| `string`","description":"The origin country of the product.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"hs_code","type":"`null` \\| `string`","description":"The HS Code of the product.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"mid_code","type":"`null` \\| `string`","description":"The MID Code of the product.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"material","type":"`null` \\| `string`","description":"The material of the product.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"collection","type":"`null` \\| [ProductCollectionDTO](../../product/interfaces/product.ProductCollectionDTO/page.mdx)","description":"The associated product collection.","optional":false,"defaultValue":"","expandable":true,"children":[{"name":"id","type":"`string`","description":"The ID of the product collection.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"title","type":"`string`","description":"The title of the product collection.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"handle","type":"`string`","description":"The handle of the product collection. The handle can be used to create slug URL paths.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"created_at","type":"`string` \\| `Date`","description":"When the product collection was created.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"updated_at","type":"`string` \\| `Date`","description":"When the product collection was updated.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"metadata","type":"[MetadataType](../../product/types/product.MetadataType/page.mdx)","description":"Holds custom data in key-value pairs.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"deleted_at","type":"`string` \\| `Date`","description":"When the product collection was deleted.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"products","type":"[ProductDTO](../../product/interfaces/product.ProductDTO/page.mdx)[]","description":"The associated products.","optional":true,"defaultValue":"","expandable":true,"children":[]}]},{"name":"collection_id","type":"`null` \\| `string`","description":"The associated product collection id.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"type","type":"`null` \\| [ProductTypeDTO](../../product/interfaces/product.ProductTypeDTO/page.mdx)","description":"The associated product type.","optional":false,"defaultValue":"","expandable":true,"children":[{"name":"id","type":"`string`","description":"The ID of the product type.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"value","type":"`string`","description":"The value of the product type.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"created_at","type":"`string` \\| `Date`","description":"When the product type was created.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"updated_at","type":"`string` \\| `Date`","description":"When the product type was updated.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"metadata","type":"[MetadataType](../../product/types/product.MetadataType/page.mdx)","description":"Holds custom data in key-value pairs.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"deleted_at","type":"`string` \\| `Date`","description":"When the product type was deleted.","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"type_id","type":"`null` \\| `string`","description":"The associated product type id.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"tags","type":"[ProductTagDTO](../../product/interfaces/product.ProductTagDTO/page.mdx)[]","description":"The associated product tags.","optional":false,"defaultValue":"","expandable":true,"children":[{"name":"id","type":"`string`","description":"The ID of the product tag.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"value","type":"`string`","description":"The value of the product tag.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"metadata","type":"[MetadataType](../../product/types/product.MetadataType/page.mdx)","description":"Holds custom data in key-value pairs.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"products","type":"[ProductDTO](../../product/interfaces/product.ProductDTO/page.mdx)[]","description":"The associated products.","optional":true,"defaultValue":"","expandable":true,"children":[]}]},{"name":"variants","type":"[ProductVariantDTO](../../product/interfaces/product.ProductVariantDTO/page.mdx)[]","description":"The associated product variants.","optional":false,"defaultValue":"","expandable":true,"children":[{"name":"id","type":"`string`","description":"The ID of the product variant.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"title","type":"`string`","description":"The tile of the product variant.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"sku","type":"`null` \\| `string`","description":"The SKU of the product variant.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"barcode","type":"`null` \\| `string`","description":"The barcode of the product variant.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"ean","type":"`null` \\| `string`","description":"The EAN of the product variant.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"upc","type":"`null` \\| `string`","description":"The UPC of the product variant.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"allow_backorder","type":"`boolean`","description":"Whether the product variant can be ordered when it's out of stock.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"manage_inventory","type":"`boolean`","description":"Whether the product variant's inventory should be managed by the core system.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"requires_shipping","type":"`boolean`","description":"Whether the product variant's requires shipping.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"hs_code","type":"`null` \\| `string`","description":"The HS Code of the product variant.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"origin_country","type":"`null` \\| `string`","description":"The origin country of the product variant.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"mid_code","type":"`null` \\| `string`","description":"The MID Code of the product variant.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"material","type":"`null` \\| `string`","description":"The material of the product variant.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"weight","type":"`null` \\| `number`","description":"The weight of the product variant.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"length","type":"`null` \\| `number`","description":"The length of the product variant.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"height","type":"`null` \\| `number`","description":"The height of the product variant.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"width","type":"`null` \\| `number`","description":"The width of the product variant.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"options","type":"[ProductOptionValueDTO](../../product/interfaces/product.ProductOptionValueDTO/page.mdx)[]","description":"The associated product options.","optional":false,"defaultValue":"","expandable":true,"children":[]},{"name":"metadata","type":"`null` \\| `Record`","description":"Holds custom data in key-value pairs.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"product_id","type":"`null` \\| `string`","description":"The associated product id.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"created_at","type":"`string` \\| `Date`","description":"When the product variant was created.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"updated_at","type":"`string` \\| `Date`","description":"When the product variant was updated.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"deleted_at","type":"`string` \\| `Date`","description":"When the product variant was deleted.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"product","type":"`null` \\| [ProductDTO](../../product/interfaces/product.ProductDTO/page.mdx)","description":"The associated product.","optional":true,"defaultValue":"","expandable":true,"children":[]},{"name":"variant_rank","type":"`null` \\| `number`","description":"he ranking of the variant among other variants associated with the product.","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"options","type":"[ProductOptionDTO](../../product/interfaces/product.ProductOptionDTO/page.mdx)[]","description":"The associated product options.","optional":false,"defaultValue":"","expandable":true,"children":[{"name":"id","type":"`string`","description":"The ID of the product option.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"title","type":"`string`","description":"The title of the product option.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"values","type":"[ProductOptionValueDTO](../../product/interfaces/product.ProductOptionValueDTO/page.mdx)[]","description":"The associated product option values.","optional":false,"defaultValue":"","expandable":true,"children":[]},{"name":"created_at","type":"`string` \\| `Date`","description":"When the product option was created.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"updated_at","type":"`string` \\| `Date`","description":"When the product option was updated.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"product","type":"`null` \\| [ProductDTO](../../product/interfaces/product.ProductDTO/page.mdx)","description":"The associated product.","optional":true,"defaultValue":"","expandable":true,"children":[]},{"name":"product_id","type":"`null` \\| `string`","description":"The associated product id.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"metadata","type":"[MetadataType](../../product/types/product.MetadataType/page.mdx)","description":"Holds custom data in key-value pairs.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"deleted_at","type":"`string` \\| `Date`","description":"When the product option was deleted.","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"images","type":"[ProductImageDTO](../../product/interfaces/product.ProductImageDTO/page.mdx)[]","description":"The associated product images.","optional":false,"defaultValue":"","expandable":true,"children":[{"name":"id","type":"`string`","description":"The ID of the product image.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"url","type":"`string`","description":"The URL of the product image.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"created_at","type":"`string` \\| `Date`","description":"When the product image was created.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"updated_at","type":"`string` \\| `Date`","description":"When the product image was updated.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"metadata","type":"[MetadataType](../../product/types/product.MetadataType/page.mdx)","description":"Holds custom data in key-value pairs.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"deleted_at","type":"`string` \\| `Date`","description":"When the product image was deleted.","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"external_id","type":"`null` \\| `string`","description":"The ID of the product in an external system. This is useful if you're integrating the product with a third-party service and want to maintain\na reference to the ID in the integrated service.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"created_at","type":"`string` \\| `Date`","description":"When the product was created.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"updated_at","type":"`string` \\| `Date`","description":"When the product was updated.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"deleted_at","type":"`string` \\| `Date`","description":"When the product was deleted.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"categories","type":"`null` \\| [ProductCategoryDTO](../../product/interfaces/product.ProductCategoryDTO/page.mdx)[]","description":"The associated product categories.","optional":true,"defaultValue":"","expandable":true,"children":[{"name":"id","type":"`string`","description":"The ID of the product category.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"name","type":"`string`","description":"The name of the product category.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"description","type":"`string`","description":"The description of the product category.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"handle","type":"`string`","description":"The handle of the product category. The handle can be used to create slug URL paths.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"is_active","type":"`boolean`","description":"Whether the product category is active.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"is_internal","type":"`boolean`","description":"Whether the product category is internal. This can be used to only show the product category to admins and hide it from customers.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"rank","type":"`number`","description":"The ranking of the product category among sibling categories.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"parent_category","type":"`null` \\| [ProductCategoryDTO](../../product/interfaces/product.ProductCategoryDTO/page.mdx)","description":"The associated parent category.","optional":false,"defaultValue":"","expandable":true,"children":[]},{"name":"parent_category_id","type":"`null` \\| `string`","description":"The associated parent category id.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"category_children","type":"[ProductCategoryDTO](../../product/interfaces/product.ProductCategoryDTO/page.mdx)[]","description":"The associated child categories.","optional":false,"defaultValue":"","expandable":true,"children":[]},{"name":"products","type":"[ProductDTO](../../product/interfaces/product.ProductDTO/page.mdx)[]","description":"The associated products.","optional":false,"defaultValue":"","expandable":true,"children":[]},{"name":"created_at","type":"`string` \\| `Date`","description":"When the product category was created.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"updated_at","type":"`string` \\| `Date`","description":"When the product category was updated.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"metadata","type":"[MetadataType](../../product/types/product.MetadataType/page.mdx)","description":"The ranking of the product category among sibling categories.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"deleted_at","type":"`string` \\| `Date`","description":"When the product category was deleted.","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"discountable","type":"`boolean`","description":"Whether the product can be discounted.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"metadata","type":"[MetadataType](../../product/types/product.MetadataType/page.mdx)","description":"Holds custom data in key-value pairs.","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"additional_data","type":"`Record | undefined`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"ids","type":"`string`[]","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"ids","type":"`string`[]","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"ids","type":"`string`[]","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"ids","type":"`string`[]","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"ids","type":"`string`[]","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"ids","type":"`string`[]","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"ids","type":"`string`[]","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"ids","type":"`string`[]","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"ids","type":"`string`[]","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"ids","type":"`string`[]","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"ids","type":"`string`[]","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"ids","type":"`string`[]","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"selector","type":"[FilterableProductCollectionProps](../../product/interfaces/product.FilterableProductCollectionProps/page.mdx)","description":"","optional":false,"defaultValue":"","expandable":false,"children":[{"name":"$and","type":"([FilterableProductCollectionProps](../../product/interfaces/product.FilterableProductCollectionProps/page.mdx) \\| [BaseFilterable](../../product/interfaces/product.BaseFilterable/page.mdx)<[FilterableProductCollectionProps](../../product/interfaces/product.FilterableProductCollectionProps/page.mdx)>)[]","description":"An array of filters to apply on the entity, where each item in the array is joined with an \"and\" condition.","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"$and","type":"([FilterableProductCollectionProps](../../product/interfaces/product.FilterableProductCollectionProps/page.mdx) \\| [BaseFilterable](../../product/interfaces/product.BaseFilterable/page.mdx)<[FilterableProductCollectionProps](../../product/interfaces/product.FilterableProductCollectionProps/page.mdx)>)[]","description":"An array of filters to apply on the entity, where each item in the array is joined with an \"and\" condition.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$or","type":"([FilterableProductCollectionProps](../../product/interfaces/product.FilterableProductCollectionProps/page.mdx) \\| [BaseFilterable](../../product/interfaces/product.BaseFilterable/page.mdx)<[FilterableProductCollectionProps](../../product/interfaces/product.FilterableProductCollectionProps/page.mdx)>)[]","description":"An array of filters to apply on the entity, where each item in the array is joined with an \"or\" condition.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"q","type":"`string`","description":"Search through the collections' titles.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"id","type":"`string` \\| `string`[]","description":"The IDs to filter product collections by.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"handle","type":"`string` \\| `string`[]","description":"The handles to filter product collections by.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"title","type":"`string` \\| `string`[]","description":"The title to filter product collections by.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$and","type":"([BaseFilterable](../../product/interfaces/product.BaseFilterable/page.mdx)<T> \\| T)[]","description":"An array of filters to apply on the entity, where each item in the array is joined with an \"and\" condition.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$or","type":"([BaseFilterable](../../product/interfaces/product.BaseFilterable/page.mdx)<T> \\| T)[]","description":"An array of filters to apply on the entity, where each item in the array is joined with an \"or\" condition.","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"$or","type":"([FilterableProductCollectionProps](../../product/interfaces/product.FilterableProductCollectionProps/page.mdx) \\| [BaseFilterable](../../product/interfaces/product.BaseFilterable/page.mdx)<[FilterableProductCollectionProps](../../product/interfaces/product.FilterableProductCollectionProps/page.mdx)>)[]","description":"An array of filters to apply on the entity, where each item in the array is joined with an \"or\" condition.","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"$and","type":"([FilterableProductCollectionProps](../../product/interfaces/product.FilterableProductCollectionProps/page.mdx) \\| [BaseFilterable](../../product/interfaces/product.BaseFilterable/page.mdx)<[FilterableProductCollectionProps](../../product/interfaces/product.FilterableProductCollectionProps/page.mdx)>)[]","description":"An array of filters to apply on the entity, where each item in the array is joined with an \"and\" condition.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$or","type":"([FilterableProductCollectionProps](../../product/interfaces/product.FilterableProductCollectionProps/page.mdx) \\| [BaseFilterable](../../product/interfaces/product.BaseFilterable/page.mdx)<[FilterableProductCollectionProps](../../product/interfaces/product.FilterableProductCollectionProps/page.mdx)>)[]","description":"An array of filters to apply on the entity, where each item in the array is joined with an \"or\" condition.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"q","type":"`string`","description":"Search through the collections' titles.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"id","type":"`string` \\| `string`[]","description":"The IDs to filter product collections by.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"handle","type":"`string` \\| `string`[]","description":"The handles to filter product collections by.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"title","type":"`string` \\| `string`[]","description":"The title to filter product collections by.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$and","type":"([BaseFilterable](../../product/interfaces/product.BaseFilterable/page.mdx)<T> \\| T)[]","description":"An array of filters to apply on the entity, where each item in the array is joined with an \"and\" condition.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$or","type":"([BaseFilterable](../../product/interfaces/product.BaseFilterable/page.mdx)<T> \\| T)[]","description":"An array of filters to apply on the entity, where each item in the array is joined with an \"or\" condition.","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"q","type":"`string`","description":"Search through the collections' titles.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"id","type":"`string` \\| `string`[]","description":"The IDs to filter product collections by.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"handle","type":"`string` \\| `string`[]","description":"The handles to filter product collections by.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"title","type":"`string` \\| `string`[]","description":"The title to filter product collections by.","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"update","type":"[UpdateProductCollectionDTO](../../product/interfaces/product.UpdateProductCollectionDTO/page.mdx)","description":"","optional":false,"defaultValue":"","expandable":false,"children":[{"name":"value","type":"`string`","description":"The value of the product collection.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"title","type":"`string`","description":"The title of the product collection.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"handle","type":"`string`","description":"The handle of the product collection.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"product_ids","type":"`string`[]","description":"The IDs of the products to associate with the product collection.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"metadata","type":"[MetadataType](../../product/types/product.MetadataType/page.mdx)","description":"Holds custom data in key-value pairs.","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"additional_data","type":"`Record | undefined`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"collections","type":"[ProductCollectionDTO](../../product/interfaces/product.ProductCollectionDTO/page.mdx)[]","description":"","optional":false,"defaultValue":"","expandable":false,"children":[{"name":"id","type":"`string`","description":"The ID of the product collection.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"title","type":"`string`","description":"The title of the product collection.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"handle","type":"`string`","description":"The handle of the product collection. The handle can be used to create slug URL paths.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"created_at","type":"`string` \\| `Date`","description":"When the product collection was created.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"updated_at","type":"`string` \\| `Date`","description":"When the product collection was updated.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"metadata","type":"[MetadataType](../../product/types/product.MetadataType/page.mdx)","description":"Holds custom data in key-value pairs.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"deleted_at","type":"`string` \\| `Date`","description":"When the product collection was deleted.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"products","type":"[ProductDTO](../../product/interfaces/product.ProductDTO/page.mdx)[]","description":"The associated products.","optional":true,"defaultValue":"","expandable":true,"children":[{"name":"id","type":"`string`","description":"The ID of the product.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"title","type":"`string`","description":"The title of the product.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"handle","type":"`string`","description":"The handle of the product. The handle can be used to create slug URL paths.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"subtitle","type":"`null` \\| `string`","description":"The subttle of the product.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"description","type":"`null` \\| `string`","description":"The description of the product.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"is_giftcard","type":"`boolean`","description":"Whether the product is a gift card.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"status","type":"[ProductStatus](../../product/types/product.ProductStatus/page.mdx)","description":"The status of the product.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"thumbnail","type":"`null` \\| `string`","description":"The URL of the product's thumbnail.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"width","type":"`null` \\| `number`","description":"The width of the product.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"weight","type":"`null` \\| `number`","description":"The weight of the product.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"length","type":"`null` \\| `number`","description":"The length of the product.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"height","type":"`null` \\| `number`","description":"The height of the product.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"origin_country","type":"`null` \\| `string`","description":"The origin country of the product.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"hs_code","type":"`null` \\| `string`","description":"The HS Code of the product.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"mid_code","type":"`null` \\| `string`","description":"The MID Code of the product.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"material","type":"`null` \\| `string`","description":"The material of the product.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"collection","type":"`null` \\| [ProductCollectionDTO](../../product/interfaces/product.ProductCollectionDTO/page.mdx)","description":"The associated product collection.","optional":false,"defaultValue":"","expandable":true,"children":[]},{"name":"collection_id","type":"`null` \\| `string`","description":"The associated product collection id.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"type","type":"`null` \\| [ProductTypeDTO](../../product/interfaces/product.ProductTypeDTO/page.mdx)","description":"The associated product type.","optional":false,"defaultValue":"","expandable":true,"children":[]},{"name":"type_id","type":"`null` \\| `string`","description":"The associated product type id.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"tags","type":"[ProductTagDTO](../../product/interfaces/product.ProductTagDTO/page.mdx)[]","description":"The associated product tags.","optional":false,"defaultValue":"","expandable":true,"children":[]},{"name":"variants","type":"[ProductVariantDTO](../../product/interfaces/product.ProductVariantDTO/page.mdx)[]","description":"The associated product variants.","optional":false,"defaultValue":"","expandable":true,"children":[]},{"name":"options","type":"[ProductOptionDTO](../../product/interfaces/product.ProductOptionDTO/page.mdx)[]","description":"The associated product options.","optional":false,"defaultValue":"","expandable":true,"children":[]},{"name":"images","type":"[ProductImageDTO](../../product/interfaces/product.ProductImageDTO/page.mdx)[]","description":"The associated product images.","optional":false,"defaultValue":"","expandable":true,"children":[]},{"name":"external_id","type":"`null` \\| `string`","description":"The ID of the product in an external system. This is useful if you're integrating the product with a third-party service and want to maintain\na reference to the ID in the integrated service.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"created_at","type":"`string` \\| `Date`","description":"When the product was created.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"updated_at","type":"`string` \\| `Date`","description":"When the product was updated.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"deleted_at","type":"`string` \\| `Date`","description":"When the product was deleted.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"categories","type":"`null` \\| [ProductCategoryDTO](../../product/interfaces/product.ProductCategoryDTO/page.mdx)[]","description":"The associated product categories.","optional":true,"defaultValue":"","expandable":true,"children":[]},{"name":"discountable","type":"`boolean`","description":"Whether the product can be discounted.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"metadata","type":"[MetadataType](../../product/types/product.MetadataType/page.mdx)","description":"Holds custom data in key-value pairs.","optional":true,"defaultValue":"","expandable":false,"children":[]}]}]},{"name":"selector","type":"[FilterableProductOptionProps](../../product/interfaces/product.FilterableProductOptionProps/page.mdx)","description":"","optional":false,"defaultValue":"","expandable":false,"children":[{"name":"$and","type":"([FilterableProductOptionProps](../../product/interfaces/product.FilterableProductOptionProps/page.mdx) \\| [BaseFilterable](../../product/interfaces/product.BaseFilterable/page.mdx)<[FilterableProductOptionProps](../../product/interfaces/product.FilterableProductOptionProps/page.mdx)>)[]","description":"An array of filters to apply on the entity, where each item in the array is joined with an \"and\" condition.","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"$and","type":"([FilterableProductOptionProps](../../product/interfaces/product.FilterableProductOptionProps/page.mdx) \\| [BaseFilterable](../../product/interfaces/product.BaseFilterable/page.mdx)<[FilterableProductOptionProps](../../product/interfaces/product.FilterableProductOptionProps/page.mdx)>)[]","description":"An array of filters to apply on the entity, where each item in the array is joined with an \"and\" condition.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$or","type":"([FilterableProductOptionProps](../../product/interfaces/product.FilterableProductOptionProps/page.mdx) \\| [BaseFilterable](../../product/interfaces/product.BaseFilterable/page.mdx)<[FilterableProductOptionProps](../../product/interfaces/product.FilterableProductOptionProps/page.mdx)>)[]","description":"An array of filters to apply on the entity, where each item in the array is joined with an \"or\" condition.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"q","type":"`string`","description":"Search through the options' titles.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"id","type":"`string` \\| `string`[]","description":"The IDs to filter product options by.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"title","type":"`string` \\| `string`[]","description":"The titles to filter product options by.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"product_id","type":"`string` \\| `string`[]","description":"Filter the product options by their associated products' IDs.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$and","type":"([BaseFilterable](../../product/interfaces/product.BaseFilterable/page.mdx)<T> \\| T)[]","description":"An array of filters to apply on the entity, where each item in the array is joined with an \"and\" condition.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$or","type":"([BaseFilterable](../../product/interfaces/product.BaseFilterable/page.mdx)<T> \\| T)[]","description":"An array of filters to apply on the entity, where each item in the array is joined with an \"or\" condition.","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"$or","type":"([FilterableProductOptionProps](../../product/interfaces/product.FilterableProductOptionProps/page.mdx) \\| [BaseFilterable](../../product/interfaces/product.BaseFilterable/page.mdx)<[FilterableProductOptionProps](../../product/interfaces/product.FilterableProductOptionProps/page.mdx)>)[]","description":"An array of filters to apply on the entity, where each item in the array is joined with an \"or\" condition.","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"$and","type":"([FilterableProductOptionProps](../../product/interfaces/product.FilterableProductOptionProps/page.mdx) \\| [BaseFilterable](../../product/interfaces/product.BaseFilterable/page.mdx)<[FilterableProductOptionProps](../../product/interfaces/product.FilterableProductOptionProps/page.mdx)>)[]","description":"An array of filters to apply on the entity, where each item in the array is joined with an \"and\" condition.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$or","type":"([FilterableProductOptionProps](../../product/interfaces/product.FilterableProductOptionProps/page.mdx) \\| [BaseFilterable](../../product/interfaces/product.BaseFilterable/page.mdx)<[FilterableProductOptionProps](../../product/interfaces/product.FilterableProductOptionProps/page.mdx)>)[]","description":"An array of filters to apply on the entity, where each item in the array is joined with an \"or\" condition.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"q","type":"`string`","description":"Search through the options' titles.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"id","type":"`string` \\| `string`[]","description":"The IDs to filter product options by.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"title","type":"`string` \\| `string`[]","description":"The titles to filter product options by.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"product_id","type":"`string` \\| `string`[]","description":"Filter the product options by their associated products' IDs.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$and","type":"([BaseFilterable](../../product/interfaces/product.BaseFilterable/page.mdx)<T> \\| T)[]","description":"An array of filters to apply on the entity, where each item in the array is joined with an \"and\" condition.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$or","type":"([BaseFilterable](../../product/interfaces/product.BaseFilterable/page.mdx)<T> \\| T)[]","description":"An array of filters to apply on the entity, where each item in the array is joined with an \"or\" condition.","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"q","type":"`string`","description":"Search through the options' titles.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"id","type":"`string` \\| `string`[]","description":"The IDs to filter product options by.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"title","type":"`string` \\| `string`[]","description":"The titles to filter product options by.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"product_id","type":"`string` \\| `string`[]","description":"Filter the product options by their associated products' IDs.","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"update","type":"[UpdateProductOptionDTO](../../product/interfaces/product.UpdateProductOptionDTO/page.mdx)","description":"","optional":false,"defaultValue":"","expandable":false,"children":[{"name":"title","type":"`string`","description":"The product option's title.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"values","type":"`string`[]","description":"The product option values.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"product_id","type":"`string`","description":"The ID of the associated product.","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"product_options","type":"[ProductOptionDTO](../../product/interfaces/product.ProductOptionDTO/page.mdx)[]","description":"","optional":false,"defaultValue":"","expandable":false,"children":[{"name":"id","type":"`string`","description":"The ID of the product option.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"title","type":"`string`","description":"The title of the product option.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"values","type":"[ProductOptionValueDTO](../../product/interfaces/product.ProductOptionValueDTO/page.mdx)[]","description":"The associated product option values.","optional":false,"defaultValue":"","expandable":true,"children":[{"name":"id","type":"`string`","description":"The ID of the product option value.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"value","type":"`string`","description":"The value of the product option value.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"created_at","type":"`string` \\| `Date`","description":"When the product option value was created.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"updated_at","type":"`string` \\| `Date`","description":"When the product option value was updated.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"option","type":"`null` \\| [ProductOptionDTO](../../product/interfaces/product.ProductOptionDTO/page.mdx)","description":"The associated product option. It may only be available if the `option` relation is expanded.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"option_id","type":"`null` \\| `string`","description":"The associated product option id.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"metadata","type":"[MetadataType](../../product/types/product.MetadataType/page.mdx)","description":"Holds custom data in key-value pairs.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"deleted_at","type":"`string` \\| `Date`","description":"When the product option value was deleted.","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"created_at","type":"`string` \\| `Date`","description":"When the product option was created.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"updated_at","type":"`string` \\| `Date`","description":"When the product option was updated.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"product","type":"`null` \\| [ProductDTO](../../product/interfaces/product.ProductDTO/page.mdx)","description":"The associated product.","optional":true,"defaultValue":"","expandable":true,"children":[{"name":"id","type":"`string`","description":"The ID of the product.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"title","type":"`string`","description":"The title of the product.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"handle","type":"`string`","description":"The handle of the product. The handle can be used to create slug URL paths.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"subtitle","type":"`null` \\| `string`","description":"The subttle of the product.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"description","type":"`null` \\| `string`","description":"The description of the product.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"is_giftcard","type":"`boolean`","description":"Whether the product is a gift card.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"status","type":"[ProductStatus](../../product/types/product.ProductStatus/page.mdx)","description":"The status of the product.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"thumbnail","type":"`null` \\| `string`","description":"The URL of the product's thumbnail.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"width","type":"`null` \\| `number`","description":"The width of the product.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"weight","type":"`null` \\| `number`","description":"The weight of the product.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"length","type":"`null` \\| `number`","description":"The length of the product.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"height","type":"`null` \\| `number`","description":"The height of the product.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"origin_country","type":"`null` \\| `string`","description":"The origin country of the product.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"hs_code","type":"`null` \\| `string`","description":"The HS Code of the product.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"mid_code","type":"`null` \\| `string`","description":"The MID Code of the product.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"material","type":"`null` \\| `string`","description":"The material of the product.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"collection","type":"`null` \\| [ProductCollectionDTO](../../product/interfaces/product.ProductCollectionDTO/page.mdx)","description":"The associated product collection.","optional":false,"defaultValue":"","expandable":true,"children":[]},{"name":"collection_id","type":"`null` \\| `string`","description":"The associated product collection id.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"type","type":"`null` \\| [ProductTypeDTO](../../product/interfaces/product.ProductTypeDTO/page.mdx)","description":"The associated product type.","optional":false,"defaultValue":"","expandable":true,"children":[]},{"name":"type_id","type":"`null` \\| `string`","description":"The associated product type id.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"tags","type":"[ProductTagDTO](../../product/interfaces/product.ProductTagDTO/page.mdx)[]","description":"The associated product tags.","optional":false,"defaultValue":"","expandable":true,"children":[]},{"name":"variants","type":"[ProductVariantDTO](../../product/interfaces/product.ProductVariantDTO/page.mdx)[]","description":"The associated product variants.","optional":false,"defaultValue":"","expandable":true,"children":[]},{"name":"options","type":"[ProductOptionDTO](../../product/interfaces/product.ProductOptionDTO/page.mdx)[]","description":"The associated product options.","optional":false,"defaultValue":"","expandable":true,"children":[]},{"name":"images","type":"[ProductImageDTO](../../product/interfaces/product.ProductImageDTO/page.mdx)[]","description":"The associated product images.","optional":false,"defaultValue":"","expandable":true,"children":[]},{"name":"external_id","type":"`null` \\| `string`","description":"The ID of the product in an external system. This is useful if you're integrating the product with a third-party service and want to maintain\na reference to the ID in the integrated service.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"created_at","type":"`string` \\| `Date`","description":"When the product was created.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"updated_at","type":"`string` \\| `Date`","description":"When the product was updated.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"deleted_at","type":"`string` \\| `Date`","description":"When the product was deleted.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"categories","type":"`null` \\| [ProductCategoryDTO](../../product/interfaces/product.ProductCategoryDTO/page.mdx)[]","description":"The associated product categories.","optional":true,"defaultValue":"","expandable":true,"children":[]},{"name":"discountable","type":"`boolean`","description":"Whether the product can be discounted.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"metadata","type":"[MetadataType](../../product/types/product.MetadataType/page.mdx)","description":"Holds custom data in key-value pairs.","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"product_id","type":"`null` \\| `string`","description":"The associated product id.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"metadata","type":"[MetadataType](../../product/types/product.MetadataType/page.mdx)","description":"Holds custom data in key-value pairs.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"deleted_at","type":"`string` \\| `Date`","description":"When the product option was deleted.","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"additional_data","type":"`Record | undefined`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"selector","type":"[FilterableProductTypeProps](../../product/interfaces/product.FilterableProductTypeProps/page.mdx)","description":"","optional":false,"defaultValue":"","expandable":false,"children":[{"name":"$and","type":"([FilterableProductTypeProps](../../product/interfaces/product.FilterableProductTypeProps/page.mdx) \\| [BaseFilterable](../../product/interfaces/product.BaseFilterable/page.mdx)<[FilterableProductTypeProps](../../product/interfaces/product.FilterableProductTypeProps/page.mdx)>)[]","description":"An array of filters to apply on the entity, where each item in the array is joined with an \"and\" condition.","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"$and","type":"([FilterableProductTypeProps](../../product/interfaces/product.FilterableProductTypeProps/page.mdx) \\| [BaseFilterable](../../product/interfaces/product.BaseFilterable/page.mdx)<[FilterableProductTypeProps](../../product/interfaces/product.FilterableProductTypeProps/page.mdx)>)[]","description":"An array of filters to apply on the entity, where each item in the array is joined with an \"and\" condition.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$or","type":"([FilterableProductTypeProps](../../product/interfaces/product.FilterableProductTypeProps/page.mdx) \\| [BaseFilterable](../../product/interfaces/product.BaseFilterable/page.mdx)<[FilterableProductTypeProps](../../product/interfaces/product.FilterableProductTypeProps/page.mdx)>)[]","description":"An array of filters to apply on the entity, where each item in the array is joined with an \"or\" condition.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"q","type":"`string`","description":"Search through the types' values.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"id","type":"`string` \\| `string`[]","description":"The IDs to filter product types by.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"value","type":"`string`","description":"The value to filter product types by.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$and","type":"([BaseFilterable](../../product/interfaces/product.BaseFilterable/page.mdx)<T> \\| T)[]","description":"An array of filters to apply on the entity, where each item in the array is joined with an \"and\" condition.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$or","type":"([BaseFilterable](../../product/interfaces/product.BaseFilterable/page.mdx)<T> \\| T)[]","description":"An array of filters to apply on the entity, where each item in the array is joined with an \"or\" condition.","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"$or","type":"([FilterableProductTypeProps](../../product/interfaces/product.FilterableProductTypeProps/page.mdx) \\| [BaseFilterable](../../product/interfaces/product.BaseFilterable/page.mdx)<[FilterableProductTypeProps](../../product/interfaces/product.FilterableProductTypeProps/page.mdx)>)[]","description":"An array of filters to apply on the entity, where each item in the array is joined with an \"or\" condition.","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"$and","type":"([FilterableProductTypeProps](../../product/interfaces/product.FilterableProductTypeProps/page.mdx) \\| [BaseFilterable](../../product/interfaces/product.BaseFilterable/page.mdx)<[FilterableProductTypeProps](../../product/interfaces/product.FilterableProductTypeProps/page.mdx)>)[]","description":"An array of filters to apply on the entity, where each item in the array is joined with an \"and\" condition.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$or","type":"([FilterableProductTypeProps](../../product/interfaces/product.FilterableProductTypeProps/page.mdx) \\| [BaseFilterable](../../product/interfaces/product.BaseFilterable/page.mdx)<[FilterableProductTypeProps](../../product/interfaces/product.FilterableProductTypeProps/page.mdx)>)[]","description":"An array of filters to apply on the entity, where each item in the array is joined with an \"or\" condition.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"q","type":"`string`","description":"Search through the types' values.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"id","type":"`string` \\| `string`[]","description":"The IDs to filter product types by.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"value","type":"`string`","description":"The value to filter product types by.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$and","type":"([BaseFilterable](../../product/interfaces/product.BaseFilterable/page.mdx)<T> \\| T)[]","description":"An array of filters to apply on the entity, where each item in the array is joined with an \"and\" condition.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$or","type":"([BaseFilterable](../../product/interfaces/product.BaseFilterable/page.mdx)<T> \\| T)[]","description":"An array of filters to apply on the entity, where each item in the array is joined with an \"or\" condition.","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"q","type":"`string`","description":"Search through the types' values.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"id","type":"`string` \\| `string`[]","description":"The IDs to filter product types by.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"value","type":"`string`","description":"The value to filter product types by.","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"update","type":"[UpdateProductTypeDTO](../../product/interfaces/product.UpdateProductTypeDTO/page.mdx)","description":"","optional":false,"defaultValue":"","expandable":false,"children":[{"name":"value","type":"`string`","description":"The new value of the product type.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"metadata","type":"[MetadataType](../../product/types/product.MetadataType/page.mdx)","description":"Holds custom data in key-value pairs.","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"product_tags","type":"[ProductTagDTO](../../product/interfaces/product.ProductTagDTO/page.mdx)[]","description":"","optional":false,"defaultValue":"","expandable":false,"children":[{"name":"id","type":"`string`","description":"The ID of the product tag.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"value","type":"`string`","description":"The value of the product tag.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"metadata","type":"[MetadataType](../../product/types/product.MetadataType/page.mdx)","description":"Holds custom data in key-value pairs.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"products","type":"[ProductDTO](../../product/interfaces/product.ProductDTO/page.mdx)[]","description":"The associated products.","optional":true,"defaultValue":"","expandable":true,"children":[{"name":"id","type":"`string`","description":"The ID of the product.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"title","type":"`string`","description":"The title of the product.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"handle","type":"`string`","description":"The handle of the product. The handle can be used to create slug URL paths.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"subtitle","type":"`null` \\| `string`","description":"The subttle of the product.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"description","type":"`null` \\| `string`","description":"The description of the product.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"is_giftcard","type":"`boolean`","description":"Whether the product is a gift card.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"status","type":"[ProductStatus](../../product/types/product.ProductStatus/page.mdx)","description":"The status of the product.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"thumbnail","type":"`null` \\| `string`","description":"The URL of the product's thumbnail.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"width","type":"`null` \\| `number`","description":"The width of the product.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"weight","type":"`null` \\| `number`","description":"The weight of the product.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"length","type":"`null` \\| `number`","description":"The length of the product.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"height","type":"`null` \\| `number`","description":"The height of the product.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"origin_country","type":"`null` \\| `string`","description":"The origin country of the product.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"hs_code","type":"`null` \\| `string`","description":"The HS Code of the product.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"mid_code","type":"`null` \\| `string`","description":"The MID Code of the product.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"material","type":"`null` \\| `string`","description":"The material of the product.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"collection","type":"`null` \\| [ProductCollectionDTO](../../product/interfaces/product.ProductCollectionDTO/page.mdx)","description":"The associated product collection.","optional":false,"defaultValue":"","expandable":true,"children":[]},{"name":"collection_id","type":"`null` \\| `string`","description":"The associated product collection id.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"type","type":"`null` \\| [ProductTypeDTO](../../product/interfaces/product.ProductTypeDTO/page.mdx)","description":"The associated product type.","optional":false,"defaultValue":"","expandable":true,"children":[]},{"name":"type_id","type":"`null` \\| `string`","description":"The associated product type id.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"tags","type":"[ProductTagDTO](../../product/interfaces/product.ProductTagDTO/page.mdx)[]","description":"The associated product tags.","optional":false,"defaultValue":"","expandable":true,"children":[]},{"name":"variants","type":"[ProductVariantDTO](../../product/interfaces/product.ProductVariantDTO/page.mdx)[]","description":"The associated product variants.","optional":false,"defaultValue":"","expandable":true,"children":[]},{"name":"options","type":"[ProductOptionDTO](../../product/interfaces/product.ProductOptionDTO/page.mdx)[]","description":"The associated product options.","optional":false,"defaultValue":"","expandable":true,"children":[]},{"name":"images","type":"[ProductImageDTO](../../product/interfaces/product.ProductImageDTO/page.mdx)[]","description":"The associated product images.","optional":false,"defaultValue":"","expandable":true,"children":[]},{"name":"external_id","type":"`null` \\| `string`","description":"The ID of the product in an external system. This is useful if you're integrating the product with a third-party service and want to maintain\na reference to the ID in the integrated service.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"created_at","type":"`string` \\| `Date`","description":"When the product was created.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"updated_at","type":"`string` \\| `Date`","description":"When the product was updated.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"deleted_at","type":"`string` \\| `Date`","description":"When the product was deleted.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"categories","type":"`null` \\| [ProductCategoryDTO](../../product/interfaces/product.ProductCategoryDTO/page.mdx)[]","description":"The associated product categories.","optional":true,"defaultValue":"","expandable":true,"children":[]},{"name":"discountable","type":"`boolean`","description":"Whether the product can be discounted.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"metadata","type":"[MetadataType](../../product/types/product.MetadataType/page.mdx)","description":"Holds custom data in key-value pairs.","optional":true,"defaultValue":"","expandable":false,"children":[]}]}]},{"name":"additional_data","type":"`Record | undefined`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"product_types","type":"[ProductTypeDTO](../../product/interfaces/product.ProductTypeDTO/page.mdx)[]","description":"","optional":false,"defaultValue":"","expandable":false,"children":[{"name":"id","type":"`string`","description":"The ID of the product type.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"value","type":"`string`","description":"The value of the product type.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"created_at","type":"`string` \\| `Date`","description":"When the product type was created.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"updated_at","type":"`string` \\| `Date`","description":"When the product type was updated.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"metadata","type":"[MetadataType](../../product/types/product.MetadataType/page.mdx)","description":"Holds custom data in key-value pairs.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"deleted_at","type":"`string` \\| `Date`","description":"When the product type was deleted.","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"additional_data","type":"`Record | undefined`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"selector","type":"[FilterableProductVariantProps](../../product/interfaces/product.FilterableProductVariantProps/page.mdx)","description":"","optional":false,"defaultValue":"","expandable":false,"children":[{"name":"$and","type":"([FilterableProductVariantProps](../../product/interfaces/product.FilterableProductVariantProps/page.mdx) \\| [BaseFilterable](../../product/interfaces/product.BaseFilterable/page.mdx)<[FilterableProductVariantProps](../../product/interfaces/product.FilterableProductVariantProps/page.mdx)>)[]","description":"An array of filters to apply on the entity, where each item in the array is joined with an \"and\" condition.","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"$and","type":"([FilterableProductVariantProps](../../product/interfaces/product.FilterableProductVariantProps/page.mdx) \\| [BaseFilterable](../../product/interfaces/product.BaseFilterable/page.mdx)<[FilterableProductVariantProps](../../product/interfaces/product.FilterableProductVariantProps/page.mdx)>)[]","description":"An array of filters to apply on the entity, where each item in the array is joined with an \"and\" condition.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$or","type":"([FilterableProductVariantProps](../../product/interfaces/product.FilterableProductVariantProps/page.mdx) \\| [BaseFilterable](../../product/interfaces/product.BaseFilterable/page.mdx)<[FilterableProductVariantProps](../../product/interfaces/product.FilterableProductVariantProps/page.mdx)>)[]","description":"An array of filters to apply on the entity, where each item in the array is joined with an \"or\" condition.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"q","type":"`string`","description":"Search through the title and different code attributes on the variant","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"id","type":"`string` \\| `string`[]","description":"The IDs to filter product variants by.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"sku","type":"`string` \\| `string`[]","description":"The SKUs to filter product variants by.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"product_id","type":"`string` \\| `string`[]","description":"Filter the product variants by their associated products' IDs.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"options","type":"`Record`","description":"Filter product variants by their associated options.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$and","type":"([BaseFilterable](../../product/interfaces/product.BaseFilterable/page.mdx)<T> \\| T)[]","description":"An array of filters to apply on the entity, where each item in the array is joined with an \"and\" condition.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$or","type":"([BaseFilterable](../../product/interfaces/product.BaseFilterable/page.mdx)<T> \\| T)[]","description":"An array of filters to apply on the entity, where each item in the array is joined with an \"or\" condition.","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"$or","type":"([FilterableProductVariantProps](../../product/interfaces/product.FilterableProductVariantProps/page.mdx) \\| [BaseFilterable](../../product/interfaces/product.BaseFilterable/page.mdx)<[FilterableProductVariantProps](../../product/interfaces/product.FilterableProductVariantProps/page.mdx)>)[]","description":"An array of filters to apply on the entity, where each item in the array is joined with an \"or\" condition.","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"$and","type":"([FilterableProductVariantProps](../../product/interfaces/product.FilterableProductVariantProps/page.mdx) \\| [BaseFilterable](../../product/interfaces/product.BaseFilterable/page.mdx)<[FilterableProductVariantProps](../../product/interfaces/product.FilterableProductVariantProps/page.mdx)>)[]","description":"An array of filters to apply on the entity, where each item in the array is joined with an \"and\" condition.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$or","type":"([FilterableProductVariantProps](../../product/interfaces/product.FilterableProductVariantProps/page.mdx) \\| [BaseFilterable](../../product/interfaces/product.BaseFilterable/page.mdx)<[FilterableProductVariantProps](../../product/interfaces/product.FilterableProductVariantProps/page.mdx)>)[]","description":"An array of filters to apply on the entity, where each item in the array is joined with an \"or\" condition.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"q","type":"`string`","description":"Search through the title and different code attributes on the variant","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"id","type":"`string` \\| `string`[]","description":"The IDs to filter product variants by.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"sku","type":"`string` \\| `string`[]","description":"The SKUs to filter product variants by.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"product_id","type":"`string` \\| `string`[]","description":"Filter the product variants by their associated products' IDs.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"options","type":"`Record`","description":"Filter product variants by their associated options.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$and","type":"([BaseFilterable](../../product/interfaces/product.BaseFilterable/page.mdx)<T> \\| T)[]","description":"An array of filters to apply on the entity, where each item in the array is joined with an \"and\" condition.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$or","type":"([BaseFilterable](../../product/interfaces/product.BaseFilterable/page.mdx)<T> \\| T)[]","description":"An array of filters to apply on the entity, where each item in the array is joined with an \"or\" condition.","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"q","type":"`string`","description":"Search through the title and different code attributes on the variant","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"id","type":"`string` \\| `string`[]","description":"The IDs to filter product variants by.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"sku","type":"`string` \\| `string`[]","description":"The SKUs to filter product variants by.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"product_id","type":"`string` \\| `string`[]","description":"Filter the product variants by their associated products' IDs.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"options","type":"`Record`","description":"Filter product variants by their associated options.","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"update","type":"[UpdateProductVariantDTO](../../product/interfaces/product.UpdateProductVariantDTO/page.mdx) & `object`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[{"name":"title","type":"`string`","description":"The tile of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"sku","type":"`null` \\| `string`","description":"The SKU of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"barcode","type":"`null` \\| `string`","description":"The barcode of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"ean","type":"`null` \\| `string`","description":"The EAN of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"upc","type":"`null` \\| `string`","description":"The UPC of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"allow_backorder","type":"`boolean`","description":"Whether the product variant can be ordered when it's out of stock.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"manage_inventory","type":"`boolean`","description":"Whether the product variant's inventory should be managed by the core system.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"hs_code","type":"`null` \\| `string`","description":"The HS Code of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"origin_country","type":"`null` \\| `string`","description":"The origin country of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"mid_code","type":"`null` \\| `string`","description":"The MID Code of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"material","type":"`null` \\| `string`","description":"The material of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"weight","type":"`null` \\| `number`","description":"The weight of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"length","type":"`null` \\| `number`","description":"The length of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"height","type":"`null` \\| `number`","description":"The height of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"width","type":"`null` \\| `number`","description":"The width of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"options","type":"`Record`","description":"The product variant options to associate with the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"metadata","type":"[MetadataType](../../product/types/product.MetadataType/page.mdx)","description":"Holds custom data in key-value pairs.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"prices","type":"Partial<[CreateMoneyAmountDTO](../../pricing/interfaces/pricing.CreateMoneyAmountDTO/page.mdx)>[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"currency_code","type":"`string`","description":"The currency code of this money amount.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"amount","type":"[BigNumberInput](../../pricing/types/pricing.BigNumberInput/page.mdx)","description":"The amount of this money amount.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"id","type":"`string`","description":"The ID of the money amount.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"min_quantity","type":"`null` \\| [BigNumberInput](../../pricing/types/pricing.BigNumberInput/page.mdx)","description":"The minimum quantity required to be purchased for this money amount to be applied.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"max_quantity","type":"`null` \\| [BigNumberInput](../../pricing/types/pricing.BigNumberInput/page.mdx)","description":"The maximum quantity required to be purchased for this money amount to be applied.","optional":true,"defaultValue":"","expandable":false,"children":[]}]}]},{"name":"product_variants","type":"[UpsertProductVariantDTO](../../product/interfaces/product.UpsertProductVariantDTO/page.mdx) & `object`[]","description":"","optional":false,"defaultValue":"","expandable":false,"children":[{"name":"id","type":"`string`","description":"The ID of the product variant to update.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"title","type":"`string`","description":"The tile of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"sku","type":"`null` \\| `string`","description":"The SKU of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"barcode","type":"`null` \\| `string`","description":"The barcode of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"ean","type":"`null` \\| `string`","description":"The EAN of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"upc","type":"`null` \\| `string`","description":"The UPC of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"allow_backorder","type":"`boolean`","description":"Whether the product variant can be ordered when it's out of stock.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"manage_inventory","type":"`boolean`","description":"Whether the product variant's inventory should be managed by the core system.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"hs_code","type":"`null` \\| `string`","description":"The HS Code of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"origin_country","type":"`null` \\| `string`","description":"The origin country of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"mid_code","type":"`null` \\| `string`","description":"The MID Code of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"material","type":"`null` \\| `string`","description":"The material of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"weight","type":"`null` \\| `number`","description":"The weight of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"length","type":"`null` \\| `number`","description":"The length of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"height","type":"`null` \\| `number`","description":"The height of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"width","type":"`null` \\| `number`","description":"The width of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"options","type":"`Record`","description":"The product variant options to associate with the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"metadata","type":"[MetadataType](../../product/types/product.MetadataType/page.mdx)","description":"Holds custom data in key-value pairs.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"prices","type":"Partial<[CreateMoneyAmountDTO](../../pricing/interfaces/pricing.CreateMoneyAmountDTO/page.mdx)>[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"currency_code","type":"`string`","description":"The currency code of this money amount.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"amount","type":"[BigNumberInput](../../pricing/types/pricing.BigNumberInput/page.mdx)","description":"The amount of this money amount.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"id","type":"`string`","description":"The ID of the money amount.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"min_quantity","type":"`null` \\| [BigNumberInput](../../pricing/types/pricing.BigNumberInput/page.mdx)","description":"The minimum quantity required to be purchased for this money amount to be applied.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"max_quantity","type":"`null` \\| [BigNumberInput](../../pricing/types/pricing.BigNumberInput/page.mdx)","description":"The maximum quantity required to be purchased for this money amount to be applied.","optional":true,"defaultValue":"","expandable":false,"children":[]}]}]},{"name":"price_set","type":"`undefined` \\| [PriceSetDTO](../../pricing/interfaces/pricing.PriceSetDTO/page.mdx)","description":"","optional":false,"defaultValue":"priceSetForVariant","expandable":false,"children":[{"name":"id","type":"`string`","description":"The ID of the price set.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"prices","type":"[MoneyAmountDTO](../../pricing/interfaces/pricing.MoneyAmountDTO/page.mdx)[]","description":"The prices that belong to this price set.","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"id","type":"`string`","description":"The ID of the money amount.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"created_at","type":"`Date`","description":"When the money\\_amount was created.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"updated_at","type":"`Date`","description":"When the money\\_amount was updated.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"deleted_at","type":"`null` \\| `Date`","description":"When the money\\_amount was deleted.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"currency_code","type":"`string`","description":"The currency code of this money amount.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"amount","type":"[BigNumberValue](../../pricing/types/pricing.BigNumberValue/page.mdx)","description":"The price of this money amount.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"min_quantity","type":"[BigNumberValue](../../pricing/types/pricing.BigNumberValue/page.mdx)","description":"The minimum quantity required to be purchased for this price to be applied.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"max_quantity","type":"[BigNumberValue](../../pricing/types/pricing.BigNumberValue/page.mdx)","description":"The maximum quantity required to be purchased for this price to be applied.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"rules_count","type":"`number`","description":"The number of rules that apply to this price","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"price_rules","type":"[PriceRuleDTO](../../pricing/interfaces/pricing.PriceRuleDTO/page.mdx)[]","description":"The price rules that apply to this price","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"calculated_price","type":"[CalculatedPriceSet](../../pricing/interfaces/pricing.CalculatedPriceSet/page.mdx)","description":"The calculated price based on the context.","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"id","type":"`string`","description":"The ID of the price set.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"calculated_amount","type":"`null` \\| [BigNumberValue](../../pricing/types/pricing.BigNumberValue/page.mdx)","description":"The amount of the calculated price, or `null` if there isn't a calculated price.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"raw_calculated_amount","type":"`null` \\| [BigNumberRawValue](../../pricing/types/pricing.BigNumberRawValue/page.mdx)","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"original_amount","type":"`null` \\| [BigNumberValue](../../pricing/types/pricing.BigNumberValue/page.mdx)","description":"The amount of the original price, or `null` if there isn't a calculated price.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"raw_original_amount","type":"`null` \\| [BigNumberRawValue](../../pricing/types/pricing.BigNumberRawValue/page.mdx)","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"currency_code","type":"`null` \\| `string`","description":"The currency code of the calculated price, or null if there isn't a calculated price.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"is_calculated_price_price_list","type":"`boolean`","description":"Whether the calculated price is associated with a price list. During the calculation process, if no valid price list is found,\nthe calculated price is set to the original price, which doesn't belong to a price list. In that case, the value of this property is `false`.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"is_calculated_price_tax_inclusive","type":"`boolean`","description":"Whether the calculated price is tax inclusive or not.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"is_original_price_price_list","type":"`boolean`","description":"Whether the original price is associated with a price list. During the calculation process, if the price list of the calculated price is of type override,\nthe original price will be the same as the calculated price. In that case, the value of this property is `true`.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"is_original_price_tax_inclusive","type":"`boolean`","description":"Whether the original price is tax inclusive or not.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"calculated_price","type":"`object`","description":"The details of the calculated price.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"original_price","type":"`object`","description":"The details of the original price.","optional":true,"defaultValue":"","expandable":false,"children":[]}]}]},{"name":"price_set","type":"`undefined` \\| [PriceSetDTO](../../pricing/interfaces/pricing.PriceSetDTO/page.mdx)","description":"","optional":false,"defaultValue":"priceSetForVariant","expandable":false,"children":[{"name":"id","type":"`string`","description":"The ID of the price set.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"prices","type":"[MoneyAmountDTO](../../pricing/interfaces/pricing.MoneyAmountDTO/page.mdx)[]","description":"The prices that belong to this price set.","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"id","type":"`string`","description":"The ID of the money amount.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"created_at","type":"`Date`","description":"When the money\\_amount was created.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"updated_at","type":"`Date`","description":"When the money\\_amount was updated.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"deleted_at","type":"`null` \\| `Date`","description":"When the money\\_amount was deleted.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"currency_code","type":"`string`","description":"The currency code of this money amount.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"amount","type":"[BigNumberValue](../../pricing/types/pricing.BigNumberValue/page.mdx)","description":"The price of this money amount.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"min_quantity","type":"[BigNumberValue](../../pricing/types/pricing.BigNumberValue/page.mdx)","description":"The minimum quantity required to be purchased for this price to be applied.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"max_quantity","type":"[BigNumberValue](../../pricing/types/pricing.BigNumberValue/page.mdx)","description":"The maximum quantity required to be purchased for this price to be applied.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"rules_count","type":"`number`","description":"The number of rules that apply to this price","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"price_rules","type":"[PriceRuleDTO](../../pricing/interfaces/pricing.PriceRuleDTO/page.mdx)[]","description":"The price rules that apply to this price","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"calculated_price","type":"[CalculatedPriceSet](../../pricing/interfaces/pricing.CalculatedPriceSet/page.mdx)","description":"The calculated price based on the context.","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"id","type":"`string`","description":"The ID of the price set.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"calculated_amount","type":"`null` \\| [BigNumberValue](../../pricing/types/pricing.BigNumberValue/page.mdx)","description":"The amount of the calculated price, or `null` if there isn't a calculated price.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"raw_calculated_amount","type":"`null` \\| [BigNumberRawValue](../../pricing/types/pricing.BigNumberRawValue/page.mdx)","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"original_amount","type":"`null` \\| [BigNumberValue](../../pricing/types/pricing.BigNumberValue/page.mdx)","description":"The amount of the original price, or `null` if there isn't a calculated price.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"raw_original_amount","type":"`null` \\| [BigNumberRawValue](../../pricing/types/pricing.BigNumberRawValue/page.mdx)","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"currency_code","type":"`null` \\| `string`","description":"The currency code of the calculated price, or null if there isn't a calculated price.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"is_calculated_price_price_list","type":"`boolean`","description":"Whether the calculated price is associated with a price list. During the calculation process, if no valid price list is found,\nthe calculated price is set to the original price, which doesn't belong to a price list. In that case, the value of this property is `false`.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"is_calculated_price_tax_inclusive","type":"`boolean`","description":"Whether the calculated price is tax inclusive or not.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"is_original_price_price_list","type":"`boolean`","description":"Whether the original price is associated with a price list. During the calculation process, if the price list of the calculated price is of type override,\nthe original price will be the same as the calculated price. In that case, the value of this property is `true`.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"is_original_price_tax_inclusive","type":"`boolean`","description":"Whether the original price is tax inclusive or not.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"calculated_price","type":"`object`","description":"The details of the calculated price.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"original_price","type":"`object`","description":"The details of the original price.","optional":true,"defaultValue":"","expandable":false,"children":[]}]}]},{"name":"price_set","type":"`undefined` \\| [PriceSetDTO](../../pricing/interfaces/pricing.PriceSetDTO/page.mdx)","description":"","optional":false,"defaultValue":"priceSetForVariant","expandable":false,"children":[{"name":"id","type":"`string`","description":"The ID of the price set.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"prices","type":"[MoneyAmountDTO](../../pricing/interfaces/pricing.MoneyAmountDTO/page.mdx)[]","description":"The prices that belong to this price set.","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"id","type":"`string`","description":"The ID of the money amount.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"created_at","type":"`Date`","description":"When the money\\_amount was created.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"updated_at","type":"`Date`","description":"When the money\\_amount was updated.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"deleted_at","type":"`null` \\| `Date`","description":"When the money\\_amount was deleted.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"currency_code","type":"`string`","description":"The currency code of this money amount.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"amount","type":"[BigNumberValue](../../pricing/types/pricing.BigNumberValue/page.mdx)","description":"The price of this money amount.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"min_quantity","type":"[BigNumberValue](../../pricing/types/pricing.BigNumberValue/page.mdx)","description":"The minimum quantity required to be purchased for this price to be applied.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"max_quantity","type":"[BigNumberValue](../../pricing/types/pricing.BigNumberValue/page.mdx)","description":"The maximum quantity required to be purchased for this price to be applied.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"rules_count","type":"`number`","description":"The number of rules that apply to this price","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"price_rules","type":"[PriceRuleDTO](../../pricing/interfaces/pricing.PriceRuleDTO/page.mdx)[]","description":"The price rules that apply to this price","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"calculated_price","type":"[CalculatedPriceSet](../../pricing/interfaces/pricing.CalculatedPriceSet/page.mdx)","description":"The calculated price based on the context.","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"id","type":"`string`","description":"The ID of the price set.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"calculated_amount","type":"`null` \\| [BigNumberValue](../../pricing/types/pricing.BigNumberValue/page.mdx)","description":"The amount of the calculated price, or `null` if there isn't a calculated price.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"raw_calculated_amount","type":"`null` \\| [BigNumberRawValue](../../pricing/types/pricing.BigNumberRawValue/page.mdx)","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"original_amount","type":"`null` \\| [BigNumberValue](../../pricing/types/pricing.BigNumberValue/page.mdx)","description":"The amount of the original price, or `null` if there isn't a calculated price.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"raw_original_amount","type":"`null` \\| [BigNumberRawValue](../../pricing/types/pricing.BigNumberRawValue/page.mdx)","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"currency_code","type":"`null` \\| `string`","description":"The currency code of the calculated price, or null if there isn't a calculated price.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"is_calculated_price_price_list","type":"`boolean`","description":"Whether the calculated price is associated with a price list. During the calculation process, if no valid price list is found,\nthe calculated price is set to the original price, which doesn't belong to a price list. In that case, the value of this property is `false`.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"is_calculated_price_tax_inclusive","type":"`boolean`","description":"Whether the calculated price is tax inclusive or not.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"is_original_price_price_list","type":"`boolean`","description":"Whether the original price is associated with a price list. During the calculation process, if the price list of the calculated price is of type override,\nthe original price will be the same as the calculated price. In that case, the value of this property is `true`.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"is_original_price_tax_inclusive","type":"`boolean`","description":"Whether the original price is tax inclusive or not.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"calculated_price","type":"`object`","description":"The details of the calculated price.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"original_price","type":"`object`","description":"The details of the original price.","optional":true,"defaultValue":"","expandable":false,"children":[]}]}]},{"name":"price_set","type":"`undefined` \\| [PriceSetDTO](../../pricing/interfaces/pricing.PriceSetDTO/page.mdx)","description":"","optional":false,"defaultValue":"priceSetForVariant","expandable":false,"children":[{"name":"id","type":"`string`","description":"The ID of the price set.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"prices","type":"[MoneyAmountDTO](../../pricing/interfaces/pricing.MoneyAmountDTO/page.mdx)[]","description":"The prices that belong to this price set.","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"id","type":"`string`","description":"The ID of the money amount.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"created_at","type":"`Date`","description":"When the money\\_amount was created.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"updated_at","type":"`Date`","description":"When the money\\_amount was updated.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"deleted_at","type":"`null` \\| `Date`","description":"When the money\\_amount was deleted.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"currency_code","type":"`string`","description":"The currency code of this money amount.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"amount","type":"[BigNumberValue](../../pricing/types/pricing.BigNumberValue/page.mdx)","description":"The price of this money amount.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"min_quantity","type":"[BigNumberValue](../../pricing/types/pricing.BigNumberValue/page.mdx)","description":"The minimum quantity required to be purchased for this price to be applied.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"max_quantity","type":"[BigNumberValue](../../pricing/types/pricing.BigNumberValue/page.mdx)","description":"The maximum quantity required to be purchased for this price to be applied.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"rules_count","type":"`number`","description":"The number of rules that apply to this price","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"price_rules","type":"[PriceRuleDTO](../../pricing/interfaces/pricing.PriceRuleDTO/page.mdx)[]","description":"The price rules that apply to this price","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"calculated_price","type":"[CalculatedPriceSet](../../pricing/interfaces/pricing.CalculatedPriceSet/page.mdx)","description":"The calculated price based on the context.","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"id","type":"`string`","description":"The ID of the price set.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"calculated_amount","type":"`null` \\| [BigNumberValue](../../pricing/types/pricing.BigNumberValue/page.mdx)","description":"The amount of the calculated price, or `null` if there isn't a calculated price.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"raw_calculated_amount","type":"`null` \\| [BigNumberRawValue](../../pricing/types/pricing.BigNumberRawValue/page.mdx)","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"original_amount","type":"`null` \\| [BigNumberValue](../../pricing/types/pricing.BigNumberValue/page.mdx)","description":"The amount of the original price, or `null` if there isn't a calculated price.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"raw_original_amount","type":"`null` \\| [BigNumberRawValue](../../pricing/types/pricing.BigNumberRawValue/page.mdx)","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"currency_code","type":"`null` \\| `string`","description":"The currency code of the calculated price, or null if there isn't a calculated price.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"is_calculated_price_price_list","type":"`boolean`","description":"Whether the calculated price is associated with a price list. During the calculation process, if no valid price list is found,\nthe calculated price is set to the original price, which doesn't belong to a price list. In that case, the value of this property is `false`.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"is_calculated_price_tax_inclusive","type":"`boolean`","description":"Whether the calculated price is tax inclusive or not.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"is_original_price_price_list","type":"`boolean`","description":"Whether the original price is associated with a price list. During the calculation process, if the price list of the calculated price is of type override,\nthe original price will be the same as the calculated price. In that case, the value of this property is `true`.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"is_original_price_tax_inclusive","type":"`boolean`","description":"Whether the original price is tax inclusive or not.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"calculated_price","type":"`object`","description":"The details of the calculated price.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"original_price","type":"`object`","description":"The details of the original price.","optional":true,"defaultValue":"","expandable":false,"children":[]}]}]},{"name":"price_set","type":"`undefined` \\| [PriceSetDTO](../../pricing/interfaces/pricing.PriceSetDTO/page.mdx)","description":"","optional":false,"defaultValue":"priceSetForVariant","expandable":false,"children":[{"name":"id","type":"`string`","description":"The ID of the price set.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"prices","type":"[MoneyAmountDTO](../../pricing/interfaces/pricing.MoneyAmountDTO/page.mdx)[]","description":"The prices that belong to this price set.","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"id","type":"`string`","description":"The ID of the money amount.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"created_at","type":"`Date`","description":"When the money\\_amount was created.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"updated_at","type":"`Date`","description":"When the money\\_amount was updated.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"deleted_at","type":"`null` \\| `Date`","description":"When the money\\_amount was deleted.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"currency_code","type":"`string`","description":"The currency code of this money amount.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"amount","type":"[BigNumberValue](../../pricing/types/pricing.BigNumberValue/page.mdx)","description":"The price of this money amount.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"min_quantity","type":"[BigNumberValue](../../pricing/types/pricing.BigNumberValue/page.mdx)","description":"The minimum quantity required to be purchased for this price to be applied.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"max_quantity","type":"[BigNumberValue](../../pricing/types/pricing.BigNumberValue/page.mdx)","description":"The maximum quantity required to be purchased for this price to be applied.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"rules_count","type":"`number`","description":"The number of rules that apply to this price","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"price_rules","type":"[PriceRuleDTO](../../pricing/interfaces/pricing.PriceRuleDTO/page.mdx)[]","description":"The price rules that apply to this price","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"calculated_price","type":"[CalculatedPriceSet](../../pricing/interfaces/pricing.CalculatedPriceSet/page.mdx)","description":"The calculated price based on the context.","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"id","type":"`string`","description":"The ID of the price set.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"calculated_amount","type":"`null` \\| [BigNumberValue](../../pricing/types/pricing.BigNumberValue/page.mdx)","description":"The amount of the calculated price, or `null` if there isn't a calculated price.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"raw_calculated_amount","type":"`null` \\| [BigNumberRawValue](../../pricing/types/pricing.BigNumberRawValue/page.mdx)","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"original_amount","type":"`null` \\| [BigNumberValue](../../pricing/types/pricing.BigNumberValue/page.mdx)","description":"The amount of the original price, or `null` if there isn't a calculated price.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"raw_original_amount","type":"`null` \\| [BigNumberRawValue](../../pricing/types/pricing.BigNumberRawValue/page.mdx)","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"currency_code","type":"`null` \\| `string`","description":"The currency code of the calculated price, or null if there isn't a calculated price.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"is_calculated_price_price_list","type":"`boolean`","description":"Whether the calculated price is associated with a price list. During the calculation process, if no valid price list is found,\nthe calculated price is set to the original price, which doesn't belong to a price list. In that case, the value of this property is `false`.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"is_calculated_price_tax_inclusive","type":"`boolean`","description":"Whether the calculated price is tax inclusive or not.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"is_original_price_price_list","type":"`boolean`","description":"Whether the original price is associated with a price list. During the calculation process, if the price list of the calculated price is of type override,\nthe original price will be the same as the calculated price. In that case, the value of this property is `true`.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"is_original_price_tax_inclusive","type":"`boolean`","description":"Whether the original price is tax inclusive or not.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"calculated_price","type":"`object`","description":"The details of the calculated price.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"original_price","type":"`object`","description":"The details of the original price.","optional":true,"defaultValue":"","expandable":false,"children":[]}]}]},{"name":"price_set","type":"`undefined` \\| [PriceSetDTO](../../pricing/interfaces/pricing.PriceSetDTO/page.mdx)","description":"","optional":false,"defaultValue":"priceSetForVariant","expandable":false,"children":[{"name":"id","type":"`string`","description":"The ID of the price set.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"prices","type":"[MoneyAmountDTO](../../pricing/interfaces/pricing.MoneyAmountDTO/page.mdx)[]","description":"The prices that belong to this price set.","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"id","type":"`string`","description":"The ID of the money amount.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"created_at","type":"`Date`","description":"When the money\\_amount was created.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"updated_at","type":"`Date`","description":"When the money\\_amount was updated.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"deleted_at","type":"`null` \\| `Date`","description":"When the money\\_amount was deleted.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"currency_code","type":"`string`","description":"The currency code of this money amount.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"amount","type":"[BigNumberValue](../../pricing/types/pricing.BigNumberValue/page.mdx)","description":"The price of this money amount.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"min_quantity","type":"[BigNumberValue](../../pricing/types/pricing.BigNumberValue/page.mdx)","description":"The minimum quantity required to be purchased for this price to be applied.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"max_quantity","type":"[BigNumberValue](../../pricing/types/pricing.BigNumberValue/page.mdx)","description":"The maximum quantity required to be purchased for this price to be applied.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"rules_count","type":"`number`","description":"The number of rules that apply to this price","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"price_rules","type":"[PriceRuleDTO](../../pricing/interfaces/pricing.PriceRuleDTO/page.mdx)[]","description":"The price rules that apply to this price","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"calculated_price","type":"[CalculatedPriceSet](../../pricing/interfaces/pricing.CalculatedPriceSet/page.mdx)","description":"The calculated price based on the context.","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"id","type":"`string`","description":"The ID of the price set.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"calculated_amount","type":"`null` \\| [BigNumberValue](../../pricing/types/pricing.BigNumberValue/page.mdx)","description":"The amount of the calculated price, or `null` if there isn't a calculated price.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"raw_calculated_amount","type":"`null` \\| [BigNumberRawValue](../../pricing/types/pricing.BigNumberRawValue/page.mdx)","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"original_amount","type":"`null` \\| [BigNumberValue](../../pricing/types/pricing.BigNumberValue/page.mdx)","description":"The amount of the original price, or `null` if there isn't a calculated price.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"raw_original_amount","type":"`null` \\| [BigNumberRawValue](../../pricing/types/pricing.BigNumberRawValue/page.mdx)","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"currency_code","type":"`null` \\| `string`","description":"The currency code of the calculated price, or null if there isn't a calculated price.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"is_calculated_price_price_list","type":"`boolean`","description":"Whether the calculated price is associated with a price list. During the calculation process, if no valid price list is found,\nthe calculated price is set to the original price, which doesn't belong to a price list. In that case, the value of this property is `false`.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"is_calculated_price_tax_inclusive","type":"`boolean`","description":"Whether the calculated price is tax inclusive or not.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"is_original_price_price_list","type":"`boolean`","description":"Whether the original price is associated with a price list. During the calculation process, if the price list of the calculated price is of type override,\nthe original price will be the same as the calculated price. In that case, the value of this property is `true`.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"is_original_price_tax_inclusive","type":"`boolean`","description":"Whether the original price is tax inclusive or not.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"calculated_price","type":"`object`","description":"The details of the calculated price.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"original_price","type":"`object`","description":"The details of the original price.","optional":true,"defaultValue":"","expandable":false,"children":[]}]}]},{"name":"price_set","type":"`undefined` \\| [PriceSetDTO](../../pricing/interfaces/pricing.PriceSetDTO/page.mdx)","description":"","optional":false,"defaultValue":"priceSetForVariant","expandable":false,"children":[{"name":"id","type":"`string`","description":"The ID of the price set.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"prices","type":"[MoneyAmountDTO](../../pricing/interfaces/pricing.MoneyAmountDTO/page.mdx)[]","description":"The prices that belong to this price set.","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"id","type":"`string`","description":"The ID of the money amount.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"created_at","type":"`Date`","description":"When the money\\_amount was created.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"updated_at","type":"`Date`","description":"When the money\\_amount was updated.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"deleted_at","type":"`null` \\| `Date`","description":"When the money\\_amount was deleted.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"currency_code","type":"`string`","description":"The currency code of this money amount.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"amount","type":"[BigNumberValue](../../pricing/types/pricing.BigNumberValue/page.mdx)","description":"The price of this money amount.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"min_quantity","type":"[BigNumberValue](../../pricing/types/pricing.BigNumberValue/page.mdx)","description":"The minimum quantity required to be purchased for this price to be applied.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"max_quantity","type":"[BigNumberValue](../../pricing/types/pricing.BigNumberValue/page.mdx)","description":"The maximum quantity required to be purchased for this price to be applied.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"rules_count","type":"`number`","description":"The number of rules that apply to this price","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"price_rules","type":"[PriceRuleDTO](../../pricing/interfaces/pricing.PriceRuleDTO/page.mdx)[]","description":"The price rules that apply to this price","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"calculated_price","type":"[CalculatedPriceSet](../../pricing/interfaces/pricing.CalculatedPriceSet/page.mdx)","description":"The calculated price based on the context.","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"id","type":"`string`","description":"The ID of the price set.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"calculated_amount","type":"`null` \\| [BigNumberValue](../../pricing/types/pricing.BigNumberValue/page.mdx)","description":"The amount of the calculated price, or `null` if there isn't a calculated price.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"raw_calculated_amount","type":"`null` \\| [BigNumberRawValue](../../pricing/types/pricing.BigNumberRawValue/page.mdx)","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"original_amount","type":"`null` \\| [BigNumberValue](../../pricing/types/pricing.BigNumberValue/page.mdx)","description":"The amount of the original price, or `null` if there isn't a calculated price.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"raw_original_amount","type":"`null` \\| [BigNumberRawValue](../../pricing/types/pricing.BigNumberRawValue/page.mdx)","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"currency_code","type":"`null` \\| `string`","description":"The currency code of the calculated price, or null if there isn't a calculated price.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"is_calculated_price_price_list","type":"`boolean`","description":"Whether the calculated price is associated with a price list. During the calculation process, if no valid price list is found,\nthe calculated price is set to the original price, which doesn't belong to a price list. In that case, the value of this property is `false`.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"is_calculated_price_tax_inclusive","type":"`boolean`","description":"Whether the calculated price is tax inclusive or not.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"is_original_price_price_list","type":"`boolean`","description":"Whether the original price is associated with a price list. During the calculation process, if the price list of the calculated price is of type override,\nthe original price will be the same as the calculated price. In that case, the value of this property is `true`.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"is_original_price_tax_inclusive","type":"`boolean`","description":"Whether the original price is tax inclusive or not.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"calculated_price","type":"`object`","description":"The details of the calculated price.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"original_price","type":"`object`","description":"The details of the original price.","optional":true,"defaultValue":"","expandable":false,"children":[]}]}]},{"name":"price_set","type":"`undefined` \\| [PriceSetDTO](../../pricing/interfaces/pricing.PriceSetDTO/page.mdx)","description":"","optional":false,"defaultValue":"priceSetForVariant","expandable":false,"children":[{"name":"id","type":"`string`","description":"The ID of the price set.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"prices","type":"[MoneyAmountDTO](../../pricing/interfaces/pricing.MoneyAmountDTO/page.mdx)[]","description":"The prices that belong to this price set.","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"id","type":"`string`","description":"The ID of the money amount.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"created_at","type":"`Date`","description":"When the money\\_amount was created.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"updated_at","type":"`Date`","description":"When the money\\_amount was updated.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"deleted_at","type":"`null` \\| `Date`","description":"When the money\\_amount was deleted.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"currency_code","type":"`string`","description":"The currency code of this money amount.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"amount","type":"[BigNumberValue](../../pricing/types/pricing.BigNumberValue/page.mdx)","description":"The price of this money amount.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"min_quantity","type":"[BigNumberValue](../../pricing/types/pricing.BigNumberValue/page.mdx)","description":"The minimum quantity required to be purchased for this price to be applied.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"max_quantity","type":"[BigNumberValue](../../pricing/types/pricing.BigNumberValue/page.mdx)","description":"The maximum quantity required to be purchased for this price to be applied.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"rules_count","type":"`number`","description":"The number of rules that apply to this price","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"price_rules","type":"[PriceRuleDTO](../../pricing/interfaces/pricing.PriceRuleDTO/page.mdx)[]","description":"The price rules that apply to this price","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"calculated_price","type":"[CalculatedPriceSet](../../pricing/interfaces/pricing.CalculatedPriceSet/page.mdx)","description":"The calculated price based on the context.","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"id","type":"`string`","description":"The ID of the price set.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"calculated_amount","type":"`null` \\| [BigNumberValue](../../pricing/types/pricing.BigNumberValue/page.mdx)","description":"The amount of the calculated price, or `null` if there isn't a calculated price.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"raw_calculated_amount","type":"`null` \\| [BigNumberRawValue](../../pricing/types/pricing.BigNumberRawValue/page.mdx)","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"original_amount","type":"`null` \\| [BigNumberValue](../../pricing/types/pricing.BigNumberValue/page.mdx)","description":"The amount of the original price, or `null` if there isn't a calculated price.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"raw_original_amount","type":"`null` \\| [BigNumberRawValue](../../pricing/types/pricing.BigNumberRawValue/page.mdx)","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"currency_code","type":"`null` \\| `string`","description":"The currency code of the calculated price, or null if there isn't a calculated price.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"is_calculated_price_price_list","type":"`boolean`","description":"Whether the calculated price is associated with a price list. During the calculation process, if no valid price list is found,\nthe calculated price is set to the original price, which doesn't belong to a price list. In that case, the value of this property is `false`.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"is_calculated_price_tax_inclusive","type":"`boolean`","description":"Whether the calculated price is tax inclusive or not.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"is_original_price_price_list","type":"`boolean`","description":"Whether the original price is associated with a price list. During the calculation process, if the price list of the calculated price is of type override,\nthe original price will be the same as the calculated price. In that case, the value of this property is `true`.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"is_original_price_tax_inclusive","type":"`boolean`","description":"Whether the original price is tax inclusive or not.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"calculated_price","type":"`object`","description":"The details of the calculated price.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"original_price","type":"`object`","description":"The details of the original price.","optional":true,"defaultValue":"","expandable":false,"children":[]}]}]},{"name":"price_set","type":"`undefined` \\| [PriceSetDTO](../../pricing/interfaces/pricing.PriceSetDTO/page.mdx)","description":"","optional":false,"defaultValue":"priceSetForVariant","expandable":false,"children":[{"name":"id","type":"`string`","description":"The ID of the price set.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"prices","type":"[MoneyAmountDTO](../../pricing/interfaces/pricing.MoneyAmountDTO/page.mdx)[]","description":"The prices that belong to this price set.","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"id","type":"`string`","description":"The ID of the money amount.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"created_at","type":"`Date`","description":"When the money\\_amount was created.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"updated_at","type":"`Date`","description":"When the money\\_amount was updated.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"deleted_at","type":"`null` \\| `Date`","description":"When the money\\_amount was deleted.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"currency_code","type":"`string`","description":"The currency code of this money amount.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"amount","type":"[BigNumberValue](../../pricing/types/pricing.BigNumberValue/page.mdx)","description":"The price of this money amount.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"min_quantity","type":"[BigNumberValue](../../pricing/types/pricing.BigNumberValue/page.mdx)","description":"The minimum quantity required to be purchased for this price to be applied.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"max_quantity","type":"[BigNumberValue](../../pricing/types/pricing.BigNumberValue/page.mdx)","description":"The maximum quantity required to be purchased for this price to be applied.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"rules_count","type":"`number`","description":"The number of rules that apply to this price","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"price_rules","type":"[PriceRuleDTO](../../pricing/interfaces/pricing.PriceRuleDTO/page.mdx)[]","description":"The price rules that apply to this price","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"calculated_price","type":"[CalculatedPriceSet](../../pricing/interfaces/pricing.CalculatedPriceSet/page.mdx)","description":"The calculated price based on the context.","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"id","type":"`string`","description":"The ID of the price set.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"calculated_amount","type":"`null` \\| [BigNumberValue](../../pricing/types/pricing.BigNumberValue/page.mdx)","description":"The amount of the calculated price, or `null` if there isn't a calculated price.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"raw_calculated_amount","type":"`null` \\| [BigNumberRawValue](../../pricing/types/pricing.BigNumberRawValue/page.mdx)","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"original_amount","type":"`null` \\| [BigNumberValue](../../pricing/types/pricing.BigNumberValue/page.mdx)","description":"The amount of the original price, or `null` if there isn't a calculated price.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"raw_original_amount","type":"`null` \\| [BigNumberRawValue](../../pricing/types/pricing.BigNumberRawValue/page.mdx)","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"currency_code","type":"`null` \\| `string`","description":"The currency code of the calculated price, or null if there isn't a calculated price.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"is_calculated_price_price_list","type":"`boolean`","description":"Whether the calculated price is associated with a price list. During the calculation process, if no valid price list is found,\nthe calculated price is set to the original price, which doesn't belong to a price list. In that case, the value of this property is `false`.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"is_calculated_price_tax_inclusive","type":"`boolean`","description":"Whether the calculated price is tax inclusive or not.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"is_original_price_price_list","type":"`boolean`","description":"Whether the original price is associated with a price list. During the calculation process, if the price list of the calculated price is of type override,\nthe original price will be the same as the calculated price. In that case, the value of this property is `true`.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"is_original_price_tax_inclusive","type":"`boolean`","description":"Whether the original price is tax inclusive or not.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"calculated_price","type":"`object`","description":"The details of the calculated price.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"original_price","type":"`object`","description":"The details of the original price.","optional":true,"defaultValue":"","expandable":false,"children":[]}]}]},{"name":"product_variants","type":"`object`[]","description":"","optional":false,"defaultValue":"","expandable":false,"children":[{"name":"price_set","type":"`undefined` \\| [PriceSetDTO](../../pricing/interfaces/pricing.PriceSetDTO/page.mdx)","description":"","optional":false,"defaultValue":"priceSetForVariant","expandable":false,"children":[{"name":"id","type":"`string`","description":"The ID of the price set.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"prices","type":"[MoneyAmountDTO](../../pricing/interfaces/pricing.MoneyAmountDTO/page.mdx)[]","description":"The prices that belong to this price set.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"calculated_price","type":"[CalculatedPriceSet](../../pricing/interfaces/pricing.CalculatedPriceSet/page.mdx)","description":"The calculated price based on the context.","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"id","type":"`string`","description":"The ID of the product variant.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"title","type":"`string`","description":"The tile of the product variant.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"sku","type":"`null` \\| `string`","description":"The SKU of the product variant.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"barcode","type":"`null` \\| `string`","description":"The barcode of the product variant.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"ean","type":"`null` \\| `string`","description":"The EAN of the product variant.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"upc","type":"`null` \\| `string`","description":"The UPC of the product variant.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"allow_backorder","type":"`boolean`","description":"Whether the product variant can be ordered when it's out of stock.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"manage_inventory","type":"`boolean`","description":"Whether the product variant's inventory should be managed by the core system.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"requires_shipping","type":"`boolean`","description":"Whether the product variant's requires shipping.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"hs_code","type":"`null` \\| `string`","description":"The HS Code of the product variant.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"origin_country","type":"`null` \\| `string`","description":"The origin country of the product variant.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"mid_code","type":"`null` \\| `string`","description":"The MID Code of the product variant.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"material","type":"`null` \\| `string`","description":"The material of the product variant.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"weight","type":"`null` \\| `number`","description":"The weight of the product variant.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"length","type":"`null` \\| `number`","description":"The length of the product variant.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"height","type":"`null` \\| `number`","description":"The height of the product variant.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"width","type":"`null` \\| `number`","description":"The width of the product variant.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"options","type":"[ProductOptionValueDTO](../../product/interfaces/product.ProductOptionValueDTO/page.mdx)[]","description":"The associated product options.","optional":false,"defaultValue":"","expandable":true,"children":[{"name":"id","type":"`string`","description":"The ID of the product option value.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"value","type":"`string`","description":"The value of the product option value.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"created_at","type":"`string` \\| `Date`","description":"When the product option value was created.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"updated_at","type":"`string` \\| `Date`","description":"When the product option value was updated.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"option","type":"`null` \\| [ProductOptionDTO](../../product/interfaces/product.ProductOptionDTO/page.mdx)","description":"The associated product option. It may only be available if the `option` relation is expanded.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"option_id","type":"`null` \\| `string`","description":"The associated product option id.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"metadata","type":"[MetadataType](../../product/types/product.MetadataType/page.mdx)","description":"Holds custom data in key-value pairs.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"deleted_at","type":"`string` \\| `Date`","description":"When the product option value was deleted.","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"metadata","type":"`null` \\| `Record`","description":"Holds custom data in key-value pairs.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"product_id","type":"`null` \\| `string`","description":"The associated product id.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"created_at","type":"`string` \\| `Date`","description":"When the product variant was created.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"updated_at","type":"`string` \\| `Date`","description":"When the product variant was updated.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"deleted_at","type":"`string` \\| `Date`","description":"When the product variant was deleted.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"product","type":"`null` \\| [ProductDTO](../../product/interfaces/product.ProductDTO/page.mdx)","description":"The associated product.","optional":true,"defaultValue":"","expandable":true,"children":[{"name":"id","type":"`string`","description":"The ID of the product.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"title","type":"`string`","description":"The title of the product.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"handle","type":"`string`","description":"The handle of the product. The handle can be used to create slug URL paths.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"subtitle","type":"`null` \\| `string`","description":"The subttle of the product.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"description","type":"`null` \\| `string`","description":"The description of the product.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"is_giftcard","type":"`boolean`","description":"Whether the product is a gift card.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"status","type":"[ProductStatus](../../product/types/product.ProductStatus/page.mdx)","description":"The status of the product.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"thumbnail","type":"`null` \\| `string`","description":"The URL of the product's thumbnail.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"width","type":"`null` \\| `number`","description":"The width of the product.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"weight","type":"`null` \\| `number`","description":"The weight of the product.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"length","type":"`null` \\| `number`","description":"The length of the product.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"height","type":"`null` \\| `number`","description":"The height of the product.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"origin_country","type":"`null` \\| `string`","description":"The origin country of the product.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"hs_code","type":"`null` \\| `string`","description":"The HS Code of the product.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"mid_code","type":"`null` \\| `string`","description":"The MID Code of the product.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"material","type":"`null` \\| `string`","description":"The material of the product.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"collection","type":"`null` \\| [ProductCollectionDTO](../../product/interfaces/product.ProductCollectionDTO/page.mdx)","description":"The associated product collection.","optional":false,"defaultValue":"","expandable":true,"children":[]},{"name":"collection_id","type":"`null` \\| `string`","description":"The associated product collection id.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"type","type":"`null` \\| [ProductTypeDTO](../../product/interfaces/product.ProductTypeDTO/page.mdx)","description":"The associated product type.","optional":false,"defaultValue":"","expandable":true,"children":[]},{"name":"type_id","type":"`null` \\| `string`","description":"The associated product type id.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"tags","type":"[ProductTagDTO](../../product/interfaces/product.ProductTagDTO/page.mdx)[]","description":"The associated product tags.","optional":false,"defaultValue":"","expandable":true,"children":[]},{"name":"variants","type":"[ProductVariantDTO](../../product/interfaces/product.ProductVariantDTO/page.mdx)[]","description":"The associated product variants.","optional":false,"defaultValue":"","expandable":true,"children":[]},{"name":"options","type":"[ProductOptionDTO](../../product/interfaces/product.ProductOptionDTO/page.mdx)[]","description":"The associated product options.","optional":false,"defaultValue":"","expandable":true,"children":[]},{"name":"images","type":"[ProductImageDTO](../../product/interfaces/product.ProductImageDTO/page.mdx)[]","description":"The associated product images.","optional":false,"defaultValue":"","expandable":true,"children":[]},{"name":"external_id","type":"`null` \\| `string`","description":"The ID of the product in an external system. This is useful if you're integrating the product with a third-party service and want to maintain\na reference to the ID in the integrated service.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"created_at","type":"`string` \\| `Date`","description":"When the product was created.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"updated_at","type":"`string` \\| `Date`","description":"When the product was updated.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"deleted_at","type":"`string` \\| `Date`","description":"When the product was deleted.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"categories","type":"`null` \\| [ProductCategoryDTO](../../product/interfaces/product.ProductCategoryDTO/page.mdx)[]","description":"The associated product categories.","optional":true,"defaultValue":"","expandable":true,"children":[]},{"name":"discountable","type":"`boolean`","description":"Whether the product can be discounted.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"metadata","type":"[MetadataType](../../product/types/product.MetadataType/page.mdx)","description":"Holds custom data in key-value pairs.","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"variant_rank","type":"`null` \\| `number`","description":"he ranking of the variant among other variants associated with the product.","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"additional_data","type":"`Record | undefined`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"selector","type":"[FilterableProductProps](../../product/interfaces/product.FilterableProductProps/page.mdx)","description":"","optional":false,"defaultValue":"","expandable":false,"children":[{"name":"$and","type":"([FilterableProductProps](../../product/interfaces/product.FilterableProductProps/page.mdx) \\| [BaseFilterable](../../product/interfaces/product.BaseFilterable/page.mdx)<[FilterableProductProps](../../product/interfaces/product.FilterableProductProps/page.mdx)>)[]","description":"An array of filters to apply on the entity, where each item in the array is joined with an \"and\" condition.","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"$and","type":"([FilterableProductProps](../../product/interfaces/product.FilterableProductProps/page.mdx) \\| [BaseFilterable](../../product/interfaces/product.BaseFilterable/page.mdx)<[FilterableProductProps](../../product/interfaces/product.FilterableProductProps/page.mdx)>)[]","description":"An array of filters to apply on the entity, where each item in the array is joined with an \"and\" condition.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$or","type":"([FilterableProductProps](../../product/interfaces/product.FilterableProductProps/page.mdx) \\| [BaseFilterable](../../product/interfaces/product.BaseFilterable/page.mdx)<[FilterableProductProps](../../product/interfaces/product.FilterableProductProps/page.mdx)>)[]","description":"An array of filters to apply on the entity, where each item in the array is joined with an \"or\" condition.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"q","type":"`string`","description":"Search through the products' attributes, such as titles and descriptions, using this search term.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"status","type":"[ProductStatus](../../product/types/product.ProductStatus/page.mdx) \\| [ProductStatus](../../product/types/product.ProductStatus/page.mdx)[]","description":"The status to filter products by","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"title","type":"`string` \\| `string`[]","description":"The titles to filter products by.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"handle","type":"`string` \\| `string`[]","description":"The handles to filter products by.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"id","type":"`string` \\| `string`[]","description":"The IDs to filter products by.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"is_giftcard","type":"`boolean`","description":"Filters only or excluding gift card products","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"tags","type":"`object`","description":"Filters on a product's tags.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"variants","type":"`object`","description":"Filters on a product's variant properties.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"type_id","type":"`string` \\| `string`[]","description":"Filter a product by the ID of the associated type","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"categories","type":"`object` \\| `object`","description":"Filter a product by the IDs of their associated categories.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"collection_id","type":"`string` \\| `string`[] \\| [OperatorMap](../../product/types/product.OperatorMap/page.mdx)<string>","description":"Filters a product by its associated collections.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"created_at","type":"[OperatorMap](../../product/types/product.OperatorMap/page.mdx)<string>","description":"Filters a product based on when it was created","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"updated_at","type":"[OperatorMap](../../product/types/product.OperatorMap/page.mdx)<string>","description":"Filters a product based on when it was updated","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"deleted_at","type":"[OperatorMap](../../product/types/product.OperatorMap/page.mdx)<string>","description":"Filters soft-deleted products based on the date they were deleted at.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$and","type":"([BaseFilterable](../../product/interfaces/product.BaseFilterable/page.mdx)<T> \\| T)[]","description":"An array of filters to apply on the entity, where each item in the array is joined with an \"and\" condition.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$or","type":"([BaseFilterable](../../product/interfaces/product.BaseFilterable/page.mdx)<T> \\| T)[]","description":"An array of filters to apply on the entity, where each item in the array is joined with an \"or\" condition.","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"$or","type":"([FilterableProductProps](../../product/interfaces/product.FilterableProductProps/page.mdx) \\| [BaseFilterable](../../product/interfaces/product.BaseFilterable/page.mdx)<[FilterableProductProps](../../product/interfaces/product.FilterableProductProps/page.mdx)>)[]","description":"An array of filters to apply on the entity, where each item in the array is joined with an \"or\" condition.","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"$and","type":"([FilterableProductProps](../../product/interfaces/product.FilterableProductProps/page.mdx) \\| [BaseFilterable](../../product/interfaces/product.BaseFilterable/page.mdx)<[FilterableProductProps](../../product/interfaces/product.FilterableProductProps/page.mdx)>)[]","description":"An array of filters to apply on the entity, where each item in the array is joined with an \"and\" condition.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$or","type":"([FilterableProductProps](../../product/interfaces/product.FilterableProductProps/page.mdx) \\| [BaseFilterable](../../product/interfaces/product.BaseFilterable/page.mdx)<[FilterableProductProps](../../product/interfaces/product.FilterableProductProps/page.mdx)>)[]","description":"An array of filters to apply on the entity, where each item in the array is joined with an \"or\" condition.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"q","type":"`string`","description":"Search through the products' attributes, such as titles and descriptions, using this search term.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"status","type":"[ProductStatus](../../product/types/product.ProductStatus/page.mdx) \\| [ProductStatus](../../product/types/product.ProductStatus/page.mdx)[]","description":"The status to filter products by","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"title","type":"`string` \\| `string`[]","description":"The titles to filter products by.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"handle","type":"`string` \\| `string`[]","description":"The handles to filter products by.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"id","type":"`string` \\| `string`[]","description":"The IDs to filter products by.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"is_giftcard","type":"`boolean`","description":"Filters only or excluding gift card products","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"tags","type":"`object`","description":"Filters on a product's tags.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"variants","type":"`object`","description":"Filters on a product's variant properties.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"type_id","type":"`string` \\| `string`[]","description":"Filter a product by the ID of the associated type","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"categories","type":"`object` \\| `object`","description":"Filter a product by the IDs of their associated categories.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"collection_id","type":"`string` \\| `string`[] \\| [OperatorMap](../../product/types/product.OperatorMap/page.mdx)<string>","description":"Filters a product by its associated collections.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"created_at","type":"[OperatorMap](../../product/types/product.OperatorMap/page.mdx)<string>","description":"Filters a product based on when it was created","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"updated_at","type":"[OperatorMap](../../product/types/product.OperatorMap/page.mdx)<string>","description":"Filters a product based on when it was updated","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"deleted_at","type":"[OperatorMap](../../product/types/product.OperatorMap/page.mdx)<string>","description":"Filters soft-deleted products based on the date they were deleted at.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$and","type":"([BaseFilterable](../../product/interfaces/product.BaseFilterable/page.mdx)<T> \\| T)[]","description":"An array of filters to apply on the entity, where each item in the array is joined with an \"and\" condition.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$or","type":"([BaseFilterable](../../product/interfaces/product.BaseFilterable/page.mdx)<T> \\| T)[]","description":"An array of filters to apply on the entity, where each item in the array is joined with an \"or\" condition.","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"q","type":"`string`","description":"Search through the products' attributes, such as titles and descriptions, using this search term.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"status","type":"[ProductStatus](../../product/types/product.ProductStatus/page.mdx) \\| [ProductStatus](../../product/types/product.ProductStatus/page.mdx)[]","description":"The status to filter products by","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"title","type":"`string` \\| `string`[]","description":"The titles to filter products by.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"handle","type":"`string` \\| `string`[]","description":"The handles to filter products by.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"id","type":"`string` \\| `string`[]","description":"The IDs to filter products by.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"is_giftcard","type":"`boolean`","description":"Filters only or excluding gift card products","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"tags","type":"`object`","description":"Filters on a product's tags.","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"id","type":"`string`[]","description":"Filter a product by the IDs of their associated tags.","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"variants","type":"`object`","description":"Filters on a product's variant properties.","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"options","type":"`object`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"type_id","type":"`string` \\| `string`[]","description":"Filter a product by the ID of the associated type","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"categories","type":"`object` \\| `object`","description":"Filter a product by the IDs of their associated categories.","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"id","type":"[OperatorMap](../../product/types/product.OperatorMap/page.mdx)<string>","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"id","type":"[OperatorMap](../../product/types/product.OperatorMap/page.mdx)<string[]>","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]}]},{"name":"collection_id","type":"`string` \\| `string`[] \\| [OperatorMap](../../product/types/product.OperatorMap/page.mdx)<string>","description":"Filters a product by its associated collections.","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"$and","type":"[Query](../../product/types/product.Query/page.mdx)<T>[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$or","type":"[Query](../../product/types/product.Query/page.mdx)<T>[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$eq","type":"[ExpandScalar](../../product/types/product.ExpandScalar/page.mdx)<T> \\| [ExpandScalar](../../product/types/product.ExpandScalar/page.mdx)<T>[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$ne","type":"[ExpandScalar](../../product/types/product.ExpandScalar/page.mdx)<T>","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$in","type":"[ExpandScalar](../../product/types/product.ExpandScalar/page.mdx)<T>[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$nin","type":"[ExpandScalar](../../product/types/product.ExpandScalar/page.mdx)<T>[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$not","type":"[Query](../../product/types/product.Query/page.mdx)<T>","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$gt","type":"[ExpandScalar](../../product/types/product.ExpandScalar/page.mdx)<T>","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$gte","type":"[ExpandScalar](../../product/types/product.ExpandScalar/page.mdx)<T>","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$lt","type":"[ExpandScalar](../../product/types/product.ExpandScalar/page.mdx)<T>","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$lte","type":"[ExpandScalar](../../product/types/product.ExpandScalar/page.mdx)<T>","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$like","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$re","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$ilike","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$fulltext","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$overlap","type":"`string`[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$contains","type":"`string`[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$contained","type":"`string`[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$exists","type":"`boolean`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"created_at","type":"[OperatorMap](../../product/types/product.OperatorMap/page.mdx)<string>","description":"Filters a product based on when it was created","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"$and","type":"[Query](../../product/types/product.Query/page.mdx)<T>[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$or","type":"[Query](../../product/types/product.Query/page.mdx)<T>[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$eq","type":"[ExpandScalar](../../product/types/product.ExpandScalar/page.mdx)<T> \\| [ExpandScalar](../../product/types/product.ExpandScalar/page.mdx)<T>[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$ne","type":"[ExpandScalar](../../product/types/product.ExpandScalar/page.mdx)<T>","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$in","type":"[ExpandScalar](../../product/types/product.ExpandScalar/page.mdx)<T>[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$nin","type":"[ExpandScalar](../../product/types/product.ExpandScalar/page.mdx)<T>[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$not","type":"[Query](../../product/types/product.Query/page.mdx)<T>","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$gt","type":"[ExpandScalar](../../product/types/product.ExpandScalar/page.mdx)<T>","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$gte","type":"[ExpandScalar](../../product/types/product.ExpandScalar/page.mdx)<T>","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$lt","type":"[ExpandScalar](../../product/types/product.ExpandScalar/page.mdx)<T>","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$lte","type":"[ExpandScalar](../../product/types/product.ExpandScalar/page.mdx)<T>","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$like","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$re","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$ilike","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$fulltext","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$overlap","type":"`string`[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$contains","type":"`string`[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$contained","type":"`string`[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$exists","type":"`boolean`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"updated_at","type":"[OperatorMap](../../product/types/product.OperatorMap/page.mdx)<string>","description":"Filters a product based on when it was updated","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"$and","type":"[Query](../../product/types/product.Query/page.mdx)<T>[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$or","type":"[Query](../../product/types/product.Query/page.mdx)<T>[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$eq","type":"[ExpandScalar](../../product/types/product.ExpandScalar/page.mdx)<T> \\| [ExpandScalar](../../product/types/product.ExpandScalar/page.mdx)<T>[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$ne","type":"[ExpandScalar](../../product/types/product.ExpandScalar/page.mdx)<T>","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$in","type":"[ExpandScalar](../../product/types/product.ExpandScalar/page.mdx)<T>[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$nin","type":"[ExpandScalar](../../product/types/product.ExpandScalar/page.mdx)<T>[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$not","type":"[Query](../../product/types/product.Query/page.mdx)<T>","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$gt","type":"[ExpandScalar](../../product/types/product.ExpandScalar/page.mdx)<T>","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$gte","type":"[ExpandScalar](../../product/types/product.ExpandScalar/page.mdx)<T>","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$lt","type":"[ExpandScalar](../../product/types/product.ExpandScalar/page.mdx)<T>","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$lte","type":"[ExpandScalar](../../product/types/product.ExpandScalar/page.mdx)<T>","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$like","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$re","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$ilike","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$fulltext","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$overlap","type":"`string`[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$contains","type":"`string`[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$contained","type":"`string`[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$exists","type":"`boolean`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"deleted_at","type":"[OperatorMap](../../product/types/product.OperatorMap/page.mdx)<string>","description":"Filters soft-deleted products based on the date they were deleted at.","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"$and","type":"[Query](../../product/types/product.Query/page.mdx)<T>[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$or","type":"[Query](../../product/types/product.Query/page.mdx)<T>[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$eq","type":"[ExpandScalar](../../product/types/product.ExpandScalar/page.mdx)<T> \\| [ExpandScalar](../../product/types/product.ExpandScalar/page.mdx)<T>[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$ne","type":"[ExpandScalar](../../product/types/product.ExpandScalar/page.mdx)<T>","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$in","type":"[ExpandScalar](../../product/types/product.ExpandScalar/page.mdx)<T>[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$nin","type":"[ExpandScalar](../../product/types/product.ExpandScalar/page.mdx)<T>[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$not","type":"[Query](../../product/types/product.Query/page.mdx)<T>","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$gt","type":"[ExpandScalar](../../product/types/product.ExpandScalar/page.mdx)<T>","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$gte","type":"[ExpandScalar](../../product/types/product.ExpandScalar/page.mdx)<T>","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$lt","type":"[ExpandScalar](../../product/types/product.ExpandScalar/page.mdx)<T>","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$lte","type":"[ExpandScalar](../../product/types/product.ExpandScalar/page.mdx)<T>","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$like","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$re","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$ilike","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$fulltext","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$overlap","type":"`string`[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$contains","type":"`string`[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$contained","type":"`string`[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$exists","type":"`boolean`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]}]}]},{"name":"update","type":"Omit<[UpdateProductDTO](../../product/interfaces/product.UpdateProductDTO/page.mdx), \"variants\"> & `object`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[{"name":"title","type":"`string`","description":"The title of the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"subtitle","type":"`null` \\| `string`","description":"The subttle of the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"description","type":"`null` \\| `string`","description":"The description of the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"is_giftcard","type":"`boolean`","description":"Whether the product is a gift card.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"discountable","type":"`boolean`","description":"Whether the product can be discounted.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"thumbnail","type":"`null` \\| `string`","description":"The URL of the product's thumbnail.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"handle","type":"`string`","description":"The handle of the product. The handle can be used to create slug URL paths.\nIf not supplied, the value of the `handle` attribute of the product is set to the slug version of the `title` attribute.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"status","type":"[ProductStatus](../../product/types/product.ProductStatus/page.mdx)","description":"The status of the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"images","type":"[UpsertProductImageDTO](../../product/interfaces/product.UpsertProductImageDTO/page.mdx)[]","description":"The associated images to create or update.","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"id","type":"`string`","description":"The product image's ID. If not provided, the image is created. In\nthat case, the `url` property is required.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"url","type":"`string`","description":"The new URL of the product image.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"metadata","type":"[MetadataType](../../product/types/product.MetadataType/page.mdx)","description":"Holds custom data in key-value pairs.","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"external_id","type":"`null` \\| `string`","description":"The id of the product in an external system","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"type_id","type":"`null` \\| `string`","description":"The product type to associate with the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"collection_id","type":"`null` \\| `string`","description":"The product collection to associate with the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"tag_ids","type":"`string`[]","description":"The tags to associate with the product","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"category_ids","type":"`string`[]","description":"The product categories to associate with the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"options","type":"[UpsertProductOptionDTO](../../product/interfaces/product.UpsertProductOptionDTO/page.mdx)[]","description":"The associated options to create or update.","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"id","type":"`string`","description":"The ID of the product option to update. If not provided, the product\noption is created. In that case, the `title` and `values` properties are\nrequired.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"title","type":"`string`","description":"The product option's title.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"values","type":"`string`[]","description":"The product option values.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"product_id","type":"`string`","description":"The ID of the associated product.","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"width","type":"`null` \\| `number`","description":"The width of the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"height","type":"`null` \\| `number`","description":"The height of the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"length","type":"`null` \\| `number`","description":"The length of the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"weight","type":"`null` \\| `number`","description":"The weight of the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"origin_country","type":"`null` \\| `string`","description":"The origin country of the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"hs_code","type":"`null` \\| `string`","description":"The HS Code of the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"material","type":"`null` \\| `string`","description":"The material of the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"mid_code","type":"`null` \\| `string`","description":"The MID Code of the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"metadata","type":"[MetadataType](../../product/types/product.MetadataType/page.mdx)","description":"Holds custom data in key-value pairs.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"sales_channels","type":"`object`[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"id","type":"`string`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]}]},{"name":"variants","type":"[UpdateProductVariantWorkflowInputDTO](../../types/types/types.UpdateProductVariantWorkflowInputDTO/page.mdx)[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"id","type":"`string`","description":"The ID of the product variant to update.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"title","type":"`string`","description":"The tile of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"sku","type":"`null` \\| `string`","description":"The SKU of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"barcode","type":"`null` \\| `string`","description":"The barcode of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"ean","type":"`null` \\| `string`","description":"The EAN of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"upc","type":"`null` \\| `string`","description":"The UPC of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"allow_backorder","type":"`boolean`","description":"Whether the product variant can be ordered when it's out of stock.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"manage_inventory","type":"`boolean`","description":"Whether the product variant's inventory should be managed by the core system.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"hs_code","type":"`null` \\| `string`","description":"The HS Code of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"origin_country","type":"`null` \\| `string`","description":"The origin country of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"mid_code","type":"`null` \\| `string`","description":"The MID Code of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"material","type":"`null` \\| `string`","description":"The material of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"weight","type":"`null` \\| `number`","description":"The weight of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"length","type":"`null` \\| `number`","description":"The length of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"height","type":"`null` \\| `number`","description":"The height of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"width","type":"`null` \\| `number`","description":"The width of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"options","type":"`Record`","description":"The product variant options to associate with the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"metadata","type":"[MetadataType](../../product/types/product.MetadataType/page.mdx)","description":"Holds custom data in key-value pairs.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"prices","type":"[CreateMoneyAmountDTO](../../pricing/interfaces/pricing.CreateMoneyAmountDTO/page.mdx)[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]}]}]},{"name":"id","type":"`string`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"products","type":"Omit<[UpsertProductDTO](../../product/interfaces/product.UpsertProductDTO/page.mdx), \"variants\"> & `object`[]","description":"","optional":false,"defaultValue":"","expandable":false,"children":[{"name":"sales_channels","type":"`object`[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"id","type":"`string`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]}]},{"name":"variants","type":"[UpdateProductVariantWorkflowInputDTO](../../types/types/types.UpdateProductVariantWorkflowInputDTO/page.mdx)[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"id","type":"`string`","description":"The ID of the product variant to update.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"title","type":"`string`","description":"The tile of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"sku","type":"`null` \\| `string`","description":"The SKU of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"barcode","type":"`null` \\| `string`","description":"The barcode of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"ean","type":"`null` \\| `string`","description":"The EAN of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"upc","type":"`null` \\| `string`","description":"The UPC of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"allow_backorder","type":"`boolean`","description":"Whether the product variant can be ordered when it's out of stock.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"manage_inventory","type":"`boolean`","description":"Whether the product variant's inventory should be managed by the core system.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"hs_code","type":"`null` \\| `string`","description":"The HS Code of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"origin_country","type":"`null` \\| `string`","description":"The origin country of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"mid_code","type":"`null` \\| `string`","description":"The MID Code of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"material","type":"`null` \\| `string`","description":"The material of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"weight","type":"`null` \\| `number`","description":"The weight of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"length","type":"`null` \\| `number`","description":"The length of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"height","type":"`null` \\| `number`","description":"The height of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"width","type":"`null` \\| `number`","description":"The width of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"options","type":"`Record`","description":"The product variant options to associate with the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"metadata","type":"[MetadataType](../../product/types/product.MetadataType/page.mdx)","description":"Holds custom data in key-value pairs.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"prices","type":"[CreateMoneyAmountDTO](../../pricing/interfaces/pricing.CreateMoneyAmountDTO/page.mdx)[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]}]}]},{"name":"id","type":"`string`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"products","type":"[ProductDTO](../../product/interfaces/product.ProductDTO/page.mdx)[]","description":"","optional":false,"defaultValue":"","expandable":false,"children":[{"name":"id","type":"`string`","description":"The ID of the product.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"title","type":"`string`","description":"The title of the product.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"handle","type":"`string`","description":"The handle of the product. The handle can be used to create slug URL paths.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"subtitle","type":"`null` \\| `string`","description":"The subttle of the product.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"description","type":"`null` \\| `string`","description":"The description of the product.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"is_giftcard","type":"`boolean`","description":"Whether the product is a gift card.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"status","type":"[ProductStatus](../../product/types/product.ProductStatus/page.mdx)","description":"The status of the product.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"thumbnail","type":"`null` \\| `string`","description":"The URL of the product's thumbnail.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"width","type":"`null` \\| `number`","description":"The width of the product.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"weight","type":"`null` \\| `number`","description":"The weight of the product.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"length","type":"`null` \\| `number`","description":"The length of the product.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"height","type":"`null` \\| `number`","description":"The height of the product.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"origin_country","type":"`null` \\| `string`","description":"The origin country of the product.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"hs_code","type":"`null` \\| `string`","description":"The HS Code of the product.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"mid_code","type":"`null` \\| `string`","description":"The MID Code of the product.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"material","type":"`null` \\| `string`","description":"The material of the product.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"collection","type":"`null` \\| [ProductCollectionDTO](../../product/interfaces/product.ProductCollectionDTO/page.mdx)","description":"The associated product collection.","optional":false,"defaultValue":"","expandable":true,"children":[{"name":"id","type":"`string`","description":"The ID of the product collection.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"title","type":"`string`","description":"The title of the product collection.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"handle","type":"`string`","description":"The handle of the product collection. The handle can be used to create slug URL paths.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"created_at","type":"`string` \\| `Date`","description":"When the product collection was created.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"updated_at","type":"`string` \\| `Date`","description":"When the product collection was updated.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"metadata","type":"[MetadataType](../../product/types/product.MetadataType/page.mdx)","description":"Holds custom data in key-value pairs.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"deleted_at","type":"`string` \\| `Date`","description":"When the product collection was deleted.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"products","type":"[ProductDTO](../../product/interfaces/product.ProductDTO/page.mdx)[]","description":"The associated products.","optional":true,"defaultValue":"","expandable":true,"children":[]}]},{"name":"collection_id","type":"`null` \\| `string`","description":"The associated product collection id.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"type","type":"`null` \\| [ProductTypeDTO](../../product/interfaces/product.ProductTypeDTO/page.mdx)","description":"The associated product type.","optional":false,"defaultValue":"","expandable":true,"children":[{"name":"id","type":"`string`","description":"The ID of the product type.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"value","type":"`string`","description":"The value of the product type.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"created_at","type":"`string` \\| `Date`","description":"When the product type was created.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"updated_at","type":"`string` \\| `Date`","description":"When the product type was updated.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"metadata","type":"[MetadataType](../../product/types/product.MetadataType/page.mdx)","description":"Holds custom data in key-value pairs.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"deleted_at","type":"`string` \\| `Date`","description":"When the product type was deleted.","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"type_id","type":"`null` \\| `string`","description":"The associated product type id.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"tags","type":"[ProductTagDTO](../../product/interfaces/product.ProductTagDTO/page.mdx)[]","description":"The associated product tags.","optional":false,"defaultValue":"","expandable":true,"children":[{"name":"id","type":"`string`","description":"The ID of the product tag.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"value","type":"`string`","description":"The value of the product tag.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"metadata","type":"[MetadataType](../../product/types/product.MetadataType/page.mdx)","description":"Holds custom data in key-value pairs.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"products","type":"[ProductDTO](../../product/interfaces/product.ProductDTO/page.mdx)[]","description":"The associated products.","optional":true,"defaultValue":"","expandable":true,"children":[]}]},{"name":"variants","type":"[ProductVariantDTO](../../product/interfaces/product.ProductVariantDTO/page.mdx)[]","description":"The associated product variants.","optional":false,"defaultValue":"","expandable":true,"children":[{"name":"id","type":"`string`","description":"The ID of the product variant.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"title","type":"`string`","description":"The tile of the product variant.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"sku","type":"`null` \\| `string`","description":"The SKU of the product variant.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"barcode","type":"`null` \\| `string`","description":"The barcode of the product variant.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"ean","type":"`null` \\| `string`","description":"The EAN of the product variant.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"upc","type":"`null` \\| `string`","description":"The UPC of the product variant.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"allow_backorder","type":"`boolean`","description":"Whether the product variant can be ordered when it's out of stock.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"manage_inventory","type":"`boolean`","description":"Whether the product variant's inventory should be managed by the core system.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"requires_shipping","type":"`boolean`","description":"Whether the product variant's requires shipping.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"hs_code","type":"`null` \\| `string`","description":"The HS Code of the product variant.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"origin_country","type":"`null` \\| `string`","description":"The origin country of the product variant.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"mid_code","type":"`null` \\| `string`","description":"The MID Code of the product variant.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"material","type":"`null` \\| `string`","description":"The material of the product variant.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"weight","type":"`null` \\| `number`","description":"The weight of the product variant.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"length","type":"`null` \\| `number`","description":"The length of the product variant.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"height","type":"`null` \\| `number`","description":"The height of the product variant.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"width","type":"`null` \\| `number`","description":"The width of the product variant.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"options","type":"[ProductOptionValueDTO](../../product/interfaces/product.ProductOptionValueDTO/page.mdx)[]","description":"The associated product options.","optional":false,"defaultValue":"","expandable":true,"children":[]},{"name":"metadata","type":"`null` \\| `Record`","description":"Holds custom data in key-value pairs.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"product_id","type":"`null` \\| `string`","description":"The associated product id.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"created_at","type":"`string` \\| `Date`","description":"When the product variant was created.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"updated_at","type":"`string` \\| `Date`","description":"When the product variant was updated.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"deleted_at","type":"`string` \\| `Date`","description":"When the product variant was deleted.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"product","type":"`null` \\| [ProductDTO](../../product/interfaces/product.ProductDTO/page.mdx)","description":"The associated product.","optional":true,"defaultValue":"","expandable":true,"children":[]},{"name":"variant_rank","type":"`null` \\| `number`","description":"he ranking of the variant among other variants associated with the product.","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"options","type":"[ProductOptionDTO](../../product/interfaces/product.ProductOptionDTO/page.mdx)[]","description":"The associated product options.","optional":false,"defaultValue":"","expandable":true,"children":[{"name":"id","type":"`string`","description":"The ID of the product option.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"title","type":"`string`","description":"The title of the product option.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"values","type":"[ProductOptionValueDTO](../../product/interfaces/product.ProductOptionValueDTO/page.mdx)[]","description":"The associated product option values.","optional":false,"defaultValue":"","expandable":true,"children":[]},{"name":"created_at","type":"`string` \\| `Date`","description":"When the product option was created.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"updated_at","type":"`string` \\| `Date`","description":"When the product option was updated.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"product","type":"`null` \\| [ProductDTO](../../product/interfaces/product.ProductDTO/page.mdx)","description":"The associated product.","optional":true,"defaultValue":"","expandable":true,"children":[]},{"name":"product_id","type":"`null` \\| `string`","description":"The associated product id.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"metadata","type":"[MetadataType](../../product/types/product.MetadataType/page.mdx)","description":"Holds custom data in key-value pairs.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"deleted_at","type":"`string` \\| `Date`","description":"When the product option was deleted.","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"images","type":"[ProductImageDTO](../../product/interfaces/product.ProductImageDTO/page.mdx)[]","description":"The associated product images.","optional":false,"defaultValue":"","expandable":true,"children":[{"name":"id","type":"`string`","description":"The ID of the product image.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"url","type":"`string`","description":"The URL of the product image.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"created_at","type":"`string` \\| `Date`","description":"When the product image was created.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"updated_at","type":"`string` \\| `Date`","description":"When the product image was updated.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"metadata","type":"[MetadataType](../../product/types/product.MetadataType/page.mdx)","description":"Holds custom data in key-value pairs.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"deleted_at","type":"`string` \\| `Date`","description":"When the product image was deleted.","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"external_id","type":"`null` \\| `string`","description":"The ID of the product in an external system. This is useful if you're integrating the product with a third-party service and want to maintain\na reference to the ID in the integrated service.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"created_at","type":"`string` \\| `Date`","description":"When the product was created.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"updated_at","type":"`string` \\| `Date`","description":"When the product was updated.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"deleted_at","type":"`string` \\| `Date`","description":"When the product was deleted.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"categories","type":"`null` \\| [ProductCategoryDTO](../../product/interfaces/product.ProductCategoryDTO/page.mdx)[]","description":"The associated product categories.","optional":true,"defaultValue":"","expandable":true,"children":[{"name":"id","type":"`string`","description":"The ID of the product category.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"name","type":"`string`","description":"The name of the product category.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"description","type":"`string`","description":"The description of the product category.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"handle","type":"`string`","description":"The handle of the product category. The handle can be used to create slug URL paths.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"is_active","type":"`boolean`","description":"Whether the product category is active.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"is_internal","type":"`boolean`","description":"Whether the product category is internal. This can be used to only show the product category to admins and hide it from customers.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"rank","type":"`number`","description":"The ranking of the product category among sibling categories.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"parent_category","type":"`null` \\| [ProductCategoryDTO](../../product/interfaces/product.ProductCategoryDTO/page.mdx)","description":"The associated parent category.","optional":false,"defaultValue":"","expandable":true,"children":[]},{"name":"parent_category_id","type":"`null` \\| `string`","description":"The associated parent category id.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"category_children","type":"[ProductCategoryDTO](../../product/interfaces/product.ProductCategoryDTO/page.mdx)[]","description":"The associated child categories.","optional":false,"defaultValue":"","expandable":true,"children":[]},{"name":"products","type":"[ProductDTO](../../product/interfaces/product.ProductDTO/page.mdx)[]","description":"The associated products.","optional":false,"defaultValue":"","expandable":true,"children":[]},{"name":"created_at","type":"`string` \\| `Date`","description":"When the product category was created.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"updated_at","type":"`string` \\| `Date`","description":"When the product category was updated.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"metadata","type":"[MetadataType](../../product/types/product.MetadataType/page.mdx)","description":"The ranking of the product category among sibling categories.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"deleted_at","type":"`string` \\| `Date`","description":"When the product category was deleted.","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"discountable","type":"`boolean`","description":"Whether the product can be discounted.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"metadata","type":"[MetadataType](../../product/types/product.MetadataType/page.mdx)","description":"Holds custom data in key-value pairs.","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"additional_data","type":"`Record | undefined`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"variantPrices","type":"`object`[]","description":"","optional":false,"defaultValue":"","expandable":false,"children":[{"name":"variant_id","type":"`string`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"product_id","type":"`string`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"prices","type":"([CreatePricesDTO](../../pricing/interfaces/pricing.CreatePricesDTO/page.mdx) \\| `UpdatePricesDTO`)[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"currency_code","type":"`string`","description":"The currency code of this money amount.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"amount","type":"[BigNumberInput](../../pricing/types/pricing.BigNumberInput/page.mdx)","description":"The amount of this money amount.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"id","type":"`string`","description":"The ID of the money amount.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"min_quantity","type":"`null` \\| [BigNumberInput](../../pricing/types/pricing.BigNumberInput/page.mdx)","description":"The minimum quantity required to be purchased for this money amount to be applied.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"max_quantity","type":"`null` \\| [BigNumberInput](../../pricing/types/pricing.BigNumberInput/page.mdx)","description":"The maximum quantity required to be purchased for this money amount to be applied.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"rules","type":"[CreatePriceSetPriceRules](../../pricing/interfaces/pricing.CreatePriceSetPriceRules/page.mdx)","description":"The rules to add to the price. The object's keys are the attribute, and values are the value of that rule associated with this price.","optional":true,"defaultValue":"","expandable":false,"children":[]}]}]},{"name":"variant_id","type":"`string`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"product_id","type":"`string`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"previousVariantIds","type":"`string`[]","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"prices","type":"[CreateMoneyAmountDTO](../../pricing/interfaces/pricing.CreateMoneyAmountDTO/page.mdx)[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"currency_code","type":"`string`","description":"The currency code of this money amount.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"amount","type":"[BigNumberInput](../../pricing/types/pricing.BigNumberInput/page.mdx)","description":"The amount of this money amount.","optional":false,"defaultValue":"","expandable":false,"children":[{"name":"value","type":"`string` \\| `number`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"numeric","type":"`number`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"raw","type":"[BigNumberRawValue](../../pricing/types/pricing.BigNumberRawValue/page.mdx)","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"bigNumber","type":"`BigNumber`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"id","type":"`string`","description":"The ID of the money amount.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"min_quantity","type":"`null` \\| [BigNumberInput](../../pricing/types/pricing.BigNumberInput/page.mdx)","description":"The minimum quantity required to be purchased for this money amount to be applied.","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"value","type":"`string` \\| `number`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"numeric","type":"`number`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"raw","type":"[BigNumberRawValue](../../pricing/types/pricing.BigNumberRawValue/page.mdx)","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"bigNumber","type":"`BigNumber`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"max_quantity","type":"`null` \\| [BigNumberInput](../../pricing/types/pricing.BigNumberInput/page.mdx)","description":"The maximum quantity required to be purchased for this money amount to be applied.","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"value","type":"`string` \\| `number`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"numeric","type":"`number`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"raw","type":"[BigNumberRawValue](../../pricing/types/pricing.BigNumberRawValue/page.mdx)","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"bigNumber","type":"`BigNumber`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]}]}]},{"name":"inventory_items","type":"`object`[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"inventory_item_id","type":"`string`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"required_quantity","type":"`number`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"required_quantity","type":"`number`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"prices","type":"Partial<[CreateMoneyAmountDTO](../../pricing/interfaces/pricing.CreateMoneyAmountDTO/page.mdx)>[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"currency_code","type":"`string`","description":"The currency code of this money amount.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"amount","type":"[BigNumberInput](../../pricing/types/pricing.BigNumberInput/page.mdx)","description":"The amount of this money amount.","optional":false,"defaultValue":"","expandable":false,"children":[{"name":"value","type":"`string` \\| `number`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"numeric","type":"`number`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"raw","type":"[BigNumberRawValue](../../pricing/types/pricing.BigNumberRawValue/page.mdx)","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"bigNumber","type":"`BigNumber`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"id","type":"`string`","description":"The ID of the money amount.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"min_quantity","type":"`null` \\| [BigNumberInput](../../pricing/types/pricing.BigNumberInput/page.mdx)","description":"The minimum quantity required to be purchased for this money amount to be applied.","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"value","type":"`string` \\| `number`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"numeric","type":"`number`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"raw","type":"[BigNumberRawValue](../../pricing/types/pricing.BigNumberRawValue/page.mdx)","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"bigNumber","type":"`BigNumber`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"max_quantity","type":"`null` \\| [BigNumberInput](../../pricing/types/pricing.BigNumberInput/page.mdx)","description":"The maximum quantity required to be purchased for this money amount to be applied.","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"value","type":"`string` \\| `number`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"numeric","type":"`number`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"raw","type":"[BigNumberRawValue](../../pricing/types/pricing.BigNumberRawValue/page.mdx)","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"bigNumber","type":"`BigNumber`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]}]}]},{"name":"prices","type":"Partial<[CreateMoneyAmountDTO](../../pricing/interfaces/pricing.CreateMoneyAmountDTO/page.mdx)>[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"currency_code","type":"`string`","description":"The currency code of this money amount.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"amount","type":"[BigNumberInput](../../pricing/types/pricing.BigNumberInput/page.mdx)","description":"The amount of this money amount.","optional":false,"defaultValue":"","expandable":false,"children":[{"name":"value","type":"`string` \\| `number`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"numeric","type":"`number`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"raw","type":"[BigNumberRawValue](../../pricing/types/pricing.BigNumberRawValue/page.mdx)","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"bigNumber","type":"`BigNumber`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"id","type":"`string`","description":"The ID of the money amount.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"min_quantity","type":"`null` \\| [BigNumberInput](../../pricing/types/pricing.BigNumberInput/page.mdx)","description":"The minimum quantity required to be purchased for this money amount to be applied.","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"value","type":"`string` \\| `number`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"numeric","type":"`number`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"raw","type":"[BigNumberRawValue](../../pricing/types/pricing.BigNumberRawValue/page.mdx)","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"bigNumber","type":"`BigNumber`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"max_quantity","type":"`null` \\| [BigNumberInput](../../pricing/types/pricing.BigNumberInput/page.mdx)","description":"The maximum quantity required to be purchased for this money amount to be applied.","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"value","type":"`string` \\| `number`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"numeric","type":"`number`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"raw","type":"[BigNumberRawValue](../../pricing/types/pricing.BigNumberRawValue/page.mdx)","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"bigNumber","type":"`BigNumber`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]}]}]},{"name":"sales_channels","type":"`object`[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"id","type":"`string`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]}]},{"name":"variants","type":"[UpdateProductVariantWorkflowInputDTO](../../types/types/types.UpdateProductVariantWorkflowInputDTO/page.mdx)[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"id","type":"`string`","description":"The ID of the product variant to update.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"title","type":"`string`","description":"The tile of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"sku","type":"`null` \\| `string`","description":"The SKU of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"barcode","type":"`null` \\| `string`","description":"The barcode of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"ean","type":"`null` \\| `string`","description":"The EAN of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"upc","type":"`null` \\| `string`","description":"The UPC of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"allow_backorder","type":"`boolean`","description":"Whether the product variant can be ordered when it's out of stock.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"manage_inventory","type":"`boolean`","description":"Whether the product variant's inventory should be managed by the core system.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"hs_code","type":"`null` \\| `string`","description":"The HS Code of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"origin_country","type":"`null` \\| `string`","description":"The origin country of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"mid_code","type":"`null` \\| `string`","description":"The MID Code of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"material","type":"`null` \\| `string`","description":"The material of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"weight","type":"`null` \\| `number`","description":"The weight of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"length","type":"`null` \\| `number`","description":"The length of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"height","type":"`null` \\| `number`","description":"The height of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"width","type":"`null` \\| `number`","description":"The width of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"options","type":"`Record`","description":"The product variant options to associate with the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"metadata","type":"[MetadataType](../../product/types/product.MetadataType/page.mdx)","description":"Holds custom data in key-value pairs.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"prices","type":"[CreateMoneyAmountDTO](../../pricing/interfaces/pricing.CreateMoneyAmountDTO/page.mdx)[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"currency_code","type":"`string`","description":"The currency code of this money amount.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"amount","type":"[BigNumberInput](../../pricing/types/pricing.BigNumberInput/page.mdx)","description":"The amount of this money amount.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"id","type":"`string`","description":"The ID of the money amount.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"min_quantity","type":"`null` \\| [BigNumberInput](../../pricing/types/pricing.BigNumberInput/page.mdx)","description":"The minimum quantity required to be purchased for this money amount to be applied.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"max_quantity","type":"`null` \\| [BigNumberInput](../../pricing/types/pricing.BigNumberInput/page.mdx)","description":"The maximum quantity required to be purchased for this money amount to be applied.","optional":true,"defaultValue":"","expandable":false,"children":[]}]}]},{"name":"sales_channels","type":"`object`[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"id","type":"`string`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]}]},{"name":"variants","type":"[UpdateProductVariantWorkflowInputDTO](../../types/types/types.UpdateProductVariantWorkflowInputDTO/page.mdx)[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"id","type":"`string`","description":"The ID of the product variant to update.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"title","type":"`string`","description":"The tile of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"sku","type":"`null` \\| `string`","description":"The SKU of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"barcode","type":"`null` \\| `string`","description":"The barcode of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"ean","type":"`null` \\| `string`","description":"The EAN of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"upc","type":"`null` \\| `string`","description":"The UPC of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"allow_backorder","type":"`boolean`","description":"Whether the product variant can be ordered when it's out of stock.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"manage_inventory","type":"`boolean`","description":"Whether the product variant's inventory should be managed by the core system.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"hs_code","type":"`null` \\| `string`","description":"The HS Code of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"origin_country","type":"`null` \\| `string`","description":"The origin country of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"mid_code","type":"`null` \\| `string`","description":"The MID Code of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"material","type":"`null` \\| `string`","description":"The material of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"weight","type":"`null` \\| `number`","description":"The weight of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"length","type":"`null` \\| `number`","description":"The length of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"height","type":"`null` \\| `number`","description":"The height of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"width","type":"`null` \\| `number`","description":"The width of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"options","type":"`Record`","description":"The product variant options to associate with the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"metadata","type":"[MetadataType](../../product/types/product.MetadataType/page.mdx)","description":"Holds custom data in key-value pairs.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"prices","type":"[CreateMoneyAmountDTO](../../pricing/interfaces/pricing.CreateMoneyAmountDTO/page.mdx)[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"currency_code","type":"`string`","description":"The currency code of this money amount.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"amount","type":"[BigNumberInput](../../pricing/types/pricing.BigNumberInput/page.mdx)","description":"The amount of this money amount.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"id","type":"`string`","description":"The ID of the money amount.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"min_quantity","type":"`null` \\| [BigNumberInput](../../pricing/types/pricing.BigNumberInput/page.mdx)","description":"The minimum quantity required to be purchased for this money amount to be applied.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"max_quantity","type":"`null` \\| [BigNumberInput](../../pricing/types/pricing.BigNumberInput/page.mdx)","description":"The maximum quantity required to be purchased for this money amount to be applied.","optional":true,"defaultValue":"","expandable":false,"children":[]}]}]},{"name":"prices","type":"([CreatePricesDTO](../../pricing/interfaces/pricing.CreatePricesDTO/page.mdx) \\| `UpdatePricesDTO`)[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"currency_code","type":"`string`","description":"The currency code of this money amount.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"amount","type":"[BigNumberInput](../../pricing/types/pricing.BigNumberInput/page.mdx)","description":"The amount of this money amount.","optional":false,"defaultValue":"","expandable":false,"children":[{"name":"value","type":"`string` \\| `number`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"numeric","type":"`number`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"raw","type":"[BigNumberRawValue](../../pricing/types/pricing.BigNumberRawValue/page.mdx)","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"bigNumber","type":"`BigNumber`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"id","type":"`string`","description":"The ID of the money amount.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"min_quantity","type":"`null` \\| [BigNumberInput](../../pricing/types/pricing.BigNumberInput/page.mdx)","description":"The minimum quantity required to be purchased for this money amount to be applied.","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"value","type":"`string` \\| `number`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"numeric","type":"`number`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"raw","type":"[BigNumberRawValue](../../pricing/types/pricing.BigNumberRawValue/page.mdx)","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"bigNumber","type":"`BigNumber`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"max_quantity","type":"`null` \\| [BigNumberInput](../../pricing/types/pricing.BigNumberInput/page.mdx)","description":"The maximum quantity required to be purchased for this money amount to be applied.","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"value","type":"`string` \\| `number`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"numeric","type":"`number`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"raw","type":"[BigNumberRawValue](../../pricing/types/pricing.BigNumberRawValue/page.mdx)","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"bigNumber","type":"`BigNumber`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"rules","type":"[CreatePriceSetPriceRules](../../pricing/interfaces/pricing.CreatePriceSetPriceRules/page.mdx)","description":"The rules to add to the price. The object's keys are the attribute, and values are the value of that rule associated with this price.","optional":true,"defaultValue":"","expandable":false,"children":[]}]}]} expandUrl="https://docs.medusajs.com/v2/advanced-development/data-models/manage-relationships#retrieve-records-of-relation" sectionTitle="Workflows_Product"/> + | undefined`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"product_options","type":"[CreateProductOptionDTO](../../product/interfaces/product.CreateProductOptionDTO/page.mdx)[]","description":"","optional":false,"defaultValue":"","expandable":false,"children":[{"name":"title","type":"`string`","description":"The product option's title.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"values","type":"`string`[]","description":"The product option values.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"product_id","type":"`string`","description":"The ID of the associated product.","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"product_options","type":"[ProductOptionDTO](../../product/interfaces/product.ProductOptionDTO/page.mdx)[]","description":"","optional":false,"defaultValue":"","expandable":false,"children":[{"name":"id","type":"`string`","description":"The ID of the product option.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"title","type":"`string`","description":"The title of the product option.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"values","type":"[ProductOptionValueDTO](../../product/interfaces/product.ProductOptionValueDTO/page.mdx)[]","description":"The associated product option values.","optional":false,"defaultValue":"","expandable":true,"children":[{"name":"id","type":"`string`","description":"The ID of the product option value.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"value","type":"`string`","description":"The value of the product option value.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"created_at","type":"`string` \\| `Date`","description":"When the product option value was created.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"updated_at","type":"`string` \\| `Date`","description":"When the product option value was updated.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"option","type":"`null` \\| [ProductOptionDTO](../../product/interfaces/product.ProductOptionDTO/page.mdx)","description":"The associated product option. It may only be available if the `option` relation is expanded.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"option_id","type":"`null` \\| `string`","description":"The associated product option id.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"metadata","type":"[MetadataType](../../product/types/product.MetadataType/page.mdx)","description":"Holds custom data in key-value pairs.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"deleted_at","type":"`string` \\| `Date`","description":"When the product option value was deleted.","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"created_at","type":"`string` \\| `Date`","description":"When the product option was created.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"updated_at","type":"`string` \\| `Date`","description":"When the product option was updated.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"product","type":"`null` \\| [ProductDTO](../../product/interfaces/product.ProductDTO/page.mdx)","description":"The associated product.","optional":true,"defaultValue":"","expandable":true,"children":[{"name":"id","type":"`string`","description":"The ID of the product.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"title","type":"`string`","description":"The title of the product.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"handle","type":"`string`","description":"The handle of the product. The handle can be used to create slug URL paths.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"subtitle","type":"`null` \\| `string`","description":"The subttle of the product.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"description","type":"`null` \\| `string`","description":"The description of the product.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"is_giftcard","type":"`boolean`","description":"Whether the product is a gift card.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"status","type":"[ProductStatus](../../product/types/product.ProductStatus/page.mdx)","description":"The status of the product.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"thumbnail","type":"`null` \\| `string`","description":"The URL of the product's thumbnail.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"width","type":"`null` \\| `number`","description":"The width of the product.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"weight","type":"`null` \\| `number`","description":"The weight of the product.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"length","type":"`null` \\| `number`","description":"The length of the product.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"height","type":"`null` \\| `number`","description":"The height of the product.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"origin_country","type":"`null` \\| `string`","description":"The origin country of the product.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"hs_code","type":"`null` \\| `string`","description":"The HS Code of the product.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"mid_code","type":"`null` \\| `string`","description":"The MID Code of the product.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"material","type":"`null` \\| `string`","description":"The material of the product.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"collection","type":"`null` \\| [ProductCollectionDTO](../../product/interfaces/product.ProductCollectionDTO/page.mdx)","description":"The associated product collection.","optional":false,"defaultValue":"","expandable":true,"children":[]},{"name":"collection_id","type":"`null` \\| `string`","description":"The associated product collection id.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"type","type":"`null` \\| [ProductTypeDTO](../../product/interfaces/product.ProductTypeDTO/page.mdx)","description":"The associated product type.","optional":false,"defaultValue":"","expandable":true,"children":[]},{"name":"type_id","type":"`null` \\| `string`","description":"The associated product type id.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"tags","type":"[ProductTagDTO](../../product/interfaces/product.ProductTagDTO/page.mdx)[]","description":"The associated product tags.","optional":false,"defaultValue":"","expandable":true,"children":[]},{"name":"variants","type":"[ProductVariantDTO](../../product/interfaces/product.ProductVariantDTO/page.mdx)[]","description":"The associated product variants.","optional":false,"defaultValue":"","expandable":true,"children":[]},{"name":"options","type":"[ProductOptionDTO](../../product/interfaces/product.ProductOptionDTO/page.mdx)[]","description":"The associated product options.","optional":false,"defaultValue":"","expandable":true,"children":[]},{"name":"images","type":"[ProductImageDTO](../../product/interfaces/product.ProductImageDTO/page.mdx)[]","description":"The associated product images.","optional":false,"defaultValue":"","expandable":true,"children":[]},{"name":"external_id","type":"`null` \\| `string`","description":"The ID of the product in an external system. This is useful if you're integrating the product with a third-party service and want to maintain\na reference to the ID in the integrated service.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"created_at","type":"`string` \\| `Date`","description":"When the product was created.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"updated_at","type":"`string` \\| `Date`","description":"When the product was updated.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"deleted_at","type":"`string` \\| `Date`","description":"When the product was deleted.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"categories","type":"`null` \\| [ProductCategoryDTO](../../product/interfaces/product.ProductCategoryDTO/page.mdx)[]","description":"The associated product categories.","optional":true,"defaultValue":"","expandable":true,"children":[]},{"name":"discountable","type":"`boolean`","description":"Whether the product can be discounted.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"metadata","type":"[MetadataType](../../product/types/product.MetadataType/page.mdx)","description":"Holds custom data in key-value pairs.","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"product_id","type":"`null` \\| `string`","description":"The associated product id.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"metadata","type":"[MetadataType](../../product/types/product.MetadataType/page.mdx)","description":"Holds custom data in key-value pairs.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"deleted_at","type":"`string` \\| `Date`","description":"When the product option was deleted.","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"additional_data","type":"`Record | undefined`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"product_tags","type":"[CreateProductTagDTO](../../product/interfaces/product.CreateProductTagDTO/page.mdx)[]","description":"","optional":false,"defaultValue":"","expandable":false,"children":[{"name":"value","type":"`string`","description":"The value of the product tag.","optional":false,"defaultValue":"","expandable":false,"children":[]}]},{"name":"product_tags","type":"[ProductTagDTO](../../product/interfaces/product.ProductTagDTO/page.mdx)[]","description":"","optional":false,"defaultValue":"","expandable":false,"children":[{"name":"id","type":"`string`","description":"The ID of the product tag.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"value","type":"`string`","description":"The value of the product tag.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"metadata","type":"[MetadataType](../../product/types/product.MetadataType/page.mdx)","description":"Holds custom data in key-value pairs.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"products","type":"[ProductDTO](../../product/interfaces/product.ProductDTO/page.mdx)[]","description":"The associated products.","optional":true,"defaultValue":"","expandable":true,"children":[{"name":"id","type":"`string`","description":"The ID of the product.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"title","type":"`string`","description":"The title of the product.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"handle","type":"`string`","description":"The handle of the product. The handle can be used to create slug URL paths.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"subtitle","type":"`null` \\| `string`","description":"The subttle of the product.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"description","type":"`null` \\| `string`","description":"The description of the product.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"is_giftcard","type":"`boolean`","description":"Whether the product is a gift card.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"status","type":"[ProductStatus](../../product/types/product.ProductStatus/page.mdx)","description":"The status of the product.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"thumbnail","type":"`null` \\| `string`","description":"The URL of the product's thumbnail.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"width","type":"`null` \\| `number`","description":"The width of the product.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"weight","type":"`null` \\| `number`","description":"The weight of the product.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"length","type":"`null` \\| `number`","description":"The length of the product.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"height","type":"`null` \\| `number`","description":"The height of the product.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"origin_country","type":"`null` \\| `string`","description":"The origin country of the product.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"hs_code","type":"`null` \\| `string`","description":"The HS Code of the product.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"mid_code","type":"`null` \\| `string`","description":"The MID Code of the product.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"material","type":"`null` \\| `string`","description":"The material of the product.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"collection","type":"`null` \\| [ProductCollectionDTO](../../product/interfaces/product.ProductCollectionDTO/page.mdx)","description":"The associated product collection.","optional":false,"defaultValue":"","expandable":true,"children":[]},{"name":"collection_id","type":"`null` \\| `string`","description":"The associated product collection id.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"type","type":"`null` \\| [ProductTypeDTO](../../product/interfaces/product.ProductTypeDTO/page.mdx)","description":"The associated product type.","optional":false,"defaultValue":"","expandable":true,"children":[]},{"name":"type_id","type":"`null` \\| `string`","description":"The associated product type id.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"tags","type":"[ProductTagDTO](../../product/interfaces/product.ProductTagDTO/page.mdx)[]","description":"The associated product tags.","optional":false,"defaultValue":"","expandable":true,"children":[]},{"name":"variants","type":"[ProductVariantDTO](../../product/interfaces/product.ProductVariantDTO/page.mdx)[]","description":"The associated product variants.","optional":false,"defaultValue":"","expandable":true,"children":[]},{"name":"options","type":"[ProductOptionDTO](../../product/interfaces/product.ProductOptionDTO/page.mdx)[]","description":"The associated product options.","optional":false,"defaultValue":"","expandable":true,"children":[]},{"name":"images","type":"[ProductImageDTO](../../product/interfaces/product.ProductImageDTO/page.mdx)[]","description":"The associated product images.","optional":false,"defaultValue":"","expandable":true,"children":[]},{"name":"external_id","type":"`null` \\| `string`","description":"The ID of the product in an external system. This is useful if you're integrating the product with a third-party service and want to maintain\na reference to the ID in the integrated service.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"created_at","type":"`string` \\| `Date`","description":"When the product was created.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"updated_at","type":"`string` \\| `Date`","description":"When the product was updated.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"deleted_at","type":"`string` \\| `Date`","description":"When the product was deleted.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"categories","type":"`null` \\| [ProductCategoryDTO](../../product/interfaces/product.ProductCategoryDTO/page.mdx)[]","description":"The associated product categories.","optional":true,"defaultValue":"","expandable":true,"children":[]},{"name":"discountable","type":"`boolean`","description":"Whether the product can be discounted.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"metadata","type":"[MetadataType](../../product/types/product.MetadataType/page.mdx)","description":"Holds custom data in key-value pairs.","optional":true,"defaultValue":"","expandable":false,"children":[]}]}]},{"name":"additional_data","type":"`Record | undefined`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"product_types","type":"[CreateProductTypeDTO](../../product/interfaces/product.CreateProductTypeDTO/page.mdx)[]","description":"","optional":false,"defaultValue":"","expandable":false,"children":[{"name":"value","type":"`string`","description":"The product type's value.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"metadata","type":"[MetadataType](../../product/types/product.MetadataType/page.mdx)","description":"Holds custom data in key-value pairs.","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"product_types","type":"[ProductTypeDTO](../../product/interfaces/product.ProductTypeDTO/page.mdx)[]","description":"","optional":false,"defaultValue":"","expandable":false,"children":[{"name":"id","type":"`string`","description":"The ID of the product type.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"value","type":"`string`","description":"The value of the product type.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"created_at","type":"`string` \\| `Date`","description":"When the product type was created.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"updated_at","type":"`string` \\| `Date`","description":"When the product type was updated.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"metadata","type":"[MetadataType](../../product/types/product.MetadataType/page.mdx)","description":"Holds custom data in key-value pairs.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"deleted_at","type":"`string` \\| `Date`","description":"When the product type was deleted.","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"additional_data","type":"`Record | undefined`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"product_variants","type":"[CreateProductVariantDTO](../../product/interfaces/product.CreateProductVariantDTO/page.mdx) & `object` & `object`[]","description":"","optional":false,"defaultValue":"","expandable":false,"children":[{"name":"title","type":"`string`","description":"The tile of the product variant.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"product_id","type":"`string`","description":"The id of the product","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"sku","type":"`string`","description":"The SKU of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"barcode","type":"`string`","description":"The barcode of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"ean","type":"`string`","description":"The EAN of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"upc","type":"`string`","description":"The UPC of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"allow_backorder","type":"`boolean`","description":"Whether the product variant can be ordered when it's out of stock.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"manage_inventory","type":"`boolean`","description":"Whether the product variant's inventory should be managed by the core system.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"hs_code","type":"`string`","description":"The HS Code of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"origin_country","type":"`string`","description":"The origin country of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"mid_code","type":"`string`","description":"The MID Code of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"material","type":"`string`","description":"The material of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"weight","type":"`number`","description":"The weight of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"length","type":"`number`","description":"The length of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"height","type":"`number`","description":"The height of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"width","type":"`number`","description":"The width of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"options","type":"`Record`","description":"The options of the variant. Each key is an option's title, and value\nis an option's value. If an option with the specified title doesn't exist,\na new one is created.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"metadata","type":"[MetadataType](../../product/types/product.MetadataType/page.mdx)","description":"Holds custom data in key-value pairs.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"prices","type":"[CreateMoneyAmountDTO](../../pricing/interfaces/pricing.CreateMoneyAmountDTO/page.mdx)[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"currency_code","type":"`string`","description":"The currency code of this money amount.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"amount","type":"[BigNumberInput](../../pricing/types/pricing.BigNumberInput/page.mdx)","description":"The amount of this money amount.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"id","type":"`string`","description":"The ID of the money amount.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"min_quantity","type":"`null` \\| [BigNumberInput](../../pricing/types/pricing.BigNumberInput/page.mdx)","description":"The minimum quantity required to be purchased for this money amount to be applied.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"max_quantity","type":"`null` \\| [BigNumberInput](../../pricing/types/pricing.BigNumberInput/page.mdx)","description":"The maximum quantity required to be purchased for this money amount to be applied.","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"inventory_items","type":"`object`[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"inventory_item_id","type":"`string`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"required_quantity","type":"`number`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]}]}]},{"name":"inventory_item_id","type":"`string`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"prices","type":"[MoneyAmountDTO](../../pricing/interfaces/pricing.MoneyAmountDTO/page.mdx)[]","description":"","optional":false,"defaultValue":"","expandable":false,"children":[{"name":"id","type":"`string`","description":"The ID of the money amount.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"created_at","type":"`Date`","description":"When the money\\_amount was created.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"updated_at","type":"`Date`","description":"When the money\\_amount was updated.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"deleted_at","type":"`null` \\| `Date`","description":"When the money\\_amount was deleted.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"currency_code","type":"`string`","description":"The currency code of this money amount.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"amount","type":"[BigNumberValue](../../pricing/types/pricing.BigNumberValue/page.mdx)","description":"The price of this money amount.","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"numeric","type":"`number`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"raw","type":"[BigNumberRawValue](../../pricing/types/pricing.BigNumberRawValue/page.mdx)","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"bigNumber","type":"`BigNumber`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"min_quantity","type":"[BigNumberValue](../../pricing/types/pricing.BigNumberValue/page.mdx)","description":"The minimum quantity required to be purchased for this price to be applied.","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"numeric","type":"`number`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"raw","type":"[BigNumberRawValue](../../pricing/types/pricing.BigNumberRawValue/page.mdx)","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"bigNumber","type":"`BigNumber`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"max_quantity","type":"[BigNumberValue](../../pricing/types/pricing.BigNumberValue/page.mdx)","description":"The maximum quantity required to be purchased for this price to be applied.","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"numeric","type":"`number`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"raw","type":"[BigNumberRawValue](../../pricing/types/pricing.BigNumberRawValue/page.mdx)","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"bigNumber","type":"`BigNumber`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"rules_count","type":"`number`","description":"The number of rules that apply to this price","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"price_rules","type":"[PriceRuleDTO](../../pricing/interfaces/pricing.PriceRuleDTO/page.mdx)[]","description":"The price rules that apply to this price","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"id","type":"`string`","description":"The ID of the price rule.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"price_set_id","type":"`string`","description":"The ID of the associated price set.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"price_set","type":"[PriceSetDTO](../../pricing/interfaces/pricing.PriceSetDTO/page.mdx)","description":"The associated price set.","optional":false,"defaultValue":"","expandable":true,"children":[]},{"name":"attribute","type":"`string`","description":"The attribute of the price rule","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"value","type":"`string`","description":"The value of the price rule.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"priority","type":"`number`","description":"The priority of the price rule in comparison to other applicable price rules.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"price_id","type":"`string`","description":"The ID of the associated price.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"price_list_id","type":"`string`","description":"The ID of the associated price list.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"created_at","type":"`Date`","description":"When the price\\_rule was created.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"updated_at","type":"`Date`","description":"When the price\\_rule was updated.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"deleted_at","type":"`null` \\| `Date`","description":"When the price\\_rule was deleted.","optional":false,"defaultValue":"","expandable":false,"children":[]}]}]},{"name":"prices","type":"[MoneyAmountDTO](../../pricing/interfaces/pricing.MoneyAmountDTO/page.mdx)[]","description":"","optional":false,"defaultValue":"","expandable":false,"children":[{"name":"id","type":"`string`","description":"The ID of the money amount.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"created_at","type":"`Date`","description":"When the money\\_amount was created.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"updated_at","type":"`Date`","description":"When the money\\_amount was updated.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"deleted_at","type":"`null` \\| `Date`","description":"When the money\\_amount was deleted.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"currency_code","type":"`string`","description":"The currency code of this money amount.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"amount","type":"[BigNumberValue](../../pricing/types/pricing.BigNumberValue/page.mdx)","description":"The price of this money amount.","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"numeric","type":"`number`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"raw","type":"[BigNumberRawValue](../../pricing/types/pricing.BigNumberRawValue/page.mdx)","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"bigNumber","type":"`BigNumber`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"min_quantity","type":"[BigNumberValue](../../pricing/types/pricing.BigNumberValue/page.mdx)","description":"The minimum quantity required to be purchased for this price to be applied.","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"numeric","type":"`number`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"raw","type":"[BigNumberRawValue](../../pricing/types/pricing.BigNumberRawValue/page.mdx)","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"bigNumber","type":"`BigNumber`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"max_quantity","type":"[BigNumberValue](../../pricing/types/pricing.BigNumberValue/page.mdx)","description":"The maximum quantity required to be purchased for this price to be applied.","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"numeric","type":"`number`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"raw","type":"[BigNumberRawValue](../../pricing/types/pricing.BigNumberRawValue/page.mdx)","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"bigNumber","type":"`BigNumber`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"rules_count","type":"`number`","description":"The number of rules that apply to this price","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"price_rules","type":"[PriceRuleDTO](../../pricing/interfaces/pricing.PriceRuleDTO/page.mdx)[]","description":"The price rules that apply to this price","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"id","type":"`string`","description":"The ID of the price rule.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"price_set_id","type":"`string`","description":"The ID of the associated price set.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"price_set","type":"[PriceSetDTO](../../pricing/interfaces/pricing.PriceSetDTO/page.mdx)","description":"The associated price set.","optional":false,"defaultValue":"","expandable":true,"children":[]},{"name":"attribute","type":"`string`","description":"The attribute of the price rule","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"value","type":"`string`","description":"The value of the price rule.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"priority","type":"`number`","description":"The priority of the price rule in comparison to other applicable price rules.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"price_id","type":"`string`","description":"The ID of the associated price.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"price_list_id","type":"`string`","description":"The ID of the associated price list.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"created_at","type":"`Date`","description":"When the price\\_rule was created.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"updated_at","type":"`Date`","description":"When the price\\_rule was updated.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"deleted_at","type":"`null` \\| `Date`","description":"When the price\\_rule was deleted.","optional":false,"defaultValue":"","expandable":false,"children":[]}]}]},{"name":"prices","type":"[MoneyAmountDTO](../../pricing/interfaces/pricing.MoneyAmountDTO/page.mdx)[]","description":"","optional":false,"defaultValue":"","expandable":false,"children":[{"name":"id","type":"`string`","description":"The ID of the money amount.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"created_at","type":"`Date`","description":"When the money\\_amount was created.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"updated_at","type":"`Date`","description":"When the money\\_amount was updated.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"deleted_at","type":"`null` \\| `Date`","description":"When the money\\_amount was deleted.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"currency_code","type":"`string`","description":"The currency code of this money amount.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"amount","type":"[BigNumberValue](../../pricing/types/pricing.BigNumberValue/page.mdx)","description":"The price of this money amount.","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"numeric","type":"`number`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"raw","type":"[BigNumberRawValue](../../pricing/types/pricing.BigNumberRawValue/page.mdx)","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"bigNumber","type":"`BigNumber`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"min_quantity","type":"[BigNumberValue](../../pricing/types/pricing.BigNumberValue/page.mdx)","description":"The minimum quantity required to be purchased for this price to be applied.","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"numeric","type":"`number`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"raw","type":"[BigNumberRawValue](../../pricing/types/pricing.BigNumberRawValue/page.mdx)","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"bigNumber","type":"`BigNumber`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"max_quantity","type":"[BigNumberValue](../../pricing/types/pricing.BigNumberValue/page.mdx)","description":"The maximum quantity required to be purchased for this price to be applied.","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"numeric","type":"`number`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"raw","type":"[BigNumberRawValue](../../pricing/types/pricing.BigNumberRawValue/page.mdx)","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"bigNumber","type":"`BigNumber`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"rules_count","type":"`number`","description":"The number of rules that apply to this price","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"price_rules","type":"[PriceRuleDTO](../../pricing/interfaces/pricing.PriceRuleDTO/page.mdx)[]","description":"The price rules that apply to this price","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"id","type":"`string`","description":"The ID of the price rule.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"price_set_id","type":"`string`","description":"The ID of the associated price set.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"price_set","type":"[PriceSetDTO](../../pricing/interfaces/pricing.PriceSetDTO/page.mdx)","description":"The associated price set.","optional":false,"defaultValue":"","expandable":true,"children":[]},{"name":"attribute","type":"`string`","description":"The attribute of the price rule","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"value","type":"`string`","description":"The value of the price rule.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"priority","type":"`number`","description":"The priority of the price rule in comparison to other applicable price rules.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"price_id","type":"`string`","description":"The ID of the associated price.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"price_list_id","type":"`string`","description":"The ID of the associated price list.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"created_at","type":"`Date`","description":"When the price\\_rule was created.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"updated_at","type":"`Date`","description":"When the price\\_rule was updated.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"deleted_at","type":"`null` \\| `Date`","description":"When the price\\_rule was deleted.","optional":false,"defaultValue":"","expandable":false,"children":[]}]}]},{"name":"prices","type":"[MoneyAmountDTO](../../pricing/interfaces/pricing.MoneyAmountDTO/page.mdx)[]","description":"","optional":false,"defaultValue":"","expandable":false,"children":[{"name":"id","type":"`string`","description":"The ID of the money amount.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"created_at","type":"`Date`","description":"When the money\\_amount was created.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"updated_at","type":"`Date`","description":"When the money\\_amount was updated.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"deleted_at","type":"`null` \\| `Date`","description":"When the money\\_amount was deleted.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"currency_code","type":"`string`","description":"The currency code of this money amount.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"amount","type":"[BigNumberValue](../../pricing/types/pricing.BigNumberValue/page.mdx)","description":"The price of this money amount.","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"numeric","type":"`number`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"raw","type":"[BigNumberRawValue](../../pricing/types/pricing.BigNumberRawValue/page.mdx)","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"bigNumber","type":"`BigNumber`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"min_quantity","type":"[BigNumberValue](../../pricing/types/pricing.BigNumberValue/page.mdx)","description":"The minimum quantity required to be purchased for this price to be applied.","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"numeric","type":"`number`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"raw","type":"[BigNumberRawValue](../../pricing/types/pricing.BigNumberRawValue/page.mdx)","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"bigNumber","type":"`BigNumber`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"max_quantity","type":"[BigNumberValue](../../pricing/types/pricing.BigNumberValue/page.mdx)","description":"The maximum quantity required to be purchased for this price to be applied.","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"numeric","type":"`number`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"raw","type":"[BigNumberRawValue](../../pricing/types/pricing.BigNumberRawValue/page.mdx)","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"bigNumber","type":"`BigNumber`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"rules_count","type":"`number`","description":"The number of rules that apply to this price","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"price_rules","type":"[PriceRuleDTO](../../pricing/interfaces/pricing.PriceRuleDTO/page.mdx)[]","description":"The price rules that apply to this price","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"id","type":"`string`","description":"The ID of the price rule.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"price_set_id","type":"`string`","description":"The ID of the associated price set.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"price_set","type":"[PriceSetDTO](../../pricing/interfaces/pricing.PriceSetDTO/page.mdx)","description":"The associated price set.","optional":false,"defaultValue":"","expandable":true,"children":[]},{"name":"attribute","type":"`string`","description":"The attribute of the price rule","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"value","type":"`string`","description":"The value of the price rule.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"priority","type":"`number`","description":"The priority of the price rule in comparison to other applicable price rules.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"price_id","type":"`string`","description":"The ID of the associated price.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"price_list_id","type":"`string`","description":"The ID of the associated price list.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"created_at","type":"`Date`","description":"When the price\\_rule was created.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"updated_at","type":"`Date`","description":"When the price\\_rule was updated.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"deleted_at","type":"`null` \\| `Date`","description":"When the price\\_rule was deleted.","optional":false,"defaultValue":"","expandable":false,"children":[]}]}]},{"name":"prices","type":"[MoneyAmountDTO](../../pricing/interfaces/pricing.MoneyAmountDTO/page.mdx)[]","description":"","optional":false,"defaultValue":"","expandable":false,"children":[{"name":"id","type":"`string`","description":"The ID of the money amount.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"created_at","type":"`Date`","description":"When the money\\_amount was created.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"updated_at","type":"`Date`","description":"When the money\\_amount was updated.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"deleted_at","type":"`null` \\| `Date`","description":"When the money\\_amount was deleted.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"currency_code","type":"`string`","description":"The currency code of this money amount.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"amount","type":"[BigNumberValue](../../pricing/types/pricing.BigNumberValue/page.mdx)","description":"The price of this money amount.","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"numeric","type":"`number`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"raw","type":"[BigNumberRawValue](../../pricing/types/pricing.BigNumberRawValue/page.mdx)","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"bigNumber","type":"`BigNumber`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"min_quantity","type":"[BigNumberValue](../../pricing/types/pricing.BigNumberValue/page.mdx)","description":"The minimum quantity required to be purchased for this price to be applied.","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"numeric","type":"`number`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"raw","type":"[BigNumberRawValue](../../pricing/types/pricing.BigNumberRawValue/page.mdx)","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"bigNumber","type":"`BigNumber`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"max_quantity","type":"[BigNumberValue](../../pricing/types/pricing.BigNumberValue/page.mdx)","description":"The maximum quantity required to be purchased for this price to be applied.","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"numeric","type":"`number`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"raw","type":"[BigNumberRawValue](../../pricing/types/pricing.BigNumberRawValue/page.mdx)","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"bigNumber","type":"`BigNumber`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"rules_count","type":"`number`","description":"The number of rules that apply to this price","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"price_rules","type":"[PriceRuleDTO](../../pricing/interfaces/pricing.PriceRuleDTO/page.mdx)[]","description":"The price rules that apply to this price","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"id","type":"`string`","description":"The ID of the price rule.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"price_set_id","type":"`string`","description":"The ID of the associated price set.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"price_set","type":"[PriceSetDTO](../../pricing/interfaces/pricing.PriceSetDTO/page.mdx)","description":"The associated price set.","optional":false,"defaultValue":"","expandable":true,"children":[]},{"name":"attribute","type":"`string`","description":"The attribute of the price rule","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"value","type":"`string`","description":"The value of the price rule.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"priority","type":"`number`","description":"The priority of the price rule in comparison to other applicable price rules.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"price_id","type":"`string`","description":"The ID of the associated price.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"price_list_id","type":"`string`","description":"The ID of the associated price list.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"created_at","type":"`Date`","description":"When the price\\_rule was created.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"updated_at","type":"`Date`","description":"When the price\\_rule was updated.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"deleted_at","type":"`null` \\| `Date`","description":"When the price\\_rule was deleted.","optional":false,"defaultValue":"","expandable":false,"children":[]}]}]},{"name":"prices","type":"[MoneyAmountDTO](../../pricing/interfaces/pricing.MoneyAmountDTO/page.mdx)[]","description":"","optional":false,"defaultValue":"","expandable":false,"children":[{"name":"id","type":"`string`","description":"The ID of the money amount.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"created_at","type":"`Date`","description":"When the money\\_amount was created.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"updated_at","type":"`Date`","description":"When the money\\_amount was updated.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"deleted_at","type":"`null` \\| `Date`","description":"When the money\\_amount was deleted.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"currency_code","type":"`string`","description":"The currency code of this money amount.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"amount","type":"[BigNumberValue](../../pricing/types/pricing.BigNumberValue/page.mdx)","description":"The price of this money amount.","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"numeric","type":"`number`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"raw","type":"[BigNumberRawValue](../../pricing/types/pricing.BigNumberRawValue/page.mdx)","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"bigNumber","type":"`BigNumber`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"min_quantity","type":"[BigNumberValue](../../pricing/types/pricing.BigNumberValue/page.mdx)","description":"The minimum quantity required to be purchased for this price to be applied.","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"numeric","type":"`number`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"raw","type":"[BigNumberRawValue](../../pricing/types/pricing.BigNumberRawValue/page.mdx)","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"bigNumber","type":"`BigNumber`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"max_quantity","type":"[BigNumberValue](../../pricing/types/pricing.BigNumberValue/page.mdx)","description":"The maximum quantity required to be purchased for this price to be applied.","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"numeric","type":"`number`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"raw","type":"[BigNumberRawValue](../../pricing/types/pricing.BigNumberRawValue/page.mdx)","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"bigNumber","type":"`BigNumber`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"rules_count","type":"`number`","description":"The number of rules that apply to this price","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"price_rules","type":"[PriceRuleDTO](../../pricing/interfaces/pricing.PriceRuleDTO/page.mdx)[]","description":"The price rules that apply to this price","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"id","type":"`string`","description":"The ID of the price rule.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"price_set_id","type":"`string`","description":"The ID of the associated price set.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"price_set","type":"[PriceSetDTO](../../pricing/interfaces/pricing.PriceSetDTO/page.mdx)","description":"The associated price set.","optional":false,"defaultValue":"","expandable":true,"children":[]},{"name":"attribute","type":"`string`","description":"The attribute of the price rule","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"value","type":"`string`","description":"The value of the price rule.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"priority","type":"`number`","description":"The priority of the price rule in comparison to other applicable price rules.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"price_id","type":"`string`","description":"The ID of the associated price.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"price_list_id","type":"`string`","description":"The ID of the associated price list.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"created_at","type":"`Date`","description":"When the price\\_rule was created.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"updated_at","type":"`Date`","description":"When the price\\_rule was updated.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"deleted_at","type":"`null` \\| `Date`","description":"When the price\\_rule was deleted.","optional":false,"defaultValue":"","expandable":false,"children":[]}]}]},{"name":"prices","type":"[MoneyAmountDTO](../../pricing/interfaces/pricing.MoneyAmountDTO/page.mdx)[]","description":"","optional":false,"defaultValue":"","expandable":false,"children":[{"name":"id","type":"`string`","description":"The ID of the money amount.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"created_at","type":"`Date`","description":"When the money\\_amount was created.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"updated_at","type":"`Date`","description":"When the money\\_amount was updated.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"deleted_at","type":"`null` \\| `Date`","description":"When the money\\_amount was deleted.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"currency_code","type":"`string`","description":"The currency code of this money amount.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"amount","type":"[BigNumberValue](../../pricing/types/pricing.BigNumberValue/page.mdx)","description":"The price of this money amount.","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"numeric","type":"`number`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"raw","type":"[BigNumberRawValue](../../pricing/types/pricing.BigNumberRawValue/page.mdx)","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"bigNumber","type":"`BigNumber`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"min_quantity","type":"[BigNumberValue](../../pricing/types/pricing.BigNumberValue/page.mdx)","description":"The minimum quantity required to be purchased for this price to be applied.","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"numeric","type":"`number`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"raw","type":"[BigNumberRawValue](../../pricing/types/pricing.BigNumberRawValue/page.mdx)","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"bigNumber","type":"`BigNumber`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"max_quantity","type":"[BigNumberValue](../../pricing/types/pricing.BigNumberValue/page.mdx)","description":"The maximum quantity required to be purchased for this price to be applied.","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"numeric","type":"`number`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"raw","type":"[BigNumberRawValue](../../pricing/types/pricing.BigNumberRawValue/page.mdx)","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"bigNumber","type":"`BigNumber`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"rules_count","type":"`number`","description":"The number of rules that apply to this price","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"price_rules","type":"[PriceRuleDTO](../../pricing/interfaces/pricing.PriceRuleDTO/page.mdx)[]","description":"The price rules that apply to this price","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"id","type":"`string`","description":"The ID of the price rule.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"price_set_id","type":"`string`","description":"The ID of the associated price set.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"price_set","type":"[PriceSetDTO](../../pricing/interfaces/pricing.PriceSetDTO/page.mdx)","description":"The associated price set.","optional":false,"defaultValue":"","expandable":true,"children":[]},{"name":"attribute","type":"`string`","description":"The attribute of the price rule","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"value","type":"`string`","description":"The value of the price rule.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"priority","type":"`number`","description":"The priority of the price rule in comparison to other applicable price rules.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"price_id","type":"`string`","description":"The ID of the associated price.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"price_list_id","type":"`string`","description":"The ID of the associated price list.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"created_at","type":"`Date`","description":"When the price\\_rule was created.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"updated_at","type":"`Date`","description":"When the price\\_rule was updated.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"deleted_at","type":"`null` \\| `Date`","description":"When the price\\_rule was deleted.","optional":false,"defaultValue":"","expandable":false,"children":[]}]}]},{"name":"prices","type":"[MoneyAmountDTO](../../pricing/interfaces/pricing.MoneyAmountDTO/page.mdx)[]","description":"","optional":false,"defaultValue":"","expandable":false,"children":[{"name":"id","type":"`string`","description":"The ID of the money amount.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"created_at","type":"`Date`","description":"When the money\\_amount was created.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"updated_at","type":"`Date`","description":"When the money\\_amount was updated.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"deleted_at","type":"`null` \\| `Date`","description":"When the money\\_amount was deleted.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"currency_code","type":"`string`","description":"The currency code of this money amount.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"amount","type":"[BigNumberValue](../../pricing/types/pricing.BigNumberValue/page.mdx)","description":"The price of this money amount.","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"numeric","type":"`number`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"raw","type":"[BigNumberRawValue](../../pricing/types/pricing.BigNumberRawValue/page.mdx)","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"bigNumber","type":"`BigNumber`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"min_quantity","type":"[BigNumberValue](../../pricing/types/pricing.BigNumberValue/page.mdx)","description":"The minimum quantity required to be purchased for this price to be applied.","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"numeric","type":"`number`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"raw","type":"[BigNumberRawValue](../../pricing/types/pricing.BigNumberRawValue/page.mdx)","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"bigNumber","type":"`BigNumber`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"max_quantity","type":"[BigNumberValue](../../pricing/types/pricing.BigNumberValue/page.mdx)","description":"The maximum quantity required to be purchased for this price to be applied.","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"numeric","type":"`number`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"raw","type":"[BigNumberRawValue](../../pricing/types/pricing.BigNumberRawValue/page.mdx)","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"bigNumber","type":"`BigNumber`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"rules_count","type":"`number`","description":"The number of rules that apply to this price","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"price_rules","type":"[PriceRuleDTO](../../pricing/interfaces/pricing.PriceRuleDTO/page.mdx)[]","description":"The price rules that apply to this price","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"id","type":"`string`","description":"The ID of the price rule.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"price_set_id","type":"`string`","description":"The ID of the associated price set.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"price_set","type":"[PriceSetDTO](../../pricing/interfaces/pricing.PriceSetDTO/page.mdx)","description":"The associated price set.","optional":false,"defaultValue":"","expandable":true,"children":[]},{"name":"attribute","type":"`string`","description":"The attribute of the price rule","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"value","type":"`string`","description":"The value of the price rule.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"priority","type":"`number`","description":"The priority of the price rule in comparison to other applicable price rules.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"price_id","type":"`string`","description":"The ID of the associated price.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"price_list_id","type":"`string`","description":"The ID of the associated price list.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"created_at","type":"`Date`","description":"When the price\\_rule was created.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"updated_at","type":"`Date`","description":"When the price\\_rule was updated.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"deleted_at","type":"`null` \\| `Date`","description":"When the price\\_rule was deleted.","optional":false,"defaultValue":"","expandable":false,"children":[]}]}]},{"name":"prices","type":"[MoneyAmountDTO](../../pricing/interfaces/pricing.MoneyAmountDTO/page.mdx)[]","description":"","optional":false,"defaultValue":"","expandable":false,"children":[{"name":"id","type":"`string`","description":"The ID of the money amount.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"created_at","type":"`Date`","description":"When the money\\_amount was created.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"updated_at","type":"`Date`","description":"When the money\\_amount was updated.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"deleted_at","type":"`null` \\| `Date`","description":"When the money\\_amount was deleted.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"currency_code","type":"`string`","description":"The currency code of this money amount.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"amount","type":"[BigNumberValue](../../pricing/types/pricing.BigNumberValue/page.mdx)","description":"The price of this money amount.","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"numeric","type":"`number`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"raw","type":"[BigNumberRawValue](../../pricing/types/pricing.BigNumberRawValue/page.mdx)","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"bigNumber","type":"`BigNumber`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"min_quantity","type":"[BigNumberValue](../../pricing/types/pricing.BigNumberValue/page.mdx)","description":"The minimum quantity required to be purchased for this price to be applied.","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"numeric","type":"`number`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"raw","type":"[BigNumberRawValue](../../pricing/types/pricing.BigNumberRawValue/page.mdx)","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"bigNumber","type":"`BigNumber`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"max_quantity","type":"[BigNumberValue](../../pricing/types/pricing.BigNumberValue/page.mdx)","description":"The maximum quantity required to be purchased for this price to be applied.","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"numeric","type":"`number`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"raw","type":"[BigNumberRawValue](../../pricing/types/pricing.BigNumberRawValue/page.mdx)","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"bigNumber","type":"`BigNumber`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"rules_count","type":"`number`","description":"The number of rules that apply to this price","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"price_rules","type":"[PriceRuleDTO](../../pricing/interfaces/pricing.PriceRuleDTO/page.mdx)[]","description":"The price rules that apply to this price","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"id","type":"`string`","description":"The ID of the price rule.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"price_set_id","type":"`string`","description":"The ID of the associated price set.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"price_set","type":"[PriceSetDTO](../../pricing/interfaces/pricing.PriceSetDTO/page.mdx)","description":"The associated price set.","optional":false,"defaultValue":"","expandable":true,"children":[]},{"name":"attribute","type":"`string`","description":"The attribute of the price rule","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"value","type":"`string`","description":"The value of the price rule.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"priority","type":"`number`","description":"The priority of the price rule in comparison to other applicable price rules.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"price_id","type":"`string`","description":"The ID of the associated price.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"price_list_id","type":"`string`","description":"The ID of the associated price list.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"created_at","type":"`Date`","description":"When the price\\_rule was created.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"updated_at","type":"`Date`","description":"When the price\\_rule was updated.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"deleted_at","type":"`null` \\| `Date`","description":"When the price\\_rule was deleted.","optional":false,"defaultValue":"","expandable":false,"children":[]}]}]},{"name":"product_variants","type":"`object`[]","description":"","optional":false,"defaultValue":"","expandable":false,"children":[{"name":"prices","type":"[MoneyAmountDTO](../../pricing/interfaces/pricing.MoneyAmountDTO/page.mdx)[]","description":"","optional":false,"defaultValue":"","expandable":false,"children":[{"name":"id","type":"`string`","description":"The ID of the money amount.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"created_at","type":"`Date`","description":"When the money\\_amount was created.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"updated_at","type":"`Date`","description":"When the money\\_amount was updated.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"deleted_at","type":"`null` \\| `Date`","description":"When the money\\_amount was deleted.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"currency_code","type":"`string`","description":"The currency code of this money amount.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"amount","type":"[BigNumberValue](../../pricing/types/pricing.BigNumberValue/page.mdx)","description":"The price of this money amount.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"min_quantity","type":"[BigNumberValue](../../pricing/types/pricing.BigNumberValue/page.mdx)","description":"The minimum quantity required to be purchased for this price to be applied.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"max_quantity","type":"[BigNumberValue](../../pricing/types/pricing.BigNumberValue/page.mdx)","description":"The maximum quantity required to be purchased for this price to be applied.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"rules_count","type":"`number`","description":"The number of rules that apply to this price","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"price_rules","type":"[PriceRuleDTO](../../pricing/interfaces/pricing.PriceRuleDTO/page.mdx)[]","description":"The price rules that apply to this price","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"id","type":"`string`","description":"The ID of the product variant.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"title","type":"`string`","description":"The tile of the product variant.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"sku","type":"`null` \\| `string`","description":"The SKU of the product variant.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"barcode","type":"`null` \\| `string`","description":"The barcode of the product variant.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"ean","type":"`null` \\| `string`","description":"The EAN of the product variant.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"upc","type":"`null` \\| `string`","description":"The UPC of the product variant.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"allow_backorder","type":"`boolean`","description":"Whether the product variant can be ordered when it's out of stock.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"manage_inventory","type":"`boolean`","description":"Whether the product variant's inventory should be managed by the core system.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"requires_shipping","type":"`boolean`","description":"Whether the product variant's requires shipping.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"hs_code","type":"`null` \\| `string`","description":"The HS Code of the product variant.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"origin_country","type":"`null` \\| `string`","description":"The origin country of the product variant.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"mid_code","type":"`null` \\| `string`","description":"The MID Code of the product variant.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"material","type":"`null` \\| `string`","description":"The material of the product variant.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"weight","type":"`null` \\| `number`","description":"The weight of the product variant.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"length","type":"`null` \\| `number`","description":"The length of the product variant.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"height","type":"`null` \\| `number`","description":"The height of the product variant.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"width","type":"`null` \\| `number`","description":"The width of the product variant.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"options","type":"[ProductOptionValueDTO](../../product/interfaces/product.ProductOptionValueDTO/page.mdx)[]","description":"The associated product options.","optional":false,"defaultValue":"","expandable":true,"children":[{"name":"id","type":"`string`","description":"The ID of the product option value.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"value","type":"`string`","description":"The value of the product option value.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"created_at","type":"`string` \\| `Date`","description":"When the product option value was created.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"updated_at","type":"`string` \\| `Date`","description":"When the product option value was updated.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"option","type":"`null` \\| [ProductOptionDTO](../../product/interfaces/product.ProductOptionDTO/page.mdx)","description":"The associated product option. It may only be available if the `option` relation is expanded.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"option_id","type":"`null` \\| `string`","description":"The associated product option id.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"metadata","type":"[MetadataType](../../product/types/product.MetadataType/page.mdx)","description":"Holds custom data in key-value pairs.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"deleted_at","type":"`string` \\| `Date`","description":"When the product option value was deleted.","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"metadata","type":"`null` \\| `Record`","description":"Holds custom data in key-value pairs.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"product_id","type":"`null` \\| `string`","description":"The associated product id.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"created_at","type":"`string` \\| `Date`","description":"When the product variant was created.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"updated_at","type":"`string` \\| `Date`","description":"When the product variant was updated.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"deleted_at","type":"`string` \\| `Date`","description":"When the product variant was deleted.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"product","type":"`null` \\| [ProductDTO](../../product/interfaces/product.ProductDTO/page.mdx)","description":"The associated product.","optional":true,"defaultValue":"","expandable":true,"children":[{"name":"id","type":"`string`","description":"The ID of the product.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"title","type":"`string`","description":"The title of the product.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"handle","type":"`string`","description":"The handle of the product. The handle can be used to create slug URL paths.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"subtitle","type":"`null` \\| `string`","description":"The subttle of the product.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"description","type":"`null` \\| `string`","description":"The description of the product.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"is_giftcard","type":"`boolean`","description":"Whether the product is a gift card.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"status","type":"[ProductStatus](../../product/types/product.ProductStatus/page.mdx)","description":"The status of the product.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"thumbnail","type":"`null` \\| `string`","description":"The URL of the product's thumbnail.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"width","type":"`null` \\| `number`","description":"The width of the product.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"weight","type":"`null` \\| `number`","description":"The weight of the product.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"length","type":"`null` \\| `number`","description":"The length of the product.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"height","type":"`null` \\| `number`","description":"The height of the product.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"origin_country","type":"`null` \\| `string`","description":"The origin country of the product.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"hs_code","type":"`null` \\| `string`","description":"The HS Code of the product.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"mid_code","type":"`null` \\| `string`","description":"The MID Code of the product.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"material","type":"`null` \\| `string`","description":"The material of the product.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"collection","type":"`null` \\| [ProductCollectionDTO](../../product/interfaces/product.ProductCollectionDTO/page.mdx)","description":"The associated product collection.","optional":false,"defaultValue":"","expandable":true,"children":[]},{"name":"collection_id","type":"`null` \\| `string`","description":"The associated product collection id.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"type","type":"`null` \\| [ProductTypeDTO](../../product/interfaces/product.ProductTypeDTO/page.mdx)","description":"The associated product type.","optional":false,"defaultValue":"","expandable":true,"children":[]},{"name":"type_id","type":"`null` \\| `string`","description":"The associated product type id.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"tags","type":"[ProductTagDTO](../../product/interfaces/product.ProductTagDTO/page.mdx)[]","description":"The associated product tags.","optional":false,"defaultValue":"","expandable":true,"children":[]},{"name":"variants","type":"[ProductVariantDTO](../../product/interfaces/product.ProductVariantDTO/page.mdx)[]","description":"The associated product variants.","optional":false,"defaultValue":"","expandable":true,"children":[]},{"name":"options","type":"[ProductOptionDTO](../../product/interfaces/product.ProductOptionDTO/page.mdx)[]","description":"The associated product options.","optional":false,"defaultValue":"","expandable":true,"children":[]},{"name":"images","type":"[ProductImageDTO](../../product/interfaces/product.ProductImageDTO/page.mdx)[]","description":"The associated product images.","optional":false,"defaultValue":"","expandable":true,"children":[]},{"name":"external_id","type":"`null` \\| `string`","description":"The ID of the product in an external system. This is useful if you're integrating the product with a third-party service and want to maintain\na reference to the ID in the integrated service.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"created_at","type":"`string` \\| `Date`","description":"When the product was created.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"updated_at","type":"`string` \\| `Date`","description":"When the product was updated.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"deleted_at","type":"`string` \\| `Date`","description":"When the product was deleted.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"categories","type":"`null` \\| [ProductCategoryDTO](../../product/interfaces/product.ProductCategoryDTO/page.mdx)[]","description":"The associated product categories.","optional":true,"defaultValue":"","expandable":true,"children":[]},{"name":"discountable","type":"`boolean`","description":"Whether the product can be discounted.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"metadata","type":"[MetadataType](../../product/types/product.MetadataType/page.mdx)","description":"Holds custom data in key-value pairs.","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"variant_rank","type":"`null` \\| `number`","description":"he ranking of the variant among other variants associated with the product.","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"additional_data","type":"`Record | undefined`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"products","type":"[CreateProductWorkflowInputDTO](../../types/types/types.CreateProductWorkflowInputDTO/page.mdx)[]","description":"","optional":false,"defaultValue":"","expandable":false,"children":[{"name":"sales_channels","type":"`object`[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"id","type":"`string`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]}]},{"name":"variants","type":"[CreateProductVariantWorkflowInputDTO](../../types/types/types.CreateProductVariantWorkflowInputDTO/page.mdx)[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"title","type":"`string`","description":"The tile of the product variant.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"product_id","type":"`string`","description":"The id of the product","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"sku","type":"`string`","description":"The SKU of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"barcode","type":"`string`","description":"The barcode of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"ean","type":"`string`","description":"The EAN of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"upc","type":"`string`","description":"The UPC of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"allow_backorder","type":"`boolean`","description":"Whether the product variant can be ordered when it's out of stock.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"manage_inventory","type":"`boolean`","description":"Whether the product variant's inventory should be managed by the core system.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"hs_code","type":"`string`","description":"The HS Code of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"origin_country","type":"`string`","description":"The origin country of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"mid_code","type":"`string`","description":"The MID Code of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"material","type":"`string`","description":"The material of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"weight","type":"`number`","description":"The weight of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"length","type":"`number`","description":"The length of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"height","type":"`number`","description":"The height of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"width","type":"`number`","description":"The width of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"options","type":"`Record`","description":"The options of the variant. Each key is an option's title, and value\nis an option's value. If an option with the specified title doesn't exist,\na new one is created.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"metadata","type":"[MetadataType](../../product/types/product.MetadataType/page.mdx)","description":"Holds custom data in key-value pairs.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"prices","type":"[CreateMoneyAmountDTO](../../pricing/interfaces/pricing.CreateMoneyAmountDTO/page.mdx)[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]}]}]},{"name":"products","type":"[ProductDTO](../../product/interfaces/product.ProductDTO/page.mdx)[]","description":"","optional":false,"defaultValue":"","expandable":false,"children":[{"name":"id","type":"`string`","description":"The ID of the product.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"title","type":"`string`","description":"The title of the product.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"handle","type":"`string`","description":"The handle of the product. The handle can be used to create slug URL paths.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"subtitle","type":"`null` \\| `string`","description":"The subttle of the product.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"description","type":"`null` \\| `string`","description":"The description of the product.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"is_giftcard","type":"`boolean`","description":"Whether the product is a gift card.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"status","type":"[ProductStatus](../../product/types/product.ProductStatus/page.mdx)","description":"The status of the product.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"thumbnail","type":"`null` \\| `string`","description":"The URL of the product's thumbnail.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"width","type":"`null` \\| `number`","description":"The width of the product.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"weight","type":"`null` \\| `number`","description":"The weight of the product.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"length","type":"`null` \\| `number`","description":"The length of the product.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"height","type":"`null` \\| `number`","description":"The height of the product.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"origin_country","type":"`null` \\| `string`","description":"The origin country of the product.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"hs_code","type":"`null` \\| `string`","description":"The HS Code of the product.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"mid_code","type":"`null` \\| `string`","description":"The MID Code of the product.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"material","type":"`null` \\| `string`","description":"The material of the product.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"collection","type":"`null` \\| [ProductCollectionDTO](../../product/interfaces/product.ProductCollectionDTO/page.mdx)","description":"The associated product collection.","optional":false,"defaultValue":"","expandable":true,"children":[{"name":"id","type":"`string`","description":"The ID of the product collection.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"title","type":"`string`","description":"The title of the product collection.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"handle","type":"`string`","description":"The handle of the product collection. The handle can be used to create slug URL paths.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"created_at","type":"`string` \\| `Date`","description":"When the product collection was created.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"updated_at","type":"`string` \\| `Date`","description":"When the product collection was updated.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"metadata","type":"[MetadataType](../../product/types/product.MetadataType/page.mdx)","description":"Holds custom data in key-value pairs.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"deleted_at","type":"`string` \\| `Date`","description":"When the product collection was deleted.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"products","type":"[ProductDTO](../../product/interfaces/product.ProductDTO/page.mdx)[]","description":"The associated products.","optional":true,"defaultValue":"","expandable":true,"children":[]}]},{"name":"collection_id","type":"`null` \\| `string`","description":"The associated product collection id.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"type","type":"`null` \\| [ProductTypeDTO](../../product/interfaces/product.ProductTypeDTO/page.mdx)","description":"The associated product type.","optional":false,"defaultValue":"","expandable":true,"children":[{"name":"id","type":"`string`","description":"The ID of the product type.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"value","type":"`string`","description":"The value of the product type.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"created_at","type":"`string` \\| `Date`","description":"When the product type was created.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"updated_at","type":"`string` \\| `Date`","description":"When the product type was updated.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"metadata","type":"[MetadataType](../../product/types/product.MetadataType/page.mdx)","description":"Holds custom data in key-value pairs.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"deleted_at","type":"`string` \\| `Date`","description":"When the product type was deleted.","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"type_id","type":"`null` \\| `string`","description":"The associated product type id.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"tags","type":"[ProductTagDTO](../../product/interfaces/product.ProductTagDTO/page.mdx)[]","description":"The associated product tags.","optional":false,"defaultValue":"","expandable":true,"children":[{"name":"id","type":"`string`","description":"The ID of the product tag.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"value","type":"`string`","description":"The value of the product tag.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"metadata","type":"[MetadataType](../../product/types/product.MetadataType/page.mdx)","description":"Holds custom data in key-value pairs.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"products","type":"[ProductDTO](../../product/interfaces/product.ProductDTO/page.mdx)[]","description":"The associated products.","optional":true,"defaultValue":"","expandable":true,"children":[]}]},{"name":"variants","type":"[ProductVariantDTO](../../product/interfaces/product.ProductVariantDTO/page.mdx)[]","description":"The associated product variants.","optional":false,"defaultValue":"","expandable":true,"children":[{"name":"id","type":"`string`","description":"The ID of the product variant.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"title","type":"`string`","description":"The tile of the product variant.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"sku","type":"`null` \\| `string`","description":"The SKU of the product variant.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"barcode","type":"`null` \\| `string`","description":"The barcode of the product variant.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"ean","type":"`null` \\| `string`","description":"The EAN of the product variant.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"upc","type":"`null` \\| `string`","description":"The UPC of the product variant.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"allow_backorder","type":"`boolean`","description":"Whether the product variant can be ordered when it's out of stock.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"manage_inventory","type":"`boolean`","description":"Whether the product variant's inventory should be managed by the core system.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"requires_shipping","type":"`boolean`","description":"Whether the product variant's requires shipping.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"hs_code","type":"`null` \\| `string`","description":"The HS Code of the product variant.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"origin_country","type":"`null` \\| `string`","description":"The origin country of the product variant.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"mid_code","type":"`null` \\| `string`","description":"The MID Code of the product variant.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"material","type":"`null` \\| `string`","description":"The material of the product variant.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"weight","type":"`null` \\| `number`","description":"The weight of the product variant.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"length","type":"`null` \\| `number`","description":"The length of the product variant.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"height","type":"`null` \\| `number`","description":"The height of the product variant.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"width","type":"`null` \\| `number`","description":"The width of the product variant.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"options","type":"[ProductOptionValueDTO](../../product/interfaces/product.ProductOptionValueDTO/page.mdx)[]","description":"The associated product options.","optional":false,"defaultValue":"","expandable":true,"children":[]},{"name":"metadata","type":"`null` \\| `Record`","description":"Holds custom data in key-value pairs.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"product_id","type":"`null` \\| `string`","description":"The associated product id.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"created_at","type":"`string` \\| `Date`","description":"When the product variant was created.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"updated_at","type":"`string` \\| `Date`","description":"When the product variant was updated.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"deleted_at","type":"`string` \\| `Date`","description":"When the product variant was deleted.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"product","type":"`null` \\| [ProductDTO](../../product/interfaces/product.ProductDTO/page.mdx)","description":"The associated product.","optional":true,"defaultValue":"","expandable":true,"children":[]},{"name":"variant_rank","type":"`null` \\| `number`","description":"he ranking of the variant among other variants associated with the product.","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"options","type":"[ProductOptionDTO](../../product/interfaces/product.ProductOptionDTO/page.mdx)[]","description":"The associated product options.","optional":false,"defaultValue":"","expandable":true,"children":[{"name":"id","type":"`string`","description":"The ID of the product option.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"title","type":"`string`","description":"The title of the product option.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"values","type":"[ProductOptionValueDTO](../../product/interfaces/product.ProductOptionValueDTO/page.mdx)[]","description":"The associated product option values.","optional":false,"defaultValue":"","expandable":true,"children":[]},{"name":"created_at","type":"`string` \\| `Date`","description":"When the product option was created.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"updated_at","type":"`string` \\| `Date`","description":"When the product option was updated.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"product","type":"`null` \\| [ProductDTO](../../product/interfaces/product.ProductDTO/page.mdx)","description":"The associated product.","optional":true,"defaultValue":"","expandable":true,"children":[]},{"name":"product_id","type":"`null` \\| `string`","description":"The associated product id.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"metadata","type":"[MetadataType](../../product/types/product.MetadataType/page.mdx)","description":"Holds custom data in key-value pairs.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"deleted_at","type":"`string` \\| `Date`","description":"When the product option was deleted.","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"images","type":"[ProductImageDTO](../../product/interfaces/product.ProductImageDTO/page.mdx)[]","description":"The associated product images.","optional":false,"defaultValue":"","expandable":true,"children":[{"name":"id","type":"`string`","description":"The ID of the product image.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"url","type":"`string`","description":"The URL of the product image.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"created_at","type":"`string` \\| `Date`","description":"When the product image was created.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"updated_at","type":"`string` \\| `Date`","description":"When the product image was updated.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"metadata","type":"[MetadataType](../../product/types/product.MetadataType/page.mdx)","description":"Holds custom data in key-value pairs.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"deleted_at","type":"`string` \\| `Date`","description":"When the product image was deleted.","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"external_id","type":"`null` \\| `string`","description":"The ID of the product in an external system. This is useful if you're integrating the product with a third-party service and want to maintain\na reference to the ID in the integrated service.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"created_at","type":"`string` \\| `Date`","description":"When the product was created.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"updated_at","type":"`string` \\| `Date`","description":"When the product was updated.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"deleted_at","type":"`string` \\| `Date`","description":"When the product was deleted.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"categories","type":"`null` \\| [ProductCategoryDTO](../../product/interfaces/product.ProductCategoryDTO/page.mdx)[]","description":"The associated product categories.","optional":true,"defaultValue":"","expandable":true,"children":[{"name":"id","type":"`string`","description":"The ID of the product category.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"name","type":"`string`","description":"The name of the product category.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"description","type":"`string`","description":"The description of the product category.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"handle","type":"`string`","description":"The handle of the product category. The handle can be used to create slug URL paths.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"is_active","type":"`boolean`","description":"Whether the product category is active.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"is_internal","type":"`boolean`","description":"Whether the product category is internal. This can be used to only show the product category to admins and hide it from customers.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"rank","type":"`number`","description":"The ranking of the product category among sibling categories.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"parent_category","type":"`null` \\| [ProductCategoryDTO](../../product/interfaces/product.ProductCategoryDTO/page.mdx)","description":"The associated parent category.","optional":false,"defaultValue":"","expandable":true,"children":[]},{"name":"parent_category_id","type":"`null` \\| `string`","description":"The associated parent category id.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"category_children","type":"[ProductCategoryDTO](../../product/interfaces/product.ProductCategoryDTO/page.mdx)[]","description":"The associated child categories.","optional":false,"defaultValue":"","expandable":true,"children":[]},{"name":"products","type":"[ProductDTO](../../product/interfaces/product.ProductDTO/page.mdx)[]","description":"The associated products.","optional":false,"defaultValue":"","expandable":true,"children":[]},{"name":"created_at","type":"`string` \\| `Date`","description":"When the product category was created.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"updated_at","type":"`string` \\| `Date`","description":"When the product category was updated.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"metadata","type":"[MetadataType](../../product/types/product.MetadataType/page.mdx)","description":"The ranking of the product category among sibling categories.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"deleted_at","type":"`string` \\| `Date`","description":"When the product category was deleted.","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"discountable","type":"`boolean`","description":"Whether the product can be discounted.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"metadata","type":"[MetadataType](../../product/types/product.MetadataType/page.mdx)","description":"Holds custom data in key-value pairs.","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"additional_data","type":"`Record | undefined`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"ids","type":"`string`[]","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"ids","type":"`string`[]","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"ids","type":"`string`[]","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"ids","type":"`string`[]","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"ids","type":"`string`[]","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"ids","type":"`string`[]","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"ids","type":"`string`[]","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"ids","type":"`string`[]","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"ids","type":"`string`[]","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"ids","type":"`string`[]","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"ids","type":"`string`[]","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"ids","type":"`string`[]","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"selector","type":"[FilterableProductCollectionProps](../../product/interfaces/product.FilterableProductCollectionProps/page.mdx)","description":"","optional":false,"defaultValue":"","expandable":false,"children":[{"name":"$and","type":"([FilterableProductCollectionProps](../../product/interfaces/product.FilterableProductCollectionProps/page.mdx) \\| [BaseFilterable](../../product/interfaces/product.BaseFilterable/page.mdx)<[FilterableProductCollectionProps](../../product/interfaces/product.FilterableProductCollectionProps/page.mdx)>)[]","description":"An array of filters to apply on the entity, where each item in the array is joined with an \"and\" condition.","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"$and","type":"([FilterableProductCollectionProps](../../product/interfaces/product.FilterableProductCollectionProps/page.mdx) \\| [BaseFilterable](../../product/interfaces/product.BaseFilterable/page.mdx)<[FilterableProductCollectionProps](../../product/interfaces/product.FilterableProductCollectionProps/page.mdx)>)[]","description":"An array of filters to apply on the entity, where each item in the array is joined with an \"and\" condition.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$or","type":"([FilterableProductCollectionProps](../../product/interfaces/product.FilterableProductCollectionProps/page.mdx) \\| [BaseFilterable](../../product/interfaces/product.BaseFilterable/page.mdx)<[FilterableProductCollectionProps](../../product/interfaces/product.FilterableProductCollectionProps/page.mdx)>)[]","description":"An array of filters to apply on the entity, where each item in the array is joined with an \"or\" condition.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"q","type":"`string`","description":"Search through the collections' titles.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"id","type":"`string` \\| `string`[]","description":"The IDs to filter product collections by.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"handle","type":"`string` \\| `string`[]","description":"The handles to filter product collections by.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"title","type":"`string` \\| `string`[]","description":"The title to filter product collections by.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$and","type":"([BaseFilterable](../../product/interfaces/product.BaseFilterable/page.mdx)<T> \\| T)[]","description":"An array of filters to apply on the entity, where each item in the array is joined with an \"and\" condition.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$or","type":"([BaseFilterable](../../product/interfaces/product.BaseFilterable/page.mdx)<T> \\| T)[]","description":"An array of filters to apply on the entity, where each item in the array is joined with an \"or\" condition.","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"$or","type":"([FilterableProductCollectionProps](../../product/interfaces/product.FilterableProductCollectionProps/page.mdx) \\| [BaseFilterable](../../product/interfaces/product.BaseFilterable/page.mdx)<[FilterableProductCollectionProps](../../product/interfaces/product.FilterableProductCollectionProps/page.mdx)>)[]","description":"An array of filters to apply on the entity, where each item in the array is joined with an \"or\" condition.","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"$and","type":"([FilterableProductCollectionProps](../../product/interfaces/product.FilterableProductCollectionProps/page.mdx) \\| [BaseFilterable](../../product/interfaces/product.BaseFilterable/page.mdx)<[FilterableProductCollectionProps](../../product/interfaces/product.FilterableProductCollectionProps/page.mdx)>)[]","description":"An array of filters to apply on the entity, where each item in the array is joined with an \"and\" condition.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$or","type":"([FilterableProductCollectionProps](../../product/interfaces/product.FilterableProductCollectionProps/page.mdx) \\| [BaseFilterable](../../product/interfaces/product.BaseFilterable/page.mdx)<[FilterableProductCollectionProps](../../product/interfaces/product.FilterableProductCollectionProps/page.mdx)>)[]","description":"An array of filters to apply on the entity, where each item in the array is joined with an \"or\" condition.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"q","type":"`string`","description":"Search through the collections' titles.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"id","type":"`string` \\| `string`[]","description":"The IDs to filter product collections by.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"handle","type":"`string` \\| `string`[]","description":"The handles to filter product collections by.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"title","type":"`string` \\| `string`[]","description":"The title to filter product collections by.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$and","type":"([BaseFilterable](../../product/interfaces/product.BaseFilterable/page.mdx)<T> \\| T)[]","description":"An array of filters to apply on the entity, where each item in the array is joined with an \"and\" condition.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$or","type":"([BaseFilterable](../../product/interfaces/product.BaseFilterable/page.mdx)<T> \\| T)[]","description":"An array of filters to apply on the entity, where each item in the array is joined with an \"or\" condition.","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"q","type":"`string`","description":"Search through the collections' titles.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"id","type":"`string` \\| `string`[]","description":"The IDs to filter product collections by.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"handle","type":"`string` \\| `string`[]","description":"The handles to filter product collections by.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"title","type":"`string` \\| `string`[]","description":"The title to filter product collections by.","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"update","type":"[UpdateProductCollectionDTO](../../product/interfaces/product.UpdateProductCollectionDTO/page.mdx)","description":"","optional":false,"defaultValue":"","expandable":false,"children":[{"name":"value","type":"`string`","description":"The value of the product collection.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"title","type":"`string`","description":"The title of the product collection.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"handle","type":"`string`","description":"The handle of the product collection.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"product_ids","type":"`string`[]","description":"The IDs of the products to associate with the product collection.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"metadata","type":"[MetadataType](../../product/types/product.MetadataType/page.mdx)","description":"Holds custom data in key-value pairs.","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"additional_data","type":"`Record | undefined`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"collections","type":"[ProductCollectionDTO](../../product/interfaces/product.ProductCollectionDTO/page.mdx)[]","description":"","optional":false,"defaultValue":"","expandable":false,"children":[{"name":"id","type":"`string`","description":"The ID of the product collection.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"title","type":"`string`","description":"The title of the product collection.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"handle","type":"`string`","description":"The handle of the product collection. The handle can be used to create slug URL paths.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"created_at","type":"`string` \\| `Date`","description":"When the product collection was created.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"updated_at","type":"`string` \\| `Date`","description":"When the product collection was updated.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"metadata","type":"[MetadataType](../../product/types/product.MetadataType/page.mdx)","description":"Holds custom data in key-value pairs.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"deleted_at","type":"`string` \\| `Date`","description":"When the product collection was deleted.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"products","type":"[ProductDTO](../../product/interfaces/product.ProductDTO/page.mdx)[]","description":"The associated products.","optional":true,"defaultValue":"","expandable":true,"children":[{"name":"id","type":"`string`","description":"The ID of the product.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"title","type":"`string`","description":"The title of the product.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"handle","type":"`string`","description":"The handle of the product. The handle can be used to create slug URL paths.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"subtitle","type":"`null` \\| `string`","description":"The subttle of the product.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"description","type":"`null` \\| `string`","description":"The description of the product.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"is_giftcard","type":"`boolean`","description":"Whether the product is a gift card.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"status","type":"[ProductStatus](../../product/types/product.ProductStatus/page.mdx)","description":"The status of the product.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"thumbnail","type":"`null` \\| `string`","description":"The URL of the product's thumbnail.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"width","type":"`null` \\| `number`","description":"The width of the product.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"weight","type":"`null` \\| `number`","description":"The weight of the product.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"length","type":"`null` \\| `number`","description":"The length of the product.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"height","type":"`null` \\| `number`","description":"The height of the product.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"origin_country","type":"`null` \\| `string`","description":"The origin country of the product.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"hs_code","type":"`null` \\| `string`","description":"The HS Code of the product.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"mid_code","type":"`null` \\| `string`","description":"The MID Code of the product.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"material","type":"`null` \\| `string`","description":"The material of the product.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"collection","type":"`null` \\| [ProductCollectionDTO](../../product/interfaces/product.ProductCollectionDTO/page.mdx)","description":"The associated product collection.","optional":false,"defaultValue":"","expandable":true,"children":[]},{"name":"collection_id","type":"`null` \\| `string`","description":"The associated product collection id.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"type","type":"`null` \\| [ProductTypeDTO](../../product/interfaces/product.ProductTypeDTO/page.mdx)","description":"The associated product type.","optional":false,"defaultValue":"","expandable":true,"children":[]},{"name":"type_id","type":"`null` \\| `string`","description":"The associated product type id.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"tags","type":"[ProductTagDTO](../../product/interfaces/product.ProductTagDTO/page.mdx)[]","description":"The associated product tags.","optional":false,"defaultValue":"","expandable":true,"children":[]},{"name":"variants","type":"[ProductVariantDTO](../../product/interfaces/product.ProductVariantDTO/page.mdx)[]","description":"The associated product variants.","optional":false,"defaultValue":"","expandable":true,"children":[]},{"name":"options","type":"[ProductOptionDTO](../../product/interfaces/product.ProductOptionDTO/page.mdx)[]","description":"The associated product options.","optional":false,"defaultValue":"","expandable":true,"children":[]},{"name":"images","type":"[ProductImageDTO](../../product/interfaces/product.ProductImageDTO/page.mdx)[]","description":"The associated product images.","optional":false,"defaultValue":"","expandable":true,"children":[]},{"name":"external_id","type":"`null` \\| `string`","description":"The ID of the product in an external system. This is useful if you're integrating the product with a third-party service and want to maintain\na reference to the ID in the integrated service.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"created_at","type":"`string` \\| `Date`","description":"When the product was created.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"updated_at","type":"`string` \\| `Date`","description":"When the product was updated.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"deleted_at","type":"`string` \\| `Date`","description":"When the product was deleted.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"categories","type":"`null` \\| [ProductCategoryDTO](../../product/interfaces/product.ProductCategoryDTO/page.mdx)[]","description":"The associated product categories.","optional":true,"defaultValue":"","expandable":true,"children":[]},{"name":"discountable","type":"`boolean`","description":"Whether the product can be discounted.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"metadata","type":"[MetadataType](../../product/types/product.MetadataType/page.mdx)","description":"Holds custom data in key-value pairs.","optional":true,"defaultValue":"","expandable":false,"children":[]}]}]},{"name":"selector","type":"[FilterableProductOptionProps](../../product/interfaces/product.FilterableProductOptionProps/page.mdx)","description":"","optional":false,"defaultValue":"","expandable":false,"children":[{"name":"$and","type":"([FilterableProductOptionProps](../../product/interfaces/product.FilterableProductOptionProps/page.mdx) \\| [BaseFilterable](../../product/interfaces/product.BaseFilterable/page.mdx)<[FilterableProductOptionProps](../../product/interfaces/product.FilterableProductOptionProps/page.mdx)>)[]","description":"An array of filters to apply on the entity, where each item in the array is joined with an \"and\" condition.","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"$and","type":"([FilterableProductOptionProps](../../product/interfaces/product.FilterableProductOptionProps/page.mdx) \\| [BaseFilterable](../../product/interfaces/product.BaseFilterable/page.mdx)<[FilterableProductOptionProps](../../product/interfaces/product.FilterableProductOptionProps/page.mdx)>)[]","description":"An array of filters to apply on the entity, where each item in the array is joined with an \"and\" condition.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$or","type":"([FilterableProductOptionProps](../../product/interfaces/product.FilterableProductOptionProps/page.mdx) \\| [BaseFilterable](../../product/interfaces/product.BaseFilterable/page.mdx)<[FilterableProductOptionProps](../../product/interfaces/product.FilterableProductOptionProps/page.mdx)>)[]","description":"An array of filters to apply on the entity, where each item in the array is joined with an \"or\" condition.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"q","type":"`string`","description":"Search through the options' titles.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"id","type":"`string` \\| `string`[]","description":"The IDs to filter product options by.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"title","type":"`string` \\| `string`[]","description":"The titles to filter product options by.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"product_id","type":"`string` \\| `string`[]","description":"Filter the product options by their associated products' IDs.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$and","type":"([BaseFilterable](../../product/interfaces/product.BaseFilterable/page.mdx)<T> \\| T)[]","description":"An array of filters to apply on the entity, where each item in the array is joined with an \"and\" condition.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$or","type":"([BaseFilterable](../../product/interfaces/product.BaseFilterable/page.mdx)<T> \\| T)[]","description":"An array of filters to apply on the entity, where each item in the array is joined with an \"or\" condition.","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"$or","type":"([FilterableProductOptionProps](../../product/interfaces/product.FilterableProductOptionProps/page.mdx) \\| [BaseFilterable](../../product/interfaces/product.BaseFilterable/page.mdx)<[FilterableProductOptionProps](../../product/interfaces/product.FilterableProductOptionProps/page.mdx)>)[]","description":"An array of filters to apply on the entity, where each item in the array is joined with an \"or\" condition.","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"$and","type":"([FilterableProductOptionProps](../../product/interfaces/product.FilterableProductOptionProps/page.mdx) \\| [BaseFilterable](../../product/interfaces/product.BaseFilterable/page.mdx)<[FilterableProductOptionProps](../../product/interfaces/product.FilterableProductOptionProps/page.mdx)>)[]","description":"An array of filters to apply on the entity, where each item in the array is joined with an \"and\" condition.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$or","type":"([FilterableProductOptionProps](../../product/interfaces/product.FilterableProductOptionProps/page.mdx) \\| [BaseFilterable](../../product/interfaces/product.BaseFilterable/page.mdx)<[FilterableProductOptionProps](../../product/interfaces/product.FilterableProductOptionProps/page.mdx)>)[]","description":"An array of filters to apply on the entity, where each item in the array is joined with an \"or\" condition.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"q","type":"`string`","description":"Search through the options' titles.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"id","type":"`string` \\| `string`[]","description":"The IDs to filter product options by.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"title","type":"`string` \\| `string`[]","description":"The titles to filter product options by.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"product_id","type":"`string` \\| `string`[]","description":"Filter the product options by their associated products' IDs.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$and","type":"([BaseFilterable](../../product/interfaces/product.BaseFilterable/page.mdx)<T> \\| T)[]","description":"An array of filters to apply on the entity, where each item in the array is joined with an \"and\" condition.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$or","type":"([BaseFilterable](../../product/interfaces/product.BaseFilterable/page.mdx)<T> \\| T)[]","description":"An array of filters to apply on the entity, where each item in the array is joined with an \"or\" condition.","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"q","type":"`string`","description":"Search through the options' titles.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"id","type":"`string` \\| `string`[]","description":"The IDs to filter product options by.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"title","type":"`string` \\| `string`[]","description":"The titles to filter product options by.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"product_id","type":"`string` \\| `string`[]","description":"Filter the product options by their associated products' IDs.","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"update","type":"[UpdateProductOptionDTO](../../product/interfaces/product.UpdateProductOptionDTO/page.mdx)","description":"","optional":false,"defaultValue":"","expandable":false,"children":[{"name":"title","type":"`string`","description":"The product option's title.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"values","type":"`string`[]","description":"The product option values.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"product_id","type":"`string`","description":"The ID of the associated product.","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"product_options","type":"[ProductOptionDTO](../../product/interfaces/product.ProductOptionDTO/page.mdx)[]","description":"","optional":false,"defaultValue":"","expandable":false,"children":[{"name":"id","type":"`string`","description":"The ID of the product option.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"title","type":"`string`","description":"The title of the product option.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"values","type":"[ProductOptionValueDTO](../../product/interfaces/product.ProductOptionValueDTO/page.mdx)[]","description":"The associated product option values.","optional":false,"defaultValue":"","expandable":true,"children":[{"name":"id","type":"`string`","description":"The ID of the product option value.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"value","type":"`string`","description":"The value of the product option value.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"created_at","type":"`string` \\| `Date`","description":"When the product option value was created.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"updated_at","type":"`string` \\| `Date`","description":"When the product option value was updated.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"option","type":"`null` \\| [ProductOptionDTO](../../product/interfaces/product.ProductOptionDTO/page.mdx)","description":"The associated product option. It may only be available if the `option` relation is expanded.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"option_id","type":"`null` \\| `string`","description":"The associated product option id.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"metadata","type":"[MetadataType](../../product/types/product.MetadataType/page.mdx)","description":"Holds custom data in key-value pairs.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"deleted_at","type":"`string` \\| `Date`","description":"When the product option value was deleted.","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"created_at","type":"`string` \\| `Date`","description":"When the product option was created.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"updated_at","type":"`string` \\| `Date`","description":"When the product option was updated.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"product","type":"`null` \\| [ProductDTO](../../product/interfaces/product.ProductDTO/page.mdx)","description":"The associated product.","optional":true,"defaultValue":"","expandable":true,"children":[{"name":"id","type":"`string`","description":"The ID of the product.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"title","type":"`string`","description":"The title of the product.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"handle","type":"`string`","description":"The handle of the product. The handle can be used to create slug URL paths.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"subtitle","type":"`null` \\| `string`","description":"The subttle of the product.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"description","type":"`null` \\| `string`","description":"The description of the product.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"is_giftcard","type":"`boolean`","description":"Whether the product is a gift card.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"status","type":"[ProductStatus](../../product/types/product.ProductStatus/page.mdx)","description":"The status of the product.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"thumbnail","type":"`null` \\| `string`","description":"The URL of the product's thumbnail.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"width","type":"`null` \\| `number`","description":"The width of the product.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"weight","type":"`null` \\| `number`","description":"The weight of the product.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"length","type":"`null` \\| `number`","description":"The length of the product.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"height","type":"`null` \\| `number`","description":"The height of the product.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"origin_country","type":"`null` \\| `string`","description":"The origin country of the product.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"hs_code","type":"`null` \\| `string`","description":"The HS Code of the product.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"mid_code","type":"`null` \\| `string`","description":"The MID Code of the product.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"material","type":"`null` \\| `string`","description":"The material of the product.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"collection","type":"`null` \\| [ProductCollectionDTO](../../product/interfaces/product.ProductCollectionDTO/page.mdx)","description":"The associated product collection.","optional":false,"defaultValue":"","expandable":true,"children":[]},{"name":"collection_id","type":"`null` \\| `string`","description":"The associated product collection id.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"type","type":"`null` \\| [ProductTypeDTO](../../product/interfaces/product.ProductTypeDTO/page.mdx)","description":"The associated product type.","optional":false,"defaultValue":"","expandable":true,"children":[]},{"name":"type_id","type":"`null` \\| `string`","description":"The associated product type id.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"tags","type":"[ProductTagDTO](../../product/interfaces/product.ProductTagDTO/page.mdx)[]","description":"The associated product tags.","optional":false,"defaultValue":"","expandable":true,"children":[]},{"name":"variants","type":"[ProductVariantDTO](../../product/interfaces/product.ProductVariantDTO/page.mdx)[]","description":"The associated product variants.","optional":false,"defaultValue":"","expandable":true,"children":[]},{"name":"options","type":"[ProductOptionDTO](../../product/interfaces/product.ProductOptionDTO/page.mdx)[]","description":"The associated product options.","optional":false,"defaultValue":"","expandable":true,"children":[]},{"name":"images","type":"[ProductImageDTO](../../product/interfaces/product.ProductImageDTO/page.mdx)[]","description":"The associated product images.","optional":false,"defaultValue":"","expandable":true,"children":[]},{"name":"external_id","type":"`null` \\| `string`","description":"The ID of the product in an external system. This is useful if you're integrating the product with a third-party service and want to maintain\na reference to the ID in the integrated service.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"created_at","type":"`string` \\| `Date`","description":"When the product was created.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"updated_at","type":"`string` \\| `Date`","description":"When the product was updated.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"deleted_at","type":"`string` \\| `Date`","description":"When the product was deleted.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"categories","type":"`null` \\| [ProductCategoryDTO](../../product/interfaces/product.ProductCategoryDTO/page.mdx)[]","description":"The associated product categories.","optional":true,"defaultValue":"","expandable":true,"children":[]},{"name":"discountable","type":"`boolean`","description":"Whether the product can be discounted.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"metadata","type":"[MetadataType](../../product/types/product.MetadataType/page.mdx)","description":"Holds custom data in key-value pairs.","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"product_id","type":"`null` \\| `string`","description":"The associated product id.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"metadata","type":"[MetadataType](../../product/types/product.MetadataType/page.mdx)","description":"Holds custom data in key-value pairs.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"deleted_at","type":"`string` \\| `Date`","description":"When the product option was deleted.","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"additional_data","type":"`Record | undefined`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"selector","type":"[FilterableProductTypeProps](../../product/interfaces/product.FilterableProductTypeProps/page.mdx)","description":"","optional":false,"defaultValue":"","expandable":false,"children":[{"name":"$and","type":"([FilterableProductTypeProps](../../product/interfaces/product.FilterableProductTypeProps/page.mdx) \\| [BaseFilterable](../../product/interfaces/product.BaseFilterable/page.mdx)<[FilterableProductTypeProps](../../product/interfaces/product.FilterableProductTypeProps/page.mdx)>)[]","description":"An array of filters to apply on the entity, where each item in the array is joined with an \"and\" condition.","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"$and","type":"([FilterableProductTypeProps](../../product/interfaces/product.FilterableProductTypeProps/page.mdx) \\| [BaseFilterable](../../product/interfaces/product.BaseFilterable/page.mdx)<[FilterableProductTypeProps](../../product/interfaces/product.FilterableProductTypeProps/page.mdx)>)[]","description":"An array of filters to apply on the entity, where each item in the array is joined with an \"and\" condition.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$or","type":"([FilterableProductTypeProps](../../product/interfaces/product.FilterableProductTypeProps/page.mdx) \\| [BaseFilterable](../../product/interfaces/product.BaseFilterable/page.mdx)<[FilterableProductTypeProps](../../product/interfaces/product.FilterableProductTypeProps/page.mdx)>)[]","description":"An array of filters to apply on the entity, where each item in the array is joined with an \"or\" condition.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"q","type":"`string`","description":"Search through the types' values.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"id","type":"`string` \\| `string`[]","description":"The IDs to filter product types by.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"value","type":"`string`","description":"The value to filter product types by.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$and","type":"([BaseFilterable](../../product/interfaces/product.BaseFilterable/page.mdx)<T> \\| T)[]","description":"An array of filters to apply on the entity, where each item in the array is joined with an \"and\" condition.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$or","type":"([BaseFilterable](../../product/interfaces/product.BaseFilterable/page.mdx)<T> \\| T)[]","description":"An array of filters to apply on the entity, where each item in the array is joined with an \"or\" condition.","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"$or","type":"([FilterableProductTypeProps](../../product/interfaces/product.FilterableProductTypeProps/page.mdx) \\| [BaseFilterable](../../product/interfaces/product.BaseFilterable/page.mdx)<[FilterableProductTypeProps](../../product/interfaces/product.FilterableProductTypeProps/page.mdx)>)[]","description":"An array of filters to apply on the entity, where each item in the array is joined with an \"or\" condition.","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"$and","type":"([FilterableProductTypeProps](../../product/interfaces/product.FilterableProductTypeProps/page.mdx) \\| [BaseFilterable](../../product/interfaces/product.BaseFilterable/page.mdx)<[FilterableProductTypeProps](../../product/interfaces/product.FilterableProductTypeProps/page.mdx)>)[]","description":"An array of filters to apply on the entity, where each item in the array is joined with an \"and\" condition.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$or","type":"([FilterableProductTypeProps](../../product/interfaces/product.FilterableProductTypeProps/page.mdx) \\| [BaseFilterable](../../product/interfaces/product.BaseFilterable/page.mdx)<[FilterableProductTypeProps](../../product/interfaces/product.FilterableProductTypeProps/page.mdx)>)[]","description":"An array of filters to apply on the entity, where each item in the array is joined with an \"or\" condition.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"q","type":"`string`","description":"Search through the types' values.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"id","type":"`string` \\| `string`[]","description":"The IDs to filter product types by.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"value","type":"`string`","description":"The value to filter product types by.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$and","type":"([BaseFilterable](../../product/interfaces/product.BaseFilterable/page.mdx)<T> \\| T)[]","description":"An array of filters to apply on the entity, where each item in the array is joined with an \"and\" condition.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$or","type":"([BaseFilterable](../../product/interfaces/product.BaseFilterable/page.mdx)<T> \\| T)[]","description":"An array of filters to apply on the entity, where each item in the array is joined with an \"or\" condition.","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"q","type":"`string`","description":"Search through the types' values.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"id","type":"`string` \\| `string`[]","description":"The IDs to filter product types by.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"value","type":"`string`","description":"The value to filter product types by.","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"update","type":"[UpdateProductTypeDTO](../../product/interfaces/product.UpdateProductTypeDTO/page.mdx)","description":"","optional":false,"defaultValue":"","expandable":false,"children":[{"name":"value","type":"`string`","description":"The new value of the product type.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"metadata","type":"[MetadataType](../../product/types/product.MetadataType/page.mdx)","description":"Holds custom data in key-value pairs.","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"product_tags","type":"[ProductTagDTO](../../product/interfaces/product.ProductTagDTO/page.mdx)[]","description":"","optional":false,"defaultValue":"","expandable":false,"children":[{"name":"id","type":"`string`","description":"The ID of the product tag.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"value","type":"`string`","description":"The value of the product tag.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"metadata","type":"[MetadataType](../../product/types/product.MetadataType/page.mdx)","description":"Holds custom data in key-value pairs.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"products","type":"[ProductDTO](../../product/interfaces/product.ProductDTO/page.mdx)[]","description":"The associated products.","optional":true,"defaultValue":"","expandable":true,"children":[{"name":"id","type":"`string`","description":"The ID of the product.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"title","type":"`string`","description":"The title of the product.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"handle","type":"`string`","description":"The handle of the product. The handle can be used to create slug URL paths.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"subtitle","type":"`null` \\| `string`","description":"The subttle of the product.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"description","type":"`null` \\| `string`","description":"The description of the product.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"is_giftcard","type":"`boolean`","description":"Whether the product is a gift card.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"status","type":"[ProductStatus](../../product/types/product.ProductStatus/page.mdx)","description":"The status of the product.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"thumbnail","type":"`null` \\| `string`","description":"The URL of the product's thumbnail.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"width","type":"`null` \\| `number`","description":"The width of the product.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"weight","type":"`null` \\| `number`","description":"The weight of the product.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"length","type":"`null` \\| `number`","description":"The length of the product.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"height","type":"`null` \\| `number`","description":"The height of the product.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"origin_country","type":"`null` \\| `string`","description":"The origin country of the product.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"hs_code","type":"`null` \\| `string`","description":"The HS Code of the product.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"mid_code","type":"`null` \\| `string`","description":"The MID Code of the product.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"material","type":"`null` \\| `string`","description":"The material of the product.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"collection","type":"`null` \\| [ProductCollectionDTO](../../product/interfaces/product.ProductCollectionDTO/page.mdx)","description":"The associated product collection.","optional":false,"defaultValue":"","expandable":true,"children":[]},{"name":"collection_id","type":"`null` \\| `string`","description":"The associated product collection id.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"type","type":"`null` \\| [ProductTypeDTO](../../product/interfaces/product.ProductTypeDTO/page.mdx)","description":"The associated product type.","optional":false,"defaultValue":"","expandable":true,"children":[]},{"name":"type_id","type":"`null` \\| `string`","description":"The associated product type id.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"tags","type":"[ProductTagDTO](../../product/interfaces/product.ProductTagDTO/page.mdx)[]","description":"The associated product tags.","optional":false,"defaultValue":"","expandable":true,"children":[]},{"name":"variants","type":"[ProductVariantDTO](../../product/interfaces/product.ProductVariantDTO/page.mdx)[]","description":"The associated product variants.","optional":false,"defaultValue":"","expandable":true,"children":[]},{"name":"options","type":"[ProductOptionDTO](../../product/interfaces/product.ProductOptionDTO/page.mdx)[]","description":"The associated product options.","optional":false,"defaultValue":"","expandable":true,"children":[]},{"name":"images","type":"[ProductImageDTO](../../product/interfaces/product.ProductImageDTO/page.mdx)[]","description":"The associated product images.","optional":false,"defaultValue":"","expandable":true,"children":[]},{"name":"external_id","type":"`null` \\| `string`","description":"The ID of the product in an external system. This is useful if you're integrating the product with a third-party service and want to maintain\na reference to the ID in the integrated service.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"created_at","type":"`string` \\| `Date`","description":"When the product was created.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"updated_at","type":"`string` \\| `Date`","description":"When the product was updated.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"deleted_at","type":"`string` \\| `Date`","description":"When the product was deleted.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"categories","type":"`null` \\| [ProductCategoryDTO](../../product/interfaces/product.ProductCategoryDTO/page.mdx)[]","description":"The associated product categories.","optional":true,"defaultValue":"","expandable":true,"children":[]},{"name":"discountable","type":"`boolean`","description":"Whether the product can be discounted.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"metadata","type":"[MetadataType](../../product/types/product.MetadataType/page.mdx)","description":"Holds custom data in key-value pairs.","optional":true,"defaultValue":"","expandable":false,"children":[]}]}]},{"name":"additional_data","type":"`Record | undefined`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"product_types","type":"[ProductTypeDTO](../../product/interfaces/product.ProductTypeDTO/page.mdx)[]","description":"","optional":false,"defaultValue":"","expandable":false,"children":[{"name":"id","type":"`string`","description":"The ID of the product type.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"value","type":"`string`","description":"The value of the product type.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"created_at","type":"`string` \\| `Date`","description":"When the product type was created.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"updated_at","type":"`string` \\| `Date`","description":"When the product type was updated.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"metadata","type":"[MetadataType](../../product/types/product.MetadataType/page.mdx)","description":"Holds custom data in key-value pairs.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"deleted_at","type":"`string` \\| `Date`","description":"When the product type was deleted.","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"additional_data","type":"`Record | undefined`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"selector","type":"[FilterableProductVariantProps](../../product/interfaces/product.FilterableProductVariantProps/page.mdx)","description":"","optional":false,"defaultValue":"","expandable":false,"children":[{"name":"$and","type":"([FilterableProductVariantProps](../../product/interfaces/product.FilterableProductVariantProps/page.mdx) \\| [BaseFilterable](../../product/interfaces/product.BaseFilterable/page.mdx)<[FilterableProductVariantProps](../../product/interfaces/product.FilterableProductVariantProps/page.mdx)>)[]","description":"An array of filters to apply on the entity, where each item in the array is joined with an \"and\" condition.","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"$and","type":"([FilterableProductVariantProps](../../product/interfaces/product.FilterableProductVariantProps/page.mdx) \\| [BaseFilterable](../../product/interfaces/product.BaseFilterable/page.mdx)<[FilterableProductVariantProps](../../product/interfaces/product.FilterableProductVariantProps/page.mdx)>)[]","description":"An array of filters to apply on the entity, where each item in the array is joined with an \"and\" condition.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$or","type":"([FilterableProductVariantProps](../../product/interfaces/product.FilterableProductVariantProps/page.mdx) \\| [BaseFilterable](../../product/interfaces/product.BaseFilterable/page.mdx)<[FilterableProductVariantProps](../../product/interfaces/product.FilterableProductVariantProps/page.mdx)>)[]","description":"An array of filters to apply on the entity, where each item in the array is joined with an \"or\" condition.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"q","type":"`string`","description":"Search through the title and different code attributes on the variant","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"id","type":"`string` \\| `string`[]","description":"The IDs to filter product variants by.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"sku","type":"`string` \\| `string`[]","description":"The SKUs to filter product variants by.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"product_id","type":"`string` \\| `string`[]","description":"Filter the product variants by their associated products' IDs.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"options","type":"`Record`","description":"Filter product variants by their associated options.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$and","type":"([BaseFilterable](../../product/interfaces/product.BaseFilterable/page.mdx)<T> \\| T)[]","description":"An array of filters to apply on the entity, where each item in the array is joined with an \"and\" condition.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$or","type":"([BaseFilterable](../../product/interfaces/product.BaseFilterable/page.mdx)<T> \\| T)[]","description":"An array of filters to apply on the entity, where each item in the array is joined with an \"or\" condition.","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"$or","type":"([FilterableProductVariantProps](../../product/interfaces/product.FilterableProductVariantProps/page.mdx) \\| [BaseFilterable](../../product/interfaces/product.BaseFilterable/page.mdx)<[FilterableProductVariantProps](../../product/interfaces/product.FilterableProductVariantProps/page.mdx)>)[]","description":"An array of filters to apply on the entity, where each item in the array is joined with an \"or\" condition.","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"$and","type":"([FilterableProductVariantProps](../../product/interfaces/product.FilterableProductVariantProps/page.mdx) \\| [BaseFilterable](../../product/interfaces/product.BaseFilterable/page.mdx)<[FilterableProductVariantProps](../../product/interfaces/product.FilterableProductVariantProps/page.mdx)>)[]","description":"An array of filters to apply on the entity, where each item in the array is joined with an \"and\" condition.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$or","type":"([FilterableProductVariantProps](../../product/interfaces/product.FilterableProductVariantProps/page.mdx) \\| [BaseFilterable](../../product/interfaces/product.BaseFilterable/page.mdx)<[FilterableProductVariantProps](../../product/interfaces/product.FilterableProductVariantProps/page.mdx)>)[]","description":"An array of filters to apply on the entity, where each item in the array is joined with an \"or\" condition.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"q","type":"`string`","description":"Search through the title and different code attributes on the variant","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"id","type":"`string` \\| `string`[]","description":"The IDs to filter product variants by.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"sku","type":"`string` \\| `string`[]","description":"The SKUs to filter product variants by.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"product_id","type":"`string` \\| `string`[]","description":"Filter the product variants by their associated products' IDs.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"options","type":"`Record`","description":"Filter product variants by their associated options.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$and","type":"([BaseFilterable](../../product/interfaces/product.BaseFilterable/page.mdx)<T> \\| T)[]","description":"An array of filters to apply on the entity, where each item in the array is joined with an \"and\" condition.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$or","type":"([BaseFilterable](../../product/interfaces/product.BaseFilterable/page.mdx)<T> \\| T)[]","description":"An array of filters to apply on the entity, where each item in the array is joined with an \"or\" condition.","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"q","type":"`string`","description":"Search through the title and different code attributes on the variant","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"id","type":"`string` \\| `string`[]","description":"The IDs to filter product variants by.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"sku","type":"`string` \\| `string`[]","description":"The SKUs to filter product variants by.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"product_id","type":"`string` \\| `string`[]","description":"Filter the product variants by their associated products' IDs.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"options","type":"`Record`","description":"Filter product variants by their associated options.","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"update","type":"[UpdateProductVariantDTO](../../product/interfaces/product.UpdateProductVariantDTO/page.mdx) & `object`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[{"name":"title","type":"`string`","description":"The tile of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"sku","type":"`null` \\| `string`","description":"The SKU of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"barcode","type":"`null` \\| `string`","description":"The barcode of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"ean","type":"`null` \\| `string`","description":"The EAN of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"upc","type":"`null` \\| `string`","description":"The UPC of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"allow_backorder","type":"`boolean`","description":"Whether the product variant can be ordered when it's out of stock.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"manage_inventory","type":"`boolean`","description":"Whether the product variant's inventory should be managed by the core system.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"hs_code","type":"`null` \\| `string`","description":"The HS Code of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"origin_country","type":"`null` \\| `string`","description":"The origin country of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"mid_code","type":"`null` \\| `string`","description":"The MID Code of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"material","type":"`null` \\| `string`","description":"The material of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"weight","type":"`null` \\| `number`","description":"The weight of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"length","type":"`null` \\| `number`","description":"The length of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"height","type":"`null` \\| `number`","description":"The height of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"width","type":"`null` \\| `number`","description":"The width of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"options","type":"`Record`","description":"The product variant options to associate with the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"metadata","type":"[MetadataType](../../product/types/product.MetadataType/page.mdx)","description":"Holds custom data in key-value pairs.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"prices","type":"Partial<[CreateMoneyAmountDTO](../../pricing/interfaces/pricing.CreateMoneyAmountDTO/page.mdx)>[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"currency_code","type":"`string`","description":"The currency code of this money amount.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"amount","type":"[BigNumberInput](../../pricing/types/pricing.BigNumberInput/page.mdx)","description":"The amount of this money amount.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"id","type":"`string`","description":"The ID of the money amount.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"min_quantity","type":"`null` \\| [BigNumberInput](../../pricing/types/pricing.BigNumberInput/page.mdx)","description":"The minimum quantity required to be purchased for this money amount to be applied.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"max_quantity","type":"`null` \\| [BigNumberInput](../../pricing/types/pricing.BigNumberInput/page.mdx)","description":"The maximum quantity required to be purchased for this money amount to be applied.","optional":true,"defaultValue":"","expandable":false,"children":[]}]}]},{"name":"product_variants","type":"[UpsertProductVariantDTO](../../product/interfaces/product.UpsertProductVariantDTO/page.mdx) & `object`[]","description":"","optional":false,"defaultValue":"","expandable":false,"children":[{"name":"id","type":"`string`","description":"The ID of the product variant to update.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"title","type":"`string`","description":"The tile of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"sku","type":"`null` \\| `string`","description":"The SKU of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"barcode","type":"`null` \\| `string`","description":"The barcode of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"ean","type":"`null` \\| `string`","description":"The EAN of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"upc","type":"`null` \\| `string`","description":"The UPC of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"allow_backorder","type":"`boolean`","description":"Whether the product variant can be ordered when it's out of stock.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"manage_inventory","type":"`boolean`","description":"Whether the product variant's inventory should be managed by the core system.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"hs_code","type":"`null` \\| `string`","description":"The HS Code of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"origin_country","type":"`null` \\| `string`","description":"The origin country of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"mid_code","type":"`null` \\| `string`","description":"The MID Code of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"material","type":"`null` \\| `string`","description":"The material of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"weight","type":"`null` \\| `number`","description":"The weight of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"length","type":"`null` \\| `number`","description":"The length of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"height","type":"`null` \\| `number`","description":"The height of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"width","type":"`null` \\| `number`","description":"The width of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"options","type":"`Record`","description":"The product variant options to associate with the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"metadata","type":"[MetadataType](../../product/types/product.MetadataType/page.mdx)","description":"Holds custom data in key-value pairs.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"prices","type":"Partial<[CreateMoneyAmountDTO](../../pricing/interfaces/pricing.CreateMoneyAmountDTO/page.mdx)>[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"currency_code","type":"`string`","description":"The currency code of this money amount.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"amount","type":"[BigNumberInput](../../pricing/types/pricing.BigNumberInput/page.mdx)","description":"The amount of this money amount.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"id","type":"`string`","description":"The ID of the money amount.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"min_quantity","type":"`null` \\| [BigNumberInput](../../pricing/types/pricing.BigNumberInput/page.mdx)","description":"The minimum quantity required to be purchased for this money amount to be applied.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"max_quantity","type":"`null` \\| [BigNumberInput](../../pricing/types/pricing.BigNumberInput/page.mdx)","description":"The maximum quantity required to be purchased for this money amount to be applied.","optional":true,"defaultValue":"","expandable":false,"children":[]}]}]},{"name":"price_set","type":"`undefined` \\| [PriceSetDTO](../../pricing/interfaces/pricing.PriceSetDTO/page.mdx)","description":"","optional":false,"defaultValue":"priceSetForVariant","expandable":false,"children":[{"name":"id","type":"`string`","description":"The ID of the price set.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"prices","type":"[MoneyAmountDTO](../../pricing/interfaces/pricing.MoneyAmountDTO/page.mdx)[]","description":"The prices that belong to this price set.","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"id","type":"`string`","description":"The ID of the money amount.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"created_at","type":"`Date`","description":"When the money\\_amount was created.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"updated_at","type":"`Date`","description":"When the money\\_amount was updated.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"deleted_at","type":"`null` \\| `Date`","description":"When the money\\_amount was deleted.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"currency_code","type":"`string`","description":"The currency code of this money amount.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"amount","type":"[BigNumberValue](../../pricing/types/pricing.BigNumberValue/page.mdx)","description":"The price of this money amount.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"min_quantity","type":"[BigNumberValue](../../pricing/types/pricing.BigNumberValue/page.mdx)","description":"The minimum quantity required to be purchased for this price to be applied.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"max_quantity","type":"[BigNumberValue](../../pricing/types/pricing.BigNumberValue/page.mdx)","description":"The maximum quantity required to be purchased for this price to be applied.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"rules_count","type":"`number`","description":"The number of rules that apply to this price","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"price_rules","type":"[PriceRuleDTO](../../pricing/interfaces/pricing.PriceRuleDTO/page.mdx)[]","description":"The price rules that apply to this price","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"calculated_price","type":"[CalculatedPriceSet](../../pricing/interfaces/pricing.CalculatedPriceSet/page.mdx)","description":"The calculated price based on the context.","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"id","type":"`string`","description":"The ID of the price set.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"calculated_amount","type":"`null` \\| [BigNumberValue](../../pricing/types/pricing.BigNumberValue/page.mdx)","description":"The amount of the calculated price, or `null` if there isn't a calculated price.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"raw_calculated_amount","type":"`null` \\| [BigNumberRawValue](../../pricing/types/pricing.BigNumberRawValue/page.mdx)","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"original_amount","type":"`null` \\| [BigNumberValue](../../pricing/types/pricing.BigNumberValue/page.mdx)","description":"The amount of the original price, or `null` if there isn't a calculated price.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"raw_original_amount","type":"`null` \\| [BigNumberRawValue](../../pricing/types/pricing.BigNumberRawValue/page.mdx)","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"currency_code","type":"`null` \\| `string`","description":"The currency code of the calculated price, or null if there isn't a calculated price.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"is_calculated_price_price_list","type":"`boolean`","description":"Whether the calculated price is associated with a price list. During the calculation process, if no valid price list is found,\nthe calculated price is set to the original price, which doesn't belong to a price list. In that case, the value of this property is `false`.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"is_calculated_price_tax_inclusive","type":"`boolean`","description":"Whether the calculated price is tax inclusive or not.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"is_original_price_price_list","type":"`boolean`","description":"Whether the original price is associated with a price list. During the calculation process, if the price list of the calculated price is of type override,\nthe original price will be the same as the calculated price. In that case, the value of this property is `true`.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"is_original_price_tax_inclusive","type":"`boolean`","description":"Whether the original price is tax inclusive or not.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"calculated_price","type":"`object`","description":"The details of the calculated price.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"original_price","type":"`object`","description":"The details of the original price.","optional":true,"defaultValue":"","expandable":false,"children":[]}]}]},{"name":"price_set","type":"`undefined` \\| [PriceSetDTO](../../pricing/interfaces/pricing.PriceSetDTO/page.mdx)","description":"","optional":false,"defaultValue":"priceSetForVariant","expandable":false,"children":[{"name":"id","type":"`string`","description":"The ID of the price set.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"prices","type":"[MoneyAmountDTO](../../pricing/interfaces/pricing.MoneyAmountDTO/page.mdx)[]","description":"The prices that belong to this price set.","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"id","type":"`string`","description":"The ID of the money amount.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"created_at","type":"`Date`","description":"When the money\\_amount was created.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"updated_at","type":"`Date`","description":"When the money\\_amount was updated.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"deleted_at","type":"`null` \\| `Date`","description":"When the money\\_amount was deleted.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"currency_code","type":"`string`","description":"The currency code of this money amount.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"amount","type":"[BigNumberValue](../../pricing/types/pricing.BigNumberValue/page.mdx)","description":"The price of this money amount.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"min_quantity","type":"[BigNumberValue](../../pricing/types/pricing.BigNumberValue/page.mdx)","description":"The minimum quantity required to be purchased for this price to be applied.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"max_quantity","type":"[BigNumberValue](../../pricing/types/pricing.BigNumberValue/page.mdx)","description":"The maximum quantity required to be purchased for this price to be applied.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"rules_count","type":"`number`","description":"The number of rules that apply to this price","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"price_rules","type":"[PriceRuleDTO](../../pricing/interfaces/pricing.PriceRuleDTO/page.mdx)[]","description":"The price rules that apply to this price","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"calculated_price","type":"[CalculatedPriceSet](../../pricing/interfaces/pricing.CalculatedPriceSet/page.mdx)","description":"The calculated price based on the context.","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"id","type":"`string`","description":"The ID of the price set.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"calculated_amount","type":"`null` \\| [BigNumberValue](../../pricing/types/pricing.BigNumberValue/page.mdx)","description":"The amount of the calculated price, or `null` if there isn't a calculated price.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"raw_calculated_amount","type":"`null` \\| [BigNumberRawValue](../../pricing/types/pricing.BigNumberRawValue/page.mdx)","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"original_amount","type":"`null` \\| [BigNumberValue](../../pricing/types/pricing.BigNumberValue/page.mdx)","description":"The amount of the original price, or `null` if there isn't a calculated price.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"raw_original_amount","type":"`null` \\| [BigNumberRawValue](../../pricing/types/pricing.BigNumberRawValue/page.mdx)","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"currency_code","type":"`null` \\| `string`","description":"The currency code of the calculated price, or null if there isn't a calculated price.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"is_calculated_price_price_list","type":"`boolean`","description":"Whether the calculated price is associated with a price list. During the calculation process, if no valid price list is found,\nthe calculated price is set to the original price, which doesn't belong to a price list. In that case, the value of this property is `false`.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"is_calculated_price_tax_inclusive","type":"`boolean`","description":"Whether the calculated price is tax inclusive or not.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"is_original_price_price_list","type":"`boolean`","description":"Whether the original price is associated with a price list. During the calculation process, if the price list of the calculated price is of type override,\nthe original price will be the same as the calculated price. In that case, the value of this property is `true`.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"is_original_price_tax_inclusive","type":"`boolean`","description":"Whether the original price is tax inclusive or not.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"calculated_price","type":"`object`","description":"The details of the calculated price.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"original_price","type":"`object`","description":"The details of the original price.","optional":true,"defaultValue":"","expandable":false,"children":[]}]}]},{"name":"price_set","type":"`undefined` \\| [PriceSetDTO](../../pricing/interfaces/pricing.PriceSetDTO/page.mdx)","description":"","optional":false,"defaultValue":"priceSetForVariant","expandable":false,"children":[{"name":"id","type":"`string`","description":"The ID of the price set.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"prices","type":"[MoneyAmountDTO](../../pricing/interfaces/pricing.MoneyAmountDTO/page.mdx)[]","description":"The prices that belong to this price set.","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"id","type":"`string`","description":"The ID of the money amount.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"created_at","type":"`Date`","description":"When the money\\_amount was created.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"updated_at","type":"`Date`","description":"When the money\\_amount was updated.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"deleted_at","type":"`null` \\| `Date`","description":"When the money\\_amount was deleted.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"currency_code","type":"`string`","description":"The currency code of this money amount.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"amount","type":"[BigNumberValue](../../pricing/types/pricing.BigNumberValue/page.mdx)","description":"The price of this money amount.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"min_quantity","type":"[BigNumberValue](../../pricing/types/pricing.BigNumberValue/page.mdx)","description":"The minimum quantity required to be purchased for this price to be applied.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"max_quantity","type":"[BigNumberValue](../../pricing/types/pricing.BigNumberValue/page.mdx)","description":"The maximum quantity required to be purchased for this price to be applied.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"rules_count","type":"`number`","description":"The number of rules that apply to this price","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"price_rules","type":"[PriceRuleDTO](../../pricing/interfaces/pricing.PriceRuleDTO/page.mdx)[]","description":"The price rules that apply to this price","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"calculated_price","type":"[CalculatedPriceSet](../../pricing/interfaces/pricing.CalculatedPriceSet/page.mdx)","description":"The calculated price based on the context.","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"id","type":"`string`","description":"The ID of the price set.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"calculated_amount","type":"`null` \\| [BigNumberValue](../../pricing/types/pricing.BigNumberValue/page.mdx)","description":"The amount of the calculated price, or `null` if there isn't a calculated price.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"raw_calculated_amount","type":"`null` \\| [BigNumberRawValue](../../pricing/types/pricing.BigNumberRawValue/page.mdx)","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"original_amount","type":"`null` \\| [BigNumberValue](../../pricing/types/pricing.BigNumberValue/page.mdx)","description":"The amount of the original price, or `null` if there isn't a calculated price.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"raw_original_amount","type":"`null` \\| [BigNumberRawValue](../../pricing/types/pricing.BigNumberRawValue/page.mdx)","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"currency_code","type":"`null` \\| `string`","description":"The currency code of the calculated price, or null if there isn't a calculated price.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"is_calculated_price_price_list","type":"`boolean`","description":"Whether the calculated price is associated with a price list. During the calculation process, if no valid price list is found,\nthe calculated price is set to the original price, which doesn't belong to a price list. In that case, the value of this property is `false`.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"is_calculated_price_tax_inclusive","type":"`boolean`","description":"Whether the calculated price is tax inclusive or not.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"is_original_price_price_list","type":"`boolean`","description":"Whether the original price is associated with a price list. During the calculation process, if the price list of the calculated price is of type override,\nthe original price will be the same as the calculated price. In that case, the value of this property is `true`.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"is_original_price_tax_inclusive","type":"`boolean`","description":"Whether the original price is tax inclusive or not.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"calculated_price","type":"`object`","description":"The details of the calculated price.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"original_price","type":"`object`","description":"The details of the original price.","optional":true,"defaultValue":"","expandable":false,"children":[]}]}]},{"name":"price_set","type":"`undefined` \\| [PriceSetDTO](../../pricing/interfaces/pricing.PriceSetDTO/page.mdx)","description":"","optional":false,"defaultValue":"priceSetForVariant","expandable":false,"children":[{"name":"id","type":"`string`","description":"The ID of the price set.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"prices","type":"[MoneyAmountDTO](../../pricing/interfaces/pricing.MoneyAmountDTO/page.mdx)[]","description":"The prices that belong to this price set.","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"id","type":"`string`","description":"The ID of the money amount.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"created_at","type":"`Date`","description":"When the money\\_amount was created.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"updated_at","type":"`Date`","description":"When the money\\_amount was updated.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"deleted_at","type":"`null` \\| `Date`","description":"When the money\\_amount was deleted.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"currency_code","type":"`string`","description":"The currency code of this money amount.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"amount","type":"[BigNumberValue](../../pricing/types/pricing.BigNumberValue/page.mdx)","description":"The price of this money amount.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"min_quantity","type":"[BigNumberValue](../../pricing/types/pricing.BigNumberValue/page.mdx)","description":"The minimum quantity required to be purchased for this price to be applied.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"max_quantity","type":"[BigNumberValue](../../pricing/types/pricing.BigNumberValue/page.mdx)","description":"The maximum quantity required to be purchased for this price to be applied.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"rules_count","type":"`number`","description":"The number of rules that apply to this price","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"price_rules","type":"[PriceRuleDTO](../../pricing/interfaces/pricing.PriceRuleDTO/page.mdx)[]","description":"The price rules that apply to this price","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"calculated_price","type":"[CalculatedPriceSet](../../pricing/interfaces/pricing.CalculatedPriceSet/page.mdx)","description":"The calculated price based on the context.","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"id","type":"`string`","description":"The ID of the price set.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"calculated_amount","type":"`null` \\| [BigNumberValue](../../pricing/types/pricing.BigNumberValue/page.mdx)","description":"The amount of the calculated price, or `null` if there isn't a calculated price.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"raw_calculated_amount","type":"`null` \\| [BigNumberRawValue](../../pricing/types/pricing.BigNumberRawValue/page.mdx)","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"original_amount","type":"`null` \\| [BigNumberValue](../../pricing/types/pricing.BigNumberValue/page.mdx)","description":"The amount of the original price, or `null` if there isn't a calculated price.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"raw_original_amount","type":"`null` \\| [BigNumberRawValue](../../pricing/types/pricing.BigNumberRawValue/page.mdx)","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"currency_code","type":"`null` \\| `string`","description":"The currency code of the calculated price, or null if there isn't a calculated price.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"is_calculated_price_price_list","type":"`boolean`","description":"Whether the calculated price is associated with a price list. During the calculation process, if no valid price list is found,\nthe calculated price is set to the original price, which doesn't belong to a price list. In that case, the value of this property is `false`.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"is_calculated_price_tax_inclusive","type":"`boolean`","description":"Whether the calculated price is tax inclusive or not.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"is_original_price_price_list","type":"`boolean`","description":"Whether the original price is associated with a price list. During the calculation process, if the price list of the calculated price is of type override,\nthe original price will be the same as the calculated price. In that case, the value of this property is `true`.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"is_original_price_tax_inclusive","type":"`boolean`","description":"Whether the original price is tax inclusive or not.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"calculated_price","type":"`object`","description":"The details of the calculated price.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"original_price","type":"`object`","description":"The details of the original price.","optional":true,"defaultValue":"","expandable":false,"children":[]}]}]},{"name":"price_set","type":"`undefined` \\| [PriceSetDTO](../../pricing/interfaces/pricing.PriceSetDTO/page.mdx)","description":"","optional":false,"defaultValue":"priceSetForVariant","expandable":false,"children":[{"name":"id","type":"`string`","description":"The ID of the price set.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"prices","type":"[MoneyAmountDTO](../../pricing/interfaces/pricing.MoneyAmountDTO/page.mdx)[]","description":"The prices that belong to this price set.","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"id","type":"`string`","description":"The ID of the money amount.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"created_at","type":"`Date`","description":"When the money\\_amount was created.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"updated_at","type":"`Date`","description":"When the money\\_amount was updated.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"deleted_at","type":"`null` \\| `Date`","description":"When the money\\_amount was deleted.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"currency_code","type":"`string`","description":"The currency code of this money amount.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"amount","type":"[BigNumberValue](../../pricing/types/pricing.BigNumberValue/page.mdx)","description":"The price of this money amount.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"min_quantity","type":"[BigNumberValue](../../pricing/types/pricing.BigNumberValue/page.mdx)","description":"The minimum quantity required to be purchased for this price to be applied.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"max_quantity","type":"[BigNumberValue](../../pricing/types/pricing.BigNumberValue/page.mdx)","description":"The maximum quantity required to be purchased for this price to be applied.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"rules_count","type":"`number`","description":"The number of rules that apply to this price","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"price_rules","type":"[PriceRuleDTO](../../pricing/interfaces/pricing.PriceRuleDTO/page.mdx)[]","description":"The price rules that apply to this price","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"calculated_price","type":"[CalculatedPriceSet](../../pricing/interfaces/pricing.CalculatedPriceSet/page.mdx)","description":"The calculated price based on the context.","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"id","type":"`string`","description":"The ID of the price set.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"calculated_amount","type":"`null` \\| [BigNumberValue](../../pricing/types/pricing.BigNumberValue/page.mdx)","description":"The amount of the calculated price, or `null` if there isn't a calculated price.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"raw_calculated_amount","type":"`null` \\| [BigNumberRawValue](../../pricing/types/pricing.BigNumberRawValue/page.mdx)","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"original_amount","type":"`null` \\| [BigNumberValue](../../pricing/types/pricing.BigNumberValue/page.mdx)","description":"The amount of the original price, or `null` if there isn't a calculated price.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"raw_original_amount","type":"`null` \\| [BigNumberRawValue](../../pricing/types/pricing.BigNumberRawValue/page.mdx)","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"currency_code","type":"`null` \\| `string`","description":"The currency code of the calculated price, or null if there isn't a calculated price.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"is_calculated_price_price_list","type":"`boolean`","description":"Whether the calculated price is associated with a price list. During the calculation process, if no valid price list is found,\nthe calculated price is set to the original price, which doesn't belong to a price list. In that case, the value of this property is `false`.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"is_calculated_price_tax_inclusive","type":"`boolean`","description":"Whether the calculated price is tax inclusive or not.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"is_original_price_price_list","type":"`boolean`","description":"Whether the original price is associated with a price list. During the calculation process, if the price list of the calculated price is of type override,\nthe original price will be the same as the calculated price. In that case, the value of this property is `true`.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"is_original_price_tax_inclusive","type":"`boolean`","description":"Whether the original price is tax inclusive or not.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"calculated_price","type":"`object`","description":"The details of the calculated price.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"original_price","type":"`object`","description":"The details of the original price.","optional":true,"defaultValue":"","expandable":false,"children":[]}]}]},{"name":"price_set","type":"`undefined` \\| [PriceSetDTO](../../pricing/interfaces/pricing.PriceSetDTO/page.mdx)","description":"","optional":false,"defaultValue":"priceSetForVariant","expandable":false,"children":[{"name":"id","type":"`string`","description":"The ID of the price set.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"prices","type":"[MoneyAmountDTO](../../pricing/interfaces/pricing.MoneyAmountDTO/page.mdx)[]","description":"The prices that belong to this price set.","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"id","type":"`string`","description":"The ID of the money amount.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"created_at","type":"`Date`","description":"When the money\\_amount was created.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"updated_at","type":"`Date`","description":"When the money\\_amount was updated.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"deleted_at","type":"`null` \\| `Date`","description":"When the money\\_amount was deleted.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"currency_code","type":"`string`","description":"The currency code of this money amount.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"amount","type":"[BigNumberValue](../../pricing/types/pricing.BigNumberValue/page.mdx)","description":"The price of this money amount.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"min_quantity","type":"[BigNumberValue](../../pricing/types/pricing.BigNumberValue/page.mdx)","description":"The minimum quantity required to be purchased for this price to be applied.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"max_quantity","type":"[BigNumberValue](../../pricing/types/pricing.BigNumberValue/page.mdx)","description":"The maximum quantity required to be purchased for this price to be applied.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"rules_count","type":"`number`","description":"The number of rules that apply to this price","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"price_rules","type":"[PriceRuleDTO](../../pricing/interfaces/pricing.PriceRuleDTO/page.mdx)[]","description":"The price rules that apply to this price","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"calculated_price","type":"[CalculatedPriceSet](../../pricing/interfaces/pricing.CalculatedPriceSet/page.mdx)","description":"The calculated price based on the context.","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"id","type":"`string`","description":"The ID of the price set.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"calculated_amount","type":"`null` \\| [BigNumberValue](../../pricing/types/pricing.BigNumberValue/page.mdx)","description":"The amount of the calculated price, or `null` if there isn't a calculated price.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"raw_calculated_amount","type":"`null` \\| [BigNumberRawValue](../../pricing/types/pricing.BigNumberRawValue/page.mdx)","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"original_amount","type":"`null` \\| [BigNumberValue](../../pricing/types/pricing.BigNumberValue/page.mdx)","description":"The amount of the original price, or `null` if there isn't a calculated price.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"raw_original_amount","type":"`null` \\| [BigNumberRawValue](../../pricing/types/pricing.BigNumberRawValue/page.mdx)","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"currency_code","type":"`null` \\| `string`","description":"The currency code of the calculated price, or null if there isn't a calculated price.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"is_calculated_price_price_list","type":"`boolean`","description":"Whether the calculated price is associated with a price list. During the calculation process, if no valid price list is found,\nthe calculated price is set to the original price, which doesn't belong to a price list. In that case, the value of this property is `false`.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"is_calculated_price_tax_inclusive","type":"`boolean`","description":"Whether the calculated price is tax inclusive or not.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"is_original_price_price_list","type":"`boolean`","description":"Whether the original price is associated with a price list. During the calculation process, if the price list of the calculated price is of type override,\nthe original price will be the same as the calculated price. In that case, the value of this property is `true`.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"is_original_price_tax_inclusive","type":"`boolean`","description":"Whether the original price is tax inclusive or not.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"calculated_price","type":"`object`","description":"The details of the calculated price.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"original_price","type":"`object`","description":"The details of the original price.","optional":true,"defaultValue":"","expandable":false,"children":[]}]}]},{"name":"price_set","type":"`undefined` \\| [PriceSetDTO](../../pricing/interfaces/pricing.PriceSetDTO/page.mdx)","description":"","optional":false,"defaultValue":"priceSetForVariant","expandable":false,"children":[{"name":"id","type":"`string`","description":"The ID of the price set.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"prices","type":"[MoneyAmountDTO](../../pricing/interfaces/pricing.MoneyAmountDTO/page.mdx)[]","description":"The prices that belong to this price set.","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"id","type":"`string`","description":"The ID of the money amount.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"created_at","type":"`Date`","description":"When the money\\_amount was created.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"updated_at","type":"`Date`","description":"When the money\\_amount was updated.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"deleted_at","type":"`null` \\| `Date`","description":"When the money\\_amount was deleted.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"currency_code","type":"`string`","description":"The currency code of this money amount.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"amount","type":"[BigNumberValue](../../pricing/types/pricing.BigNumberValue/page.mdx)","description":"The price of this money amount.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"min_quantity","type":"[BigNumberValue](../../pricing/types/pricing.BigNumberValue/page.mdx)","description":"The minimum quantity required to be purchased for this price to be applied.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"max_quantity","type":"[BigNumberValue](../../pricing/types/pricing.BigNumberValue/page.mdx)","description":"The maximum quantity required to be purchased for this price to be applied.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"rules_count","type":"`number`","description":"The number of rules that apply to this price","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"price_rules","type":"[PriceRuleDTO](../../pricing/interfaces/pricing.PriceRuleDTO/page.mdx)[]","description":"The price rules that apply to this price","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"calculated_price","type":"[CalculatedPriceSet](../../pricing/interfaces/pricing.CalculatedPriceSet/page.mdx)","description":"The calculated price based on the context.","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"id","type":"`string`","description":"The ID of the price set.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"calculated_amount","type":"`null` \\| [BigNumberValue](../../pricing/types/pricing.BigNumberValue/page.mdx)","description":"The amount of the calculated price, or `null` if there isn't a calculated price.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"raw_calculated_amount","type":"`null` \\| [BigNumberRawValue](../../pricing/types/pricing.BigNumberRawValue/page.mdx)","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"original_amount","type":"`null` \\| [BigNumberValue](../../pricing/types/pricing.BigNumberValue/page.mdx)","description":"The amount of the original price, or `null` if there isn't a calculated price.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"raw_original_amount","type":"`null` \\| [BigNumberRawValue](../../pricing/types/pricing.BigNumberRawValue/page.mdx)","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"currency_code","type":"`null` \\| `string`","description":"The currency code of the calculated price, or null if there isn't a calculated price.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"is_calculated_price_price_list","type":"`boolean`","description":"Whether the calculated price is associated with a price list. During the calculation process, if no valid price list is found,\nthe calculated price is set to the original price, which doesn't belong to a price list. In that case, the value of this property is `false`.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"is_calculated_price_tax_inclusive","type":"`boolean`","description":"Whether the calculated price is tax inclusive or not.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"is_original_price_price_list","type":"`boolean`","description":"Whether the original price is associated with a price list. During the calculation process, if the price list of the calculated price is of type override,\nthe original price will be the same as the calculated price. In that case, the value of this property is `true`.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"is_original_price_tax_inclusive","type":"`boolean`","description":"Whether the original price is tax inclusive or not.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"calculated_price","type":"`object`","description":"The details of the calculated price.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"original_price","type":"`object`","description":"The details of the original price.","optional":true,"defaultValue":"","expandable":false,"children":[]}]}]},{"name":"price_set","type":"`undefined` \\| [PriceSetDTO](../../pricing/interfaces/pricing.PriceSetDTO/page.mdx)","description":"","optional":false,"defaultValue":"priceSetForVariant","expandable":false,"children":[{"name":"id","type":"`string`","description":"The ID of the price set.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"prices","type":"[MoneyAmountDTO](../../pricing/interfaces/pricing.MoneyAmountDTO/page.mdx)[]","description":"The prices that belong to this price set.","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"id","type":"`string`","description":"The ID of the money amount.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"created_at","type":"`Date`","description":"When the money\\_amount was created.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"updated_at","type":"`Date`","description":"When the money\\_amount was updated.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"deleted_at","type":"`null` \\| `Date`","description":"When the money\\_amount was deleted.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"currency_code","type":"`string`","description":"The currency code of this money amount.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"amount","type":"[BigNumberValue](../../pricing/types/pricing.BigNumberValue/page.mdx)","description":"The price of this money amount.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"min_quantity","type":"[BigNumberValue](../../pricing/types/pricing.BigNumberValue/page.mdx)","description":"The minimum quantity required to be purchased for this price to be applied.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"max_quantity","type":"[BigNumberValue](../../pricing/types/pricing.BigNumberValue/page.mdx)","description":"The maximum quantity required to be purchased for this price to be applied.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"rules_count","type":"`number`","description":"The number of rules that apply to this price","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"price_rules","type":"[PriceRuleDTO](../../pricing/interfaces/pricing.PriceRuleDTO/page.mdx)[]","description":"The price rules that apply to this price","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"calculated_price","type":"[CalculatedPriceSet](../../pricing/interfaces/pricing.CalculatedPriceSet/page.mdx)","description":"The calculated price based on the context.","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"id","type":"`string`","description":"The ID of the price set.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"calculated_amount","type":"`null` \\| [BigNumberValue](../../pricing/types/pricing.BigNumberValue/page.mdx)","description":"The amount of the calculated price, or `null` if there isn't a calculated price.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"raw_calculated_amount","type":"`null` \\| [BigNumberRawValue](../../pricing/types/pricing.BigNumberRawValue/page.mdx)","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"original_amount","type":"`null` \\| [BigNumberValue](../../pricing/types/pricing.BigNumberValue/page.mdx)","description":"The amount of the original price, or `null` if there isn't a calculated price.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"raw_original_amount","type":"`null` \\| [BigNumberRawValue](../../pricing/types/pricing.BigNumberRawValue/page.mdx)","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"currency_code","type":"`null` \\| `string`","description":"The currency code of the calculated price, or null if there isn't a calculated price.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"is_calculated_price_price_list","type":"`boolean`","description":"Whether the calculated price is associated with a price list. During the calculation process, if no valid price list is found,\nthe calculated price is set to the original price, which doesn't belong to a price list. In that case, the value of this property is `false`.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"is_calculated_price_tax_inclusive","type":"`boolean`","description":"Whether the calculated price is tax inclusive or not.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"is_original_price_price_list","type":"`boolean`","description":"Whether the original price is associated with a price list. During the calculation process, if the price list of the calculated price is of type override,\nthe original price will be the same as the calculated price. In that case, the value of this property is `true`.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"is_original_price_tax_inclusive","type":"`boolean`","description":"Whether the original price is tax inclusive or not.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"calculated_price","type":"`object`","description":"The details of the calculated price.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"original_price","type":"`object`","description":"The details of the original price.","optional":true,"defaultValue":"","expandable":false,"children":[]}]}]},{"name":"price_set","type":"`undefined` \\| [PriceSetDTO](../../pricing/interfaces/pricing.PriceSetDTO/page.mdx)","description":"","optional":false,"defaultValue":"priceSetForVariant","expandable":false,"children":[{"name":"id","type":"`string`","description":"The ID of the price set.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"prices","type":"[MoneyAmountDTO](../../pricing/interfaces/pricing.MoneyAmountDTO/page.mdx)[]","description":"The prices that belong to this price set.","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"id","type":"`string`","description":"The ID of the money amount.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"created_at","type":"`Date`","description":"When the money\\_amount was created.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"updated_at","type":"`Date`","description":"When the money\\_amount was updated.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"deleted_at","type":"`null` \\| `Date`","description":"When the money\\_amount was deleted.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"currency_code","type":"`string`","description":"The currency code of this money amount.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"amount","type":"[BigNumberValue](../../pricing/types/pricing.BigNumberValue/page.mdx)","description":"The price of this money amount.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"min_quantity","type":"[BigNumberValue](../../pricing/types/pricing.BigNumberValue/page.mdx)","description":"The minimum quantity required to be purchased for this price to be applied.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"max_quantity","type":"[BigNumberValue](../../pricing/types/pricing.BigNumberValue/page.mdx)","description":"The maximum quantity required to be purchased for this price to be applied.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"rules_count","type":"`number`","description":"The number of rules that apply to this price","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"price_rules","type":"[PriceRuleDTO](../../pricing/interfaces/pricing.PriceRuleDTO/page.mdx)[]","description":"The price rules that apply to this price","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"calculated_price","type":"[CalculatedPriceSet](../../pricing/interfaces/pricing.CalculatedPriceSet/page.mdx)","description":"The calculated price based on the context.","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"id","type":"`string`","description":"The ID of the price set.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"calculated_amount","type":"`null` \\| [BigNumberValue](../../pricing/types/pricing.BigNumberValue/page.mdx)","description":"The amount of the calculated price, or `null` if there isn't a calculated price.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"raw_calculated_amount","type":"`null` \\| [BigNumberRawValue](../../pricing/types/pricing.BigNumberRawValue/page.mdx)","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"original_amount","type":"`null` \\| [BigNumberValue](../../pricing/types/pricing.BigNumberValue/page.mdx)","description":"The amount of the original price, or `null` if there isn't a calculated price.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"raw_original_amount","type":"`null` \\| [BigNumberRawValue](../../pricing/types/pricing.BigNumberRawValue/page.mdx)","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"currency_code","type":"`null` \\| `string`","description":"The currency code of the calculated price, or null if there isn't a calculated price.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"is_calculated_price_price_list","type":"`boolean`","description":"Whether the calculated price is associated with a price list. During the calculation process, if no valid price list is found,\nthe calculated price is set to the original price, which doesn't belong to a price list. In that case, the value of this property is `false`.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"is_calculated_price_tax_inclusive","type":"`boolean`","description":"Whether the calculated price is tax inclusive or not.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"is_original_price_price_list","type":"`boolean`","description":"Whether the original price is associated with a price list. During the calculation process, if the price list of the calculated price is of type override,\nthe original price will be the same as the calculated price. In that case, the value of this property is `true`.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"is_original_price_tax_inclusive","type":"`boolean`","description":"Whether the original price is tax inclusive or not.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"calculated_price","type":"`object`","description":"The details of the calculated price.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"original_price","type":"`object`","description":"The details of the original price.","optional":true,"defaultValue":"","expandable":false,"children":[]}]}]},{"name":"product_variants","type":"`object`[]","description":"","optional":false,"defaultValue":"","expandable":false,"children":[{"name":"price_set","type":"`undefined` \\| [PriceSetDTO](../../pricing/interfaces/pricing.PriceSetDTO/page.mdx)","description":"","optional":false,"defaultValue":"priceSetForVariant","expandable":false,"children":[{"name":"id","type":"`string`","description":"The ID of the price set.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"prices","type":"[MoneyAmountDTO](../../pricing/interfaces/pricing.MoneyAmountDTO/page.mdx)[]","description":"The prices that belong to this price set.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"calculated_price","type":"[CalculatedPriceSet](../../pricing/interfaces/pricing.CalculatedPriceSet/page.mdx)","description":"The calculated price based on the context.","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"id","type":"`string`","description":"The ID of the product variant.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"title","type":"`string`","description":"The tile of the product variant.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"sku","type":"`null` \\| `string`","description":"The SKU of the product variant.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"barcode","type":"`null` \\| `string`","description":"The barcode of the product variant.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"ean","type":"`null` \\| `string`","description":"The EAN of the product variant.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"upc","type":"`null` \\| `string`","description":"The UPC of the product variant.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"allow_backorder","type":"`boolean`","description":"Whether the product variant can be ordered when it's out of stock.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"manage_inventory","type":"`boolean`","description":"Whether the product variant's inventory should be managed by the core system.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"requires_shipping","type":"`boolean`","description":"Whether the product variant's requires shipping.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"hs_code","type":"`null` \\| `string`","description":"The HS Code of the product variant.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"origin_country","type":"`null` \\| `string`","description":"The origin country of the product variant.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"mid_code","type":"`null` \\| `string`","description":"The MID Code of the product variant.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"material","type":"`null` \\| `string`","description":"The material of the product variant.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"weight","type":"`null` \\| `number`","description":"The weight of the product variant.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"length","type":"`null` \\| `number`","description":"The length of the product variant.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"height","type":"`null` \\| `number`","description":"The height of the product variant.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"width","type":"`null` \\| `number`","description":"The width of the product variant.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"options","type":"[ProductOptionValueDTO](../../product/interfaces/product.ProductOptionValueDTO/page.mdx)[]","description":"The associated product options.","optional":false,"defaultValue":"","expandable":true,"children":[{"name":"id","type":"`string`","description":"The ID of the product option value.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"value","type":"`string`","description":"The value of the product option value.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"created_at","type":"`string` \\| `Date`","description":"When the product option value was created.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"updated_at","type":"`string` \\| `Date`","description":"When the product option value was updated.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"option","type":"`null` \\| [ProductOptionDTO](../../product/interfaces/product.ProductOptionDTO/page.mdx)","description":"The associated product option. It may only be available if the `option` relation is expanded.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"option_id","type":"`null` \\| `string`","description":"The associated product option id.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"metadata","type":"[MetadataType](../../product/types/product.MetadataType/page.mdx)","description":"Holds custom data in key-value pairs.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"deleted_at","type":"`string` \\| `Date`","description":"When the product option value was deleted.","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"metadata","type":"`null` \\| `Record`","description":"Holds custom data in key-value pairs.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"product_id","type":"`null` \\| `string`","description":"The associated product id.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"created_at","type":"`string` \\| `Date`","description":"When the product variant was created.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"updated_at","type":"`string` \\| `Date`","description":"When the product variant was updated.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"deleted_at","type":"`string` \\| `Date`","description":"When the product variant was deleted.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"product","type":"`null` \\| [ProductDTO](../../product/interfaces/product.ProductDTO/page.mdx)","description":"The associated product.","optional":true,"defaultValue":"","expandable":true,"children":[{"name":"id","type":"`string`","description":"The ID of the product.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"title","type":"`string`","description":"The title of the product.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"handle","type":"`string`","description":"The handle of the product. The handle can be used to create slug URL paths.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"subtitle","type":"`null` \\| `string`","description":"The subttle of the product.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"description","type":"`null` \\| `string`","description":"The description of the product.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"is_giftcard","type":"`boolean`","description":"Whether the product is a gift card.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"status","type":"[ProductStatus](../../product/types/product.ProductStatus/page.mdx)","description":"The status of the product.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"thumbnail","type":"`null` \\| `string`","description":"The URL of the product's thumbnail.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"width","type":"`null` \\| `number`","description":"The width of the product.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"weight","type":"`null` \\| `number`","description":"The weight of the product.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"length","type":"`null` \\| `number`","description":"The length of the product.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"height","type":"`null` \\| `number`","description":"The height of the product.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"origin_country","type":"`null` \\| `string`","description":"The origin country of the product.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"hs_code","type":"`null` \\| `string`","description":"The HS Code of the product.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"mid_code","type":"`null` \\| `string`","description":"The MID Code of the product.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"material","type":"`null` \\| `string`","description":"The material of the product.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"collection","type":"`null` \\| [ProductCollectionDTO](../../product/interfaces/product.ProductCollectionDTO/page.mdx)","description":"The associated product collection.","optional":false,"defaultValue":"","expandable":true,"children":[]},{"name":"collection_id","type":"`null` \\| `string`","description":"The associated product collection id.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"type","type":"`null` \\| [ProductTypeDTO](../../product/interfaces/product.ProductTypeDTO/page.mdx)","description":"The associated product type.","optional":false,"defaultValue":"","expandable":true,"children":[]},{"name":"type_id","type":"`null` \\| `string`","description":"The associated product type id.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"tags","type":"[ProductTagDTO](../../product/interfaces/product.ProductTagDTO/page.mdx)[]","description":"The associated product tags.","optional":false,"defaultValue":"","expandable":true,"children":[]},{"name":"variants","type":"[ProductVariantDTO](../../product/interfaces/product.ProductVariantDTO/page.mdx)[]","description":"The associated product variants.","optional":false,"defaultValue":"","expandable":true,"children":[]},{"name":"options","type":"[ProductOptionDTO](../../product/interfaces/product.ProductOptionDTO/page.mdx)[]","description":"The associated product options.","optional":false,"defaultValue":"","expandable":true,"children":[]},{"name":"images","type":"[ProductImageDTO](../../product/interfaces/product.ProductImageDTO/page.mdx)[]","description":"The associated product images.","optional":false,"defaultValue":"","expandable":true,"children":[]},{"name":"external_id","type":"`null` \\| `string`","description":"The ID of the product in an external system. This is useful if you're integrating the product with a third-party service and want to maintain\na reference to the ID in the integrated service.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"created_at","type":"`string` \\| `Date`","description":"When the product was created.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"updated_at","type":"`string` \\| `Date`","description":"When the product was updated.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"deleted_at","type":"`string` \\| `Date`","description":"When the product was deleted.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"categories","type":"`null` \\| [ProductCategoryDTO](../../product/interfaces/product.ProductCategoryDTO/page.mdx)[]","description":"The associated product categories.","optional":true,"defaultValue":"","expandable":true,"children":[]},{"name":"discountable","type":"`boolean`","description":"Whether the product can be discounted.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"metadata","type":"[MetadataType](../../product/types/product.MetadataType/page.mdx)","description":"Holds custom data in key-value pairs.","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"variant_rank","type":"`null` \\| `number`","description":"he ranking of the variant among other variants associated with the product.","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"additional_data","type":"`Record | undefined`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"selector","type":"[FilterableProductProps](../../product/interfaces/product.FilterableProductProps/page.mdx)","description":"","optional":false,"defaultValue":"","expandable":false,"children":[{"name":"$and","type":"([FilterableProductProps](../../product/interfaces/product.FilterableProductProps/page.mdx) \\| [BaseFilterable](../../product/interfaces/product.BaseFilterable/page.mdx)<[FilterableProductProps](../../product/interfaces/product.FilterableProductProps/page.mdx)>)[]","description":"An array of filters to apply on the entity, where each item in the array is joined with an \"and\" condition.","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"$and","type":"([FilterableProductProps](../../product/interfaces/product.FilterableProductProps/page.mdx) \\| [BaseFilterable](../../product/interfaces/product.BaseFilterable/page.mdx)<[FilterableProductProps](../../product/interfaces/product.FilterableProductProps/page.mdx)>)[]","description":"An array of filters to apply on the entity, where each item in the array is joined with an \"and\" condition.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$or","type":"([FilterableProductProps](../../product/interfaces/product.FilterableProductProps/page.mdx) \\| [BaseFilterable](../../product/interfaces/product.BaseFilterable/page.mdx)<[FilterableProductProps](../../product/interfaces/product.FilterableProductProps/page.mdx)>)[]","description":"An array of filters to apply on the entity, where each item in the array is joined with an \"or\" condition.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"q","type":"`string`","description":"Search through the products' attributes, such as titles and descriptions, using this search term.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"status","type":"[ProductStatus](../../product/types/product.ProductStatus/page.mdx) \\| [ProductStatus](../../product/types/product.ProductStatus/page.mdx)[]","description":"The status to filter products by","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"title","type":"`string` \\| `string`[]","description":"The titles to filter products by.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"handle","type":"`string` \\| `string`[]","description":"The handles to filter products by.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"id","type":"`string` \\| `string`[]","description":"The IDs to filter products by.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"external_id","type":"`string` \\| `string`[]","description":"The external IDs to filter products by.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"is_giftcard","type":"`boolean`","description":"Filters only or excluding gift card products","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"tags","type":"`object`","description":"Filters on a product's tags.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"variants","type":"`object`","description":"Filters on a product's variant properties.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"type_id","type":"`string` \\| `string`[]","description":"Filter a product by the ID of the associated type","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"categories","type":"`object` \\| `object`","description":"Filter a product by the IDs of their associated categories.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"collection_id","type":"`string` \\| `string`[] \\| [OperatorMap](../../product/types/product.OperatorMap/page.mdx)<string>","description":"Filters a product by its associated collections.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"created_at","type":"[OperatorMap](../../product/types/product.OperatorMap/page.mdx)<string>","description":"Filters a product based on when it was created","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"updated_at","type":"[OperatorMap](../../product/types/product.OperatorMap/page.mdx)<string>","description":"Filters a product based on when it was updated","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"deleted_at","type":"[OperatorMap](../../product/types/product.OperatorMap/page.mdx)<string>","description":"Filters soft-deleted products based on the date they were deleted at.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$and","type":"([BaseFilterable](../../product/interfaces/product.BaseFilterable/page.mdx)<T> \\| T)[]","description":"An array of filters to apply on the entity, where each item in the array is joined with an \"and\" condition.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$or","type":"([BaseFilterable](../../product/interfaces/product.BaseFilterable/page.mdx)<T> \\| T)[]","description":"An array of filters to apply on the entity, where each item in the array is joined with an \"or\" condition.","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"$or","type":"([FilterableProductProps](../../product/interfaces/product.FilterableProductProps/page.mdx) \\| [BaseFilterable](../../product/interfaces/product.BaseFilterable/page.mdx)<[FilterableProductProps](../../product/interfaces/product.FilterableProductProps/page.mdx)>)[]","description":"An array of filters to apply on the entity, where each item in the array is joined with an \"or\" condition.","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"$and","type":"([FilterableProductProps](../../product/interfaces/product.FilterableProductProps/page.mdx) \\| [BaseFilterable](../../product/interfaces/product.BaseFilterable/page.mdx)<[FilterableProductProps](../../product/interfaces/product.FilterableProductProps/page.mdx)>)[]","description":"An array of filters to apply on the entity, where each item in the array is joined with an \"and\" condition.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$or","type":"([FilterableProductProps](../../product/interfaces/product.FilterableProductProps/page.mdx) \\| [BaseFilterable](../../product/interfaces/product.BaseFilterable/page.mdx)<[FilterableProductProps](../../product/interfaces/product.FilterableProductProps/page.mdx)>)[]","description":"An array of filters to apply on the entity, where each item in the array is joined with an \"or\" condition.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"q","type":"`string`","description":"Search through the products' attributes, such as titles and descriptions, using this search term.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"status","type":"[ProductStatus](../../product/types/product.ProductStatus/page.mdx) \\| [ProductStatus](../../product/types/product.ProductStatus/page.mdx)[]","description":"The status to filter products by","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"title","type":"`string` \\| `string`[]","description":"The titles to filter products by.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"handle","type":"`string` \\| `string`[]","description":"The handles to filter products by.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"id","type":"`string` \\| `string`[]","description":"The IDs to filter products by.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"external_id","type":"`string` \\| `string`[]","description":"The external IDs to filter products by.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"is_giftcard","type":"`boolean`","description":"Filters only or excluding gift card products","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"tags","type":"`object`","description":"Filters on a product's tags.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"variants","type":"`object`","description":"Filters on a product's variant properties.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"type_id","type":"`string` \\| `string`[]","description":"Filter a product by the ID of the associated type","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"categories","type":"`object` \\| `object`","description":"Filter a product by the IDs of their associated categories.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"collection_id","type":"`string` \\| `string`[] \\| [OperatorMap](../../product/types/product.OperatorMap/page.mdx)<string>","description":"Filters a product by its associated collections.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"created_at","type":"[OperatorMap](../../product/types/product.OperatorMap/page.mdx)<string>","description":"Filters a product based on when it was created","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"updated_at","type":"[OperatorMap](../../product/types/product.OperatorMap/page.mdx)<string>","description":"Filters a product based on when it was updated","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"deleted_at","type":"[OperatorMap](../../product/types/product.OperatorMap/page.mdx)<string>","description":"Filters soft-deleted products based on the date they were deleted at.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$and","type":"([BaseFilterable](../../product/interfaces/product.BaseFilterable/page.mdx)<T> \\| T)[]","description":"An array of filters to apply on the entity, where each item in the array is joined with an \"and\" condition.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$or","type":"([BaseFilterable](../../product/interfaces/product.BaseFilterable/page.mdx)<T> \\| T)[]","description":"An array of filters to apply on the entity, where each item in the array is joined with an \"or\" condition.","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"q","type":"`string`","description":"Search through the products' attributes, such as titles and descriptions, using this search term.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"status","type":"[ProductStatus](../../product/types/product.ProductStatus/page.mdx) \\| [ProductStatus](../../product/types/product.ProductStatus/page.mdx)[]","description":"The status to filter products by","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"title","type":"`string` \\| `string`[]","description":"The titles to filter products by.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"handle","type":"`string` \\| `string`[]","description":"The handles to filter products by.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"id","type":"`string` \\| `string`[]","description":"The IDs to filter products by.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"external_id","type":"`string` \\| `string`[]","description":"The external IDs to filter products by.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"is_giftcard","type":"`boolean`","description":"Filters only or excluding gift card products","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"tags","type":"`object`","description":"Filters on a product's tags.","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"id","type":"`string`[]","description":"Filter a product by the IDs of their associated tags.","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"variants","type":"`object`","description":"Filters on a product's variant properties.","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"options","type":"`object`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"type_id","type":"`string` \\| `string`[]","description":"Filter a product by the ID of the associated type","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"categories","type":"`object` \\| `object`","description":"Filter a product by the IDs of their associated categories.","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"id","type":"[OperatorMap](../../product/types/product.OperatorMap/page.mdx)<string>","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"id","type":"[OperatorMap](../../product/types/product.OperatorMap/page.mdx)<string[]>","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]}]},{"name":"collection_id","type":"`string` \\| `string`[] \\| [OperatorMap](../../product/types/product.OperatorMap/page.mdx)<string>","description":"Filters a product by its associated collections.","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"$and","type":"[Query](../../product/types/product.Query/page.mdx)<T>[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$or","type":"[Query](../../product/types/product.Query/page.mdx)<T>[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$eq","type":"[ExpandScalar](../../product/types/product.ExpandScalar/page.mdx)<T> \\| [ExpandScalar](../../product/types/product.ExpandScalar/page.mdx)<T>[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$ne","type":"[ExpandScalar](../../product/types/product.ExpandScalar/page.mdx)<T>","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$in","type":"[ExpandScalar](../../product/types/product.ExpandScalar/page.mdx)<T>[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$nin","type":"[ExpandScalar](../../product/types/product.ExpandScalar/page.mdx)<T>[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$not","type":"[Query](../../product/types/product.Query/page.mdx)<T>","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$gt","type":"[ExpandScalar](../../product/types/product.ExpandScalar/page.mdx)<T>","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$gte","type":"[ExpandScalar](../../product/types/product.ExpandScalar/page.mdx)<T>","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$lt","type":"[ExpandScalar](../../product/types/product.ExpandScalar/page.mdx)<T>","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$lte","type":"[ExpandScalar](../../product/types/product.ExpandScalar/page.mdx)<T>","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$like","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$re","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$ilike","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$fulltext","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$overlap","type":"`string`[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$contains","type":"`string`[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$contained","type":"`string`[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$exists","type":"`boolean`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"created_at","type":"[OperatorMap](../../product/types/product.OperatorMap/page.mdx)<string>","description":"Filters a product based on when it was created","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"$and","type":"[Query](../../product/types/product.Query/page.mdx)<T>[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$or","type":"[Query](../../product/types/product.Query/page.mdx)<T>[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$eq","type":"[ExpandScalar](../../product/types/product.ExpandScalar/page.mdx)<T> \\| [ExpandScalar](../../product/types/product.ExpandScalar/page.mdx)<T>[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$ne","type":"[ExpandScalar](../../product/types/product.ExpandScalar/page.mdx)<T>","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$in","type":"[ExpandScalar](../../product/types/product.ExpandScalar/page.mdx)<T>[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$nin","type":"[ExpandScalar](../../product/types/product.ExpandScalar/page.mdx)<T>[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$not","type":"[Query](../../product/types/product.Query/page.mdx)<T>","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$gt","type":"[ExpandScalar](../../product/types/product.ExpandScalar/page.mdx)<T>","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$gte","type":"[ExpandScalar](../../product/types/product.ExpandScalar/page.mdx)<T>","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$lt","type":"[ExpandScalar](../../product/types/product.ExpandScalar/page.mdx)<T>","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$lte","type":"[ExpandScalar](../../product/types/product.ExpandScalar/page.mdx)<T>","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$like","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$re","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$ilike","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$fulltext","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$overlap","type":"`string`[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$contains","type":"`string`[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$contained","type":"`string`[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$exists","type":"`boolean`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"updated_at","type":"[OperatorMap](../../product/types/product.OperatorMap/page.mdx)<string>","description":"Filters a product based on when it was updated","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"$and","type":"[Query](../../product/types/product.Query/page.mdx)<T>[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$or","type":"[Query](../../product/types/product.Query/page.mdx)<T>[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$eq","type":"[ExpandScalar](../../product/types/product.ExpandScalar/page.mdx)<T> \\| [ExpandScalar](../../product/types/product.ExpandScalar/page.mdx)<T>[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$ne","type":"[ExpandScalar](../../product/types/product.ExpandScalar/page.mdx)<T>","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$in","type":"[ExpandScalar](../../product/types/product.ExpandScalar/page.mdx)<T>[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$nin","type":"[ExpandScalar](../../product/types/product.ExpandScalar/page.mdx)<T>[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$not","type":"[Query](../../product/types/product.Query/page.mdx)<T>","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$gt","type":"[ExpandScalar](../../product/types/product.ExpandScalar/page.mdx)<T>","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$gte","type":"[ExpandScalar](../../product/types/product.ExpandScalar/page.mdx)<T>","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$lt","type":"[ExpandScalar](../../product/types/product.ExpandScalar/page.mdx)<T>","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$lte","type":"[ExpandScalar](../../product/types/product.ExpandScalar/page.mdx)<T>","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$like","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$re","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$ilike","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$fulltext","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$overlap","type":"`string`[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$contains","type":"`string`[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$contained","type":"`string`[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$exists","type":"`boolean`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"deleted_at","type":"[OperatorMap](../../product/types/product.OperatorMap/page.mdx)<string>","description":"Filters soft-deleted products based on the date they were deleted at.","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"$and","type":"[Query](../../product/types/product.Query/page.mdx)<T>[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$or","type":"[Query](../../product/types/product.Query/page.mdx)<T>[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$eq","type":"[ExpandScalar](../../product/types/product.ExpandScalar/page.mdx)<T> \\| [ExpandScalar](../../product/types/product.ExpandScalar/page.mdx)<T>[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$ne","type":"[ExpandScalar](../../product/types/product.ExpandScalar/page.mdx)<T>","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$in","type":"[ExpandScalar](../../product/types/product.ExpandScalar/page.mdx)<T>[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$nin","type":"[ExpandScalar](../../product/types/product.ExpandScalar/page.mdx)<T>[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$not","type":"[Query](../../product/types/product.Query/page.mdx)<T>","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$gt","type":"[ExpandScalar](../../product/types/product.ExpandScalar/page.mdx)<T>","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$gte","type":"[ExpandScalar](../../product/types/product.ExpandScalar/page.mdx)<T>","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$lt","type":"[ExpandScalar](../../product/types/product.ExpandScalar/page.mdx)<T>","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$lte","type":"[ExpandScalar](../../product/types/product.ExpandScalar/page.mdx)<T>","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$like","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$re","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$ilike","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$fulltext","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$overlap","type":"`string`[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$contains","type":"`string`[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$contained","type":"`string`[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"$exists","type":"`boolean`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]}]}]},{"name":"update","type":"Omit<[UpdateProductDTO](../../product/interfaces/product.UpdateProductDTO/page.mdx), \"variants\"> & `object`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[{"name":"title","type":"`string`","description":"The title of the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"subtitle","type":"`null` \\| `string`","description":"The subttle of the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"description","type":"`null` \\| `string`","description":"The description of the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"is_giftcard","type":"`boolean`","description":"Whether the product is a gift card.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"discountable","type":"`boolean`","description":"Whether the product can be discounted.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"thumbnail","type":"`null` \\| `string`","description":"The URL of the product's thumbnail.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"handle","type":"`string`","description":"The handle of the product. The handle can be used to create slug URL paths.\nIf not supplied, the value of the `handle` attribute of the product is set to the slug version of the `title` attribute.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"status","type":"[ProductStatus](../../product/types/product.ProductStatus/page.mdx)","description":"The status of the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"images","type":"[UpsertProductImageDTO](../../product/interfaces/product.UpsertProductImageDTO/page.mdx)[]","description":"The associated images to create or update.","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"id","type":"`string`","description":"The product image's ID. If not provided, the image is created. In\nthat case, the `url` property is required.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"url","type":"`string`","description":"The new URL of the product image.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"metadata","type":"[MetadataType](../../product/types/product.MetadataType/page.mdx)","description":"Holds custom data in key-value pairs.","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"external_id","type":"`null` \\| `string`","description":"The id of the product in an external system","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"type_id","type":"`null` \\| `string`","description":"The product type to associate with the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"collection_id","type":"`null` \\| `string`","description":"The product collection to associate with the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"tag_ids","type":"`string`[]","description":"The tags to associate with the product","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"category_ids","type":"`string`[]","description":"The product categories to associate with the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"options","type":"[UpsertProductOptionDTO](../../product/interfaces/product.UpsertProductOptionDTO/page.mdx)[]","description":"The associated options to create or update.","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"id","type":"`string`","description":"The ID of the product option to update. If not provided, the product\noption is created. In that case, the `title` and `values` properties are\nrequired.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"title","type":"`string`","description":"The product option's title.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"values","type":"`string`[]","description":"The product option values.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"product_id","type":"`string`","description":"The ID of the associated product.","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"width","type":"`null` \\| `number`","description":"The width of the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"height","type":"`null` \\| `number`","description":"The height of the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"length","type":"`null` \\| `number`","description":"The length of the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"weight","type":"`null` \\| `number`","description":"The weight of the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"origin_country","type":"`null` \\| `string`","description":"The origin country of the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"hs_code","type":"`null` \\| `string`","description":"The HS Code of the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"material","type":"`null` \\| `string`","description":"The material of the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"mid_code","type":"`null` \\| `string`","description":"The MID Code of the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"metadata","type":"[MetadataType](../../product/types/product.MetadataType/page.mdx)","description":"Holds custom data in key-value pairs.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"sales_channels","type":"`object`[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"id","type":"`string`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]}]},{"name":"variants","type":"[UpdateProductVariantWorkflowInputDTO](../../types/types/types.UpdateProductVariantWorkflowInputDTO/page.mdx)[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"id","type":"`string`","description":"The ID of the product variant to update.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"title","type":"`string`","description":"The tile of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"sku","type":"`null` \\| `string`","description":"The SKU of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"barcode","type":"`null` \\| `string`","description":"The barcode of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"ean","type":"`null` \\| `string`","description":"The EAN of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"upc","type":"`null` \\| `string`","description":"The UPC of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"allow_backorder","type":"`boolean`","description":"Whether the product variant can be ordered when it's out of stock.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"manage_inventory","type":"`boolean`","description":"Whether the product variant's inventory should be managed by the core system.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"hs_code","type":"`null` \\| `string`","description":"The HS Code of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"origin_country","type":"`null` \\| `string`","description":"The origin country of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"mid_code","type":"`null` \\| `string`","description":"The MID Code of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"material","type":"`null` \\| `string`","description":"The material of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"weight","type":"`null` \\| `number`","description":"The weight of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"length","type":"`null` \\| `number`","description":"The length of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"height","type":"`null` \\| `number`","description":"The height of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"width","type":"`null` \\| `number`","description":"The width of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"options","type":"`Record`","description":"The product variant options to associate with the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"metadata","type":"[MetadataType](../../product/types/product.MetadataType/page.mdx)","description":"Holds custom data in key-value pairs.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"prices","type":"[CreateMoneyAmountDTO](../../pricing/interfaces/pricing.CreateMoneyAmountDTO/page.mdx)[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]}]}]},{"name":"id","type":"`string`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"products","type":"Omit<[UpsertProductDTO](../../product/interfaces/product.UpsertProductDTO/page.mdx), \"variants\"> & `object`[]","description":"","optional":false,"defaultValue":"","expandable":false,"children":[{"name":"sales_channels","type":"`object`[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"id","type":"`string`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]}]},{"name":"variants","type":"[UpdateProductVariantWorkflowInputDTO](../../types/types/types.UpdateProductVariantWorkflowInputDTO/page.mdx)[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"id","type":"`string`","description":"The ID of the product variant to update.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"title","type":"`string`","description":"The tile of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"sku","type":"`null` \\| `string`","description":"The SKU of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"barcode","type":"`null` \\| `string`","description":"The barcode of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"ean","type":"`null` \\| `string`","description":"The EAN of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"upc","type":"`null` \\| `string`","description":"The UPC of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"allow_backorder","type":"`boolean`","description":"Whether the product variant can be ordered when it's out of stock.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"manage_inventory","type":"`boolean`","description":"Whether the product variant's inventory should be managed by the core system.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"hs_code","type":"`null` \\| `string`","description":"The HS Code of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"origin_country","type":"`null` \\| `string`","description":"The origin country of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"mid_code","type":"`null` \\| `string`","description":"The MID Code of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"material","type":"`null` \\| `string`","description":"The material of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"weight","type":"`null` \\| `number`","description":"The weight of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"length","type":"`null` \\| `number`","description":"The length of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"height","type":"`null` \\| `number`","description":"The height of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"width","type":"`null` \\| `number`","description":"The width of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"options","type":"`Record`","description":"The product variant options to associate with the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"metadata","type":"[MetadataType](../../product/types/product.MetadataType/page.mdx)","description":"Holds custom data in key-value pairs.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"prices","type":"[CreateMoneyAmountDTO](../../pricing/interfaces/pricing.CreateMoneyAmountDTO/page.mdx)[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]}]}]},{"name":"id","type":"`string`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"products","type":"[ProductDTO](../../product/interfaces/product.ProductDTO/page.mdx)[]","description":"","optional":false,"defaultValue":"","expandable":false,"children":[{"name":"id","type":"`string`","description":"The ID of the product.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"title","type":"`string`","description":"The title of the product.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"handle","type":"`string`","description":"The handle of the product. The handle can be used to create slug URL paths.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"subtitle","type":"`null` \\| `string`","description":"The subttle of the product.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"description","type":"`null` \\| `string`","description":"The description of the product.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"is_giftcard","type":"`boolean`","description":"Whether the product is a gift card.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"status","type":"[ProductStatus](../../product/types/product.ProductStatus/page.mdx)","description":"The status of the product.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"thumbnail","type":"`null` \\| `string`","description":"The URL of the product's thumbnail.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"width","type":"`null` \\| `number`","description":"The width of the product.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"weight","type":"`null` \\| `number`","description":"The weight of the product.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"length","type":"`null` \\| `number`","description":"The length of the product.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"height","type":"`null` \\| `number`","description":"The height of the product.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"origin_country","type":"`null` \\| `string`","description":"The origin country of the product.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"hs_code","type":"`null` \\| `string`","description":"The HS Code of the product.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"mid_code","type":"`null` \\| `string`","description":"The MID Code of the product.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"material","type":"`null` \\| `string`","description":"The material of the product.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"collection","type":"`null` \\| [ProductCollectionDTO](../../product/interfaces/product.ProductCollectionDTO/page.mdx)","description":"The associated product collection.","optional":false,"defaultValue":"","expandable":true,"children":[{"name":"id","type":"`string`","description":"The ID of the product collection.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"title","type":"`string`","description":"The title of the product collection.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"handle","type":"`string`","description":"The handle of the product collection. The handle can be used to create slug URL paths.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"created_at","type":"`string` \\| `Date`","description":"When the product collection was created.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"updated_at","type":"`string` \\| `Date`","description":"When the product collection was updated.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"metadata","type":"[MetadataType](../../product/types/product.MetadataType/page.mdx)","description":"Holds custom data in key-value pairs.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"deleted_at","type":"`string` \\| `Date`","description":"When the product collection was deleted.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"products","type":"[ProductDTO](../../product/interfaces/product.ProductDTO/page.mdx)[]","description":"The associated products.","optional":true,"defaultValue":"","expandable":true,"children":[]}]},{"name":"collection_id","type":"`null` \\| `string`","description":"The associated product collection id.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"type","type":"`null` \\| [ProductTypeDTO](../../product/interfaces/product.ProductTypeDTO/page.mdx)","description":"The associated product type.","optional":false,"defaultValue":"","expandable":true,"children":[{"name":"id","type":"`string`","description":"The ID of the product type.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"value","type":"`string`","description":"The value of the product type.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"created_at","type":"`string` \\| `Date`","description":"When the product type was created.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"updated_at","type":"`string` \\| `Date`","description":"When the product type was updated.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"metadata","type":"[MetadataType](../../product/types/product.MetadataType/page.mdx)","description":"Holds custom data in key-value pairs.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"deleted_at","type":"`string` \\| `Date`","description":"When the product type was deleted.","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"type_id","type":"`null` \\| `string`","description":"The associated product type id.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"tags","type":"[ProductTagDTO](../../product/interfaces/product.ProductTagDTO/page.mdx)[]","description":"The associated product tags.","optional":false,"defaultValue":"","expandable":true,"children":[{"name":"id","type":"`string`","description":"The ID of the product tag.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"value","type":"`string`","description":"The value of the product tag.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"metadata","type":"[MetadataType](../../product/types/product.MetadataType/page.mdx)","description":"Holds custom data in key-value pairs.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"products","type":"[ProductDTO](../../product/interfaces/product.ProductDTO/page.mdx)[]","description":"The associated products.","optional":true,"defaultValue":"","expandable":true,"children":[]}]},{"name":"variants","type":"[ProductVariantDTO](../../product/interfaces/product.ProductVariantDTO/page.mdx)[]","description":"The associated product variants.","optional":false,"defaultValue":"","expandable":true,"children":[{"name":"id","type":"`string`","description":"The ID of the product variant.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"title","type":"`string`","description":"The tile of the product variant.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"sku","type":"`null` \\| `string`","description":"The SKU of the product variant.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"barcode","type":"`null` \\| `string`","description":"The barcode of the product variant.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"ean","type":"`null` \\| `string`","description":"The EAN of the product variant.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"upc","type":"`null` \\| `string`","description":"The UPC of the product variant.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"allow_backorder","type":"`boolean`","description":"Whether the product variant can be ordered when it's out of stock.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"manage_inventory","type":"`boolean`","description":"Whether the product variant's inventory should be managed by the core system.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"requires_shipping","type":"`boolean`","description":"Whether the product variant's requires shipping.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"hs_code","type":"`null` \\| `string`","description":"The HS Code of the product variant.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"origin_country","type":"`null` \\| `string`","description":"The origin country of the product variant.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"mid_code","type":"`null` \\| `string`","description":"The MID Code of the product variant.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"material","type":"`null` \\| `string`","description":"The material of the product variant.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"weight","type":"`null` \\| `number`","description":"The weight of the product variant.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"length","type":"`null` \\| `number`","description":"The length of the product variant.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"height","type":"`null` \\| `number`","description":"The height of the product variant.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"width","type":"`null` \\| `number`","description":"The width of the product variant.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"options","type":"[ProductOptionValueDTO](../../product/interfaces/product.ProductOptionValueDTO/page.mdx)[]","description":"The associated product options.","optional":false,"defaultValue":"","expandable":true,"children":[]},{"name":"metadata","type":"`null` \\| `Record`","description":"Holds custom data in key-value pairs.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"product_id","type":"`null` \\| `string`","description":"The associated product id.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"created_at","type":"`string` \\| `Date`","description":"When the product variant was created.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"updated_at","type":"`string` \\| `Date`","description":"When the product variant was updated.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"deleted_at","type":"`string` \\| `Date`","description":"When the product variant was deleted.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"product","type":"`null` \\| [ProductDTO](../../product/interfaces/product.ProductDTO/page.mdx)","description":"The associated product.","optional":true,"defaultValue":"","expandable":true,"children":[]},{"name":"variant_rank","type":"`null` \\| `number`","description":"he ranking of the variant among other variants associated with the product.","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"options","type":"[ProductOptionDTO](../../product/interfaces/product.ProductOptionDTO/page.mdx)[]","description":"The associated product options.","optional":false,"defaultValue":"","expandable":true,"children":[{"name":"id","type":"`string`","description":"The ID of the product option.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"title","type":"`string`","description":"The title of the product option.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"values","type":"[ProductOptionValueDTO](../../product/interfaces/product.ProductOptionValueDTO/page.mdx)[]","description":"The associated product option values.","optional":false,"defaultValue":"","expandable":true,"children":[]},{"name":"created_at","type":"`string` \\| `Date`","description":"When the product option was created.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"updated_at","type":"`string` \\| `Date`","description":"When the product option was updated.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"product","type":"`null` \\| [ProductDTO](../../product/interfaces/product.ProductDTO/page.mdx)","description":"The associated product.","optional":true,"defaultValue":"","expandable":true,"children":[]},{"name":"product_id","type":"`null` \\| `string`","description":"The associated product id.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"metadata","type":"[MetadataType](../../product/types/product.MetadataType/page.mdx)","description":"Holds custom data in key-value pairs.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"deleted_at","type":"`string` \\| `Date`","description":"When the product option was deleted.","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"images","type":"[ProductImageDTO](../../product/interfaces/product.ProductImageDTO/page.mdx)[]","description":"The associated product images.","optional":false,"defaultValue":"","expandable":true,"children":[{"name":"id","type":"`string`","description":"The ID of the product image.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"url","type":"`string`","description":"The URL of the product image.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"created_at","type":"`string` \\| `Date`","description":"When the product image was created.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"updated_at","type":"`string` \\| `Date`","description":"When the product image was updated.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"metadata","type":"[MetadataType](../../product/types/product.MetadataType/page.mdx)","description":"Holds custom data in key-value pairs.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"deleted_at","type":"`string` \\| `Date`","description":"When the product image was deleted.","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"external_id","type":"`null` \\| `string`","description":"The ID of the product in an external system. This is useful if you're integrating the product with a third-party service and want to maintain\na reference to the ID in the integrated service.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"created_at","type":"`string` \\| `Date`","description":"When the product was created.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"updated_at","type":"`string` \\| `Date`","description":"When the product was updated.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"deleted_at","type":"`string` \\| `Date`","description":"When the product was deleted.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"categories","type":"`null` \\| [ProductCategoryDTO](../../product/interfaces/product.ProductCategoryDTO/page.mdx)[]","description":"The associated product categories.","optional":true,"defaultValue":"","expandable":true,"children":[{"name":"id","type":"`string`","description":"The ID of the product category.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"name","type":"`string`","description":"The name of the product category.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"description","type":"`string`","description":"The description of the product category.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"handle","type":"`string`","description":"The handle of the product category. The handle can be used to create slug URL paths.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"is_active","type":"`boolean`","description":"Whether the product category is active.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"is_internal","type":"`boolean`","description":"Whether the product category is internal. This can be used to only show the product category to admins and hide it from customers.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"rank","type":"`number`","description":"The ranking of the product category among sibling categories.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"parent_category","type":"`null` \\| [ProductCategoryDTO](../../product/interfaces/product.ProductCategoryDTO/page.mdx)","description":"The associated parent category.","optional":false,"defaultValue":"","expandable":true,"children":[]},{"name":"parent_category_id","type":"`null` \\| `string`","description":"The associated parent category id.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"category_children","type":"[ProductCategoryDTO](../../product/interfaces/product.ProductCategoryDTO/page.mdx)[]","description":"The associated child categories.","optional":false,"defaultValue":"","expandable":true,"children":[]},{"name":"products","type":"[ProductDTO](../../product/interfaces/product.ProductDTO/page.mdx)[]","description":"The associated products.","optional":false,"defaultValue":"","expandable":true,"children":[]},{"name":"created_at","type":"`string` \\| `Date`","description":"When the product category was created.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"updated_at","type":"`string` \\| `Date`","description":"When the product category was updated.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"metadata","type":"[MetadataType](../../product/types/product.MetadataType/page.mdx)","description":"The ranking of the product category among sibling categories.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"deleted_at","type":"`string` \\| `Date`","description":"When the product category was deleted.","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"discountable","type":"`boolean`","description":"Whether the product can be discounted.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"metadata","type":"[MetadataType](../../product/types/product.MetadataType/page.mdx)","description":"Holds custom data in key-value pairs.","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"additional_data","type":"`Record | undefined`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"variantPrices","type":"`object`[]","description":"","optional":false,"defaultValue":"","expandable":false,"children":[{"name":"variant_id","type":"`string`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"product_id","type":"`string`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"prices","type":"([CreatePricesDTO](../../pricing/interfaces/pricing.CreatePricesDTO/page.mdx) \\| `UpdatePricesDTO`)[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"currency_code","type":"`string`","description":"The currency code of this money amount.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"amount","type":"[BigNumberInput](../../pricing/types/pricing.BigNumberInput/page.mdx)","description":"The amount of this money amount.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"id","type":"`string`","description":"The ID of the money amount.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"min_quantity","type":"`null` \\| [BigNumberInput](../../pricing/types/pricing.BigNumberInput/page.mdx)","description":"The minimum quantity required to be purchased for this money amount to be applied.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"max_quantity","type":"`null` \\| [BigNumberInput](../../pricing/types/pricing.BigNumberInput/page.mdx)","description":"The maximum quantity required to be purchased for this money amount to be applied.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"rules","type":"[CreatePriceSetPriceRules](../../pricing/interfaces/pricing.CreatePriceSetPriceRules/page.mdx)","description":"The rules to add to the price. The object's keys are the attribute, and values are the value of that rule associated with this price.","optional":true,"defaultValue":"","expandable":false,"children":[]}]}]},{"name":"variant_id","type":"`string`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"product_id","type":"`string`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"previousVariantIds","type":"`string`[]","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"prices","type":"[CreateMoneyAmountDTO](../../pricing/interfaces/pricing.CreateMoneyAmountDTO/page.mdx)[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"currency_code","type":"`string`","description":"The currency code of this money amount.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"amount","type":"[BigNumberInput](../../pricing/types/pricing.BigNumberInput/page.mdx)","description":"The amount of this money amount.","optional":false,"defaultValue":"","expandable":false,"children":[{"name":"value","type":"`string` \\| `number`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"numeric","type":"`number`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"raw","type":"[BigNumberRawValue](../../pricing/types/pricing.BigNumberRawValue/page.mdx)","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"bigNumber","type":"`BigNumber`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"id","type":"`string`","description":"The ID of the money amount.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"min_quantity","type":"`null` \\| [BigNumberInput](../../pricing/types/pricing.BigNumberInput/page.mdx)","description":"The minimum quantity required to be purchased for this money amount to be applied.","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"value","type":"`string` \\| `number`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"numeric","type":"`number`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"raw","type":"[BigNumberRawValue](../../pricing/types/pricing.BigNumberRawValue/page.mdx)","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"bigNumber","type":"`BigNumber`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"max_quantity","type":"`null` \\| [BigNumberInput](../../pricing/types/pricing.BigNumberInput/page.mdx)","description":"The maximum quantity required to be purchased for this money amount to be applied.","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"value","type":"`string` \\| `number`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"numeric","type":"`number`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"raw","type":"[BigNumberRawValue](../../pricing/types/pricing.BigNumberRawValue/page.mdx)","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"bigNumber","type":"`BigNumber`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]}]}]},{"name":"inventory_items","type":"`object`[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"inventory_item_id","type":"`string`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"required_quantity","type":"`number`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"required_quantity","type":"`number`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"prices","type":"Partial<[CreateMoneyAmountDTO](../../pricing/interfaces/pricing.CreateMoneyAmountDTO/page.mdx)>[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"currency_code","type":"`string`","description":"The currency code of this money amount.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"amount","type":"[BigNumberInput](../../pricing/types/pricing.BigNumberInput/page.mdx)","description":"The amount of this money amount.","optional":false,"defaultValue":"","expandable":false,"children":[{"name":"value","type":"`string` \\| `number`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"numeric","type":"`number`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"raw","type":"[BigNumberRawValue](../../pricing/types/pricing.BigNumberRawValue/page.mdx)","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"bigNumber","type":"`BigNumber`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"id","type":"`string`","description":"The ID of the money amount.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"min_quantity","type":"`null` \\| [BigNumberInput](../../pricing/types/pricing.BigNumberInput/page.mdx)","description":"The minimum quantity required to be purchased for this money amount to be applied.","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"value","type":"`string` \\| `number`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"numeric","type":"`number`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"raw","type":"[BigNumberRawValue](../../pricing/types/pricing.BigNumberRawValue/page.mdx)","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"bigNumber","type":"`BigNumber`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"max_quantity","type":"`null` \\| [BigNumberInput](../../pricing/types/pricing.BigNumberInput/page.mdx)","description":"The maximum quantity required to be purchased for this money amount to be applied.","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"value","type":"`string` \\| `number`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"numeric","type":"`number`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"raw","type":"[BigNumberRawValue](../../pricing/types/pricing.BigNumberRawValue/page.mdx)","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"bigNumber","type":"`BigNumber`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]}]}]},{"name":"prices","type":"Partial<[CreateMoneyAmountDTO](../../pricing/interfaces/pricing.CreateMoneyAmountDTO/page.mdx)>[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"currency_code","type":"`string`","description":"The currency code of this money amount.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"amount","type":"[BigNumberInput](../../pricing/types/pricing.BigNumberInput/page.mdx)","description":"The amount of this money amount.","optional":false,"defaultValue":"","expandable":false,"children":[{"name":"value","type":"`string` \\| `number`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"numeric","type":"`number`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"raw","type":"[BigNumberRawValue](../../pricing/types/pricing.BigNumberRawValue/page.mdx)","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"bigNumber","type":"`BigNumber`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"id","type":"`string`","description":"The ID of the money amount.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"min_quantity","type":"`null` \\| [BigNumberInput](../../pricing/types/pricing.BigNumberInput/page.mdx)","description":"The minimum quantity required to be purchased for this money amount to be applied.","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"value","type":"`string` \\| `number`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"numeric","type":"`number`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"raw","type":"[BigNumberRawValue](../../pricing/types/pricing.BigNumberRawValue/page.mdx)","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"bigNumber","type":"`BigNumber`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"max_quantity","type":"`null` \\| [BigNumberInput](../../pricing/types/pricing.BigNumberInput/page.mdx)","description":"The maximum quantity required to be purchased for this money amount to be applied.","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"value","type":"`string` \\| `number`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"numeric","type":"`number`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"raw","type":"[BigNumberRawValue](../../pricing/types/pricing.BigNumberRawValue/page.mdx)","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"bigNumber","type":"`BigNumber`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]}]}]},{"name":"sales_channels","type":"`object`[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"id","type":"`string`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]}]},{"name":"variants","type":"[UpdateProductVariantWorkflowInputDTO](../../types/types/types.UpdateProductVariantWorkflowInputDTO/page.mdx)[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"id","type":"`string`","description":"The ID of the product variant to update.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"title","type":"`string`","description":"The tile of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"sku","type":"`null` \\| `string`","description":"The SKU of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"barcode","type":"`null` \\| `string`","description":"The barcode of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"ean","type":"`null` \\| `string`","description":"The EAN of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"upc","type":"`null` \\| `string`","description":"The UPC of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"allow_backorder","type":"`boolean`","description":"Whether the product variant can be ordered when it's out of stock.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"manage_inventory","type":"`boolean`","description":"Whether the product variant's inventory should be managed by the core system.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"hs_code","type":"`null` \\| `string`","description":"The HS Code of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"origin_country","type":"`null` \\| `string`","description":"The origin country of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"mid_code","type":"`null` \\| `string`","description":"The MID Code of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"material","type":"`null` \\| `string`","description":"The material of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"weight","type":"`null` \\| `number`","description":"The weight of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"length","type":"`null` \\| `number`","description":"The length of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"height","type":"`null` \\| `number`","description":"The height of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"width","type":"`null` \\| `number`","description":"The width of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"options","type":"`Record`","description":"The product variant options to associate with the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"metadata","type":"[MetadataType](../../product/types/product.MetadataType/page.mdx)","description":"Holds custom data in key-value pairs.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"prices","type":"[CreateMoneyAmountDTO](../../pricing/interfaces/pricing.CreateMoneyAmountDTO/page.mdx)[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"currency_code","type":"`string`","description":"The currency code of this money amount.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"amount","type":"[BigNumberInput](../../pricing/types/pricing.BigNumberInput/page.mdx)","description":"The amount of this money amount.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"id","type":"`string`","description":"The ID of the money amount.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"min_quantity","type":"`null` \\| [BigNumberInput](../../pricing/types/pricing.BigNumberInput/page.mdx)","description":"The minimum quantity required to be purchased for this money amount to be applied.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"max_quantity","type":"`null` \\| [BigNumberInput](../../pricing/types/pricing.BigNumberInput/page.mdx)","description":"The maximum quantity required to be purchased for this money amount to be applied.","optional":true,"defaultValue":"","expandable":false,"children":[]}]}]},{"name":"sales_channels","type":"`object`[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"id","type":"`string`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]}]},{"name":"variants","type":"[UpdateProductVariantWorkflowInputDTO](../../types/types/types.UpdateProductVariantWorkflowInputDTO/page.mdx)[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"id","type":"`string`","description":"The ID of the product variant to update.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"title","type":"`string`","description":"The tile of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"sku","type":"`null` \\| `string`","description":"The SKU of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"barcode","type":"`null` \\| `string`","description":"The barcode of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"ean","type":"`null` \\| `string`","description":"The EAN of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"upc","type":"`null` \\| `string`","description":"The UPC of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"allow_backorder","type":"`boolean`","description":"Whether the product variant can be ordered when it's out of stock.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"manage_inventory","type":"`boolean`","description":"Whether the product variant's inventory should be managed by the core system.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"hs_code","type":"`null` \\| `string`","description":"The HS Code of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"origin_country","type":"`null` \\| `string`","description":"The origin country of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"mid_code","type":"`null` \\| `string`","description":"The MID Code of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"material","type":"`null` \\| `string`","description":"The material of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"weight","type":"`null` \\| `number`","description":"The weight of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"length","type":"`null` \\| `number`","description":"The length of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"height","type":"`null` \\| `number`","description":"The height of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"width","type":"`null` \\| `number`","description":"The width of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"options","type":"`Record`","description":"The product variant options to associate with the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"metadata","type":"[MetadataType](../../product/types/product.MetadataType/page.mdx)","description":"Holds custom data in key-value pairs.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"prices","type":"[CreateMoneyAmountDTO](../../pricing/interfaces/pricing.CreateMoneyAmountDTO/page.mdx)[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"currency_code","type":"`string`","description":"The currency code of this money amount.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"amount","type":"[BigNumberInput](../../pricing/types/pricing.BigNumberInput/page.mdx)","description":"The amount of this money amount.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"id","type":"`string`","description":"The ID of the money amount.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"min_quantity","type":"`null` \\| [BigNumberInput](../../pricing/types/pricing.BigNumberInput/page.mdx)","description":"The minimum quantity required to be purchased for this money amount to be applied.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"max_quantity","type":"`null` \\| [BigNumberInput](../../pricing/types/pricing.BigNumberInput/page.mdx)","description":"The maximum quantity required to be purchased for this money amount to be applied.","optional":true,"defaultValue":"","expandable":false,"children":[]}]}]},{"name":"prices","type":"([CreatePricesDTO](../../pricing/interfaces/pricing.CreatePricesDTO/page.mdx) \\| `UpdatePricesDTO`)[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"currency_code","type":"`string`","description":"The currency code of this money amount.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"amount","type":"[BigNumberInput](../../pricing/types/pricing.BigNumberInput/page.mdx)","description":"The amount of this money amount.","optional":false,"defaultValue":"","expandable":false,"children":[{"name":"value","type":"`string` \\| `number`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"numeric","type":"`number`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"raw","type":"[BigNumberRawValue](../../pricing/types/pricing.BigNumberRawValue/page.mdx)","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"bigNumber","type":"`BigNumber`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"id","type":"`string`","description":"The ID of the money amount.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"min_quantity","type":"`null` \\| [BigNumberInput](../../pricing/types/pricing.BigNumberInput/page.mdx)","description":"The minimum quantity required to be purchased for this money amount to be applied.","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"value","type":"`string` \\| `number`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"numeric","type":"`number`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"raw","type":"[BigNumberRawValue](../../pricing/types/pricing.BigNumberRawValue/page.mdx)","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"bigNumber","type":"`BigNumber`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"max_quantity","type":"`null` \\| [BigNumberInput](../../pricing/types/pricing.BigNumberInput/page.mdx)","description":"The maximum quantity required to be purchased for this money amount to be applied.","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"value","type":"`string` \\| `number`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"numeric","type":"`number`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"raw","type":"[BigNumberRawValue](../../pricing/types/pricing.BigNumberRawValue/page.mdx)","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"bigNumber","type":"`BigNumber`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"rules","type":"[CreatePriceSetPriceRules](../../pricing/interfaces/pricing.CreatePriceSetPriceRules/page.mdx)","description":"The rules to add to the price. The object's keys are the attribute, and values are the value of that rule associated with this price.","optional":true,"defaultValue":"","expandable":false,"children":[]}]}]} expandUrl="https://docs.medusajs.com/v2/advanced-development/data-models/manage-relationships#retrieve-records-of-relation" sectionTitle="Workflows_Product"/> ___ @@ -869,7 +869,7 @@ This workflow exports products matching the specified filters. ### Input - + ___ @@ -1101,7 +1101,7 @@ This workflow updates one or more products. ### Input -`","description":"The product variant options to associate with the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"metadata","type":"[MetadataType](../../product/types/product.MetadataType/page.mdx)","description":"Holds custom data in key-value pairs.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"prices","type":"[CreateMoneyAmountDTO](../../pricing/interfaces/pricing.CreateMoneyAmountDTO/page.mdx)[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]}]}]},{"name":"products","type":"Omit<[UpsertProductDTO](../../product/interfaces/product.UpsertProductDTO/page.mdx), \"variants\"> & `object`[]","description":"","optional":false,"defaultValue":"","expandable":false,"children":[{"name":"sales_channels","type":"`object`[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"id","type":"`string`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]}]},{"name":"variants","type":"[UpdateProductVariantWorkflowInputDTO](../../types/types/types.UpdateProductVariantWorkflowInputDTO/page.mdx)[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"id","type":"`string`","description":"The ID of the product variant to update.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"title","type":"`string`","description":"The tile of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"sku","type":"`null` \\| `string`","description":"The SKU of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"barcode","type":"`null` \\| `string`","description":"The barcode of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"ean","type":"`null` \\| `string`","description":"The EAN of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"upc","type":"`null` \\| `string`","description":"The UPC of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"allow_backorder","type":"`boolean`","description":"Whether the product variant can be ordered when it's out of stock.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"manage_inventory","type":"`boolean`","description":"Whether the product variant's inventory should be managed by the core system.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"hs_code","type":"`null` \\| `string`","description":"The HS Code of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"origin_country","type":"`null` \\| `string`","description":"The origin country of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"mid_code","type":"`null` \\| `string`","description":"The MID Code of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"material","type":"`null` \\| `string`","description":"The material of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"weight","type":"`null` \\| `number`","description":"The weight of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"length","type":"`null` \\| `number`","description":"The length of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"height","type":"`null` \\| `number`","description":"The height of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"width","type":"`null` \\| `number`","description":"The width of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"options","type":"`Record`","description":"The product variant options to associate with the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"metadata","type":"[MetadataType](../../product/types/product.MetadataType/page.mdx)","description":"Holds custom data in key-value pairs.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"prices","type":"[CreateMoneyAmountDTO](../../pricing/interfaces/pricing.CreateMoneyAmountDTO/page.mdx)[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]}]}]},{"name":"additional_data","type":"`Record`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"additional_data","type":"`Record`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]}]}]} expandUrl="https://docs.medusajs.com/v2/advanced-development/data-models/manage-relationships#retrieve-records-of-relation" sectionTitle="updateProductsWorkflow"/> +`","description":"The product variant options to associate with the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"metadata","type":"[MetadataType](../../product/types/product.MetadataType/page.mdx)","description":"Holds custom data in key-value pairs.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"prices","type":"[CreateMoneyAmountDTO](../../pricing/interfaces/pricing.CreateMoneyAmountDTO/page.mdx)[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]}]}]},{"name":"products","type":"Omit<[UpsertProductDTO](../../product/interfaces/product.UpsertProductDTO/page.mdx), \"variants\"> & `object`[]","description":"","optional":false,"defaultValue":"","expandable":false,"children":[{"name":"sales_channels","type":"`object`[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"id","type":"`string`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]}]},{"name":"variants","type":"[UpdateProductVariantWorkflowInputDTO](../../types/types/types.UpdateProductVariantWorkflowInputDTO/page.mdx)[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"id","type":"`string`","description":"The ID of the product variant to update.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"title","type":"`string`","description":"The tile of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"sku","type":"`null` \\| `string`","description":"The SKU of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"barcode","type":"`null` \\| `string`","description":"The barcode of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"ean","type":"`null` \\| `string`","description":"The EAN of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"upc","type":"`null` \\| `string`","description":"The UPC of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"allow_backorder","type":"`boolean`","description":"Whether the product variant can be ordered when it's out of stock.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"manage_inventory","type":"`boolean`","description":"Whether the product variant's inventory should be managed by the core system.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"hs_code","type":"`null` \\| `string`","description":"The HS Code of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"origin_country","type":"`null` \\| `string`","description":"The origin country of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"mid_code","type":"`null` \\| `string`","description":"The MID Code of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"material","type":"`null` \\| `string`","description":"The material of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"weight","type":"`null` \\| `number`","description":"The weight of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"length","type":"`null` \\| `number`","description":"The length of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"height","type":"`null` \\| `number`","description":"The height of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"width","type":"`null` \\| `number`","description":"The width of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"options","type":"`Record`","description":"The product variant options to associate with the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"metadata","type":"[MetadataType](../../product/types/product.MetadataType/page.mdx)","description":"Holds custom data in key-value pairs.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"prices","type":"[CreateMoneyAmountDTO](../../pricing/interfaces/pricing.CreateMoneyAmountDTO/page.mdx)[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]}]}]},{"name":"additional_data","type":"`Record`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"additional_data","type":"`Record`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]}]}]} expandUrl="https://docs.medusajs.com/v2/advanced-development/data-models/manage-relationships#retrieve-records-of-relation" sectionTitle="updateProductsWorkflow"/> ### Output diff --git a/www/apps/resources/references/core_flows/types/core_flows.GetAllProductsStepInput/page.mdx b/www/apps/resources/references/core_flows/types/core_flows.GetAllProductsStepInput/page.mdx index 2a33530cfea1c..d357df557edc4 100644 --- a/www/apps/resources/references/core_flows/types/core_flows.GetAllProductsStepInput/page.mdx +++ b/www/apps/resources/references/core_flows/types/core_flows.GetAllProductsStepInput/page.mdx @@ -4,4 +4,4 @@ import { TypeList, WorkflowDiagram } from "docs-ui" **GetAllProductsStepInput**: `Object` - + diff --git a/www/apps/resources/references/helper_steps/functions/helper_steps.createRemoteLinkStep/page.mdx b/www/apps/resources/references/helper_steps/functions/helper_steps.createRemoteLinkStep/page.mdx index 465f9c0334f05..5560f0ca1237c 100644 --- a/www/apps/resources/references/helper_steps/functions/helper_steps.createRemoteLinkStep/page.mdx +++ b/www/apps/resources/references/helper_steps/functions/helper_steps.createRemoteLinkStep/page.mdx @@ -9,6 +9,10 @@ import { TypeList } from "docs-ui" This documentation provides a reference to the `createRemoteLinkStep` step. It belongs to the `@medusajs/medusa/core-flows` package. +This step creates remote links between two records of linked data models. + +Learn more in the [Remote Link documentation.](https://docs.medusajs.com/advanced-development/modules/remote-link#create-link). + ## Example ```ts diff --git a/www/apps/resources/references/helper_steps/functions/helper_steps.dismissRemoteLinkStep/page.mdx b/www/apps/resources/references/helper_steps/functions/helper_steps.dismissRemoteLinkStep/page.mdx index 6203d92aa1dfa..15cd626a6bc15 100644 --- a/www/apps/resources/references/helper_steps/functions/helper_steps.dismissRemoteLinkStep/page.mdx +++ b/www/apps/resources/references/helper_steps/functions/helper_steps.dismissRemoteLinkStep/page.mdx @@ -9,6 +9,10 @@ import { TypeList } from "docs-ui" This documentation provides a reference to the `dismissRemoteLinkStep` step. It belongs to the `@medusajs/medusa/core-flows` package. +This step removes remote links between two records of linked data models. + +Learn more in the [Remote Link documentation.](https://docs.medusajs.com/advanced-development/modules/remote-link#dismiss-link). + ## Example ```ts diff --git a/www/apps/resources/references/helper_steps/functions/helper_steps.emitEventStep/page.mdx b/www/apps/resources/references/helper_steps/functions/helper_steps.emitEventStep/page.mdx index 9c0b0b6f41387..b775b8710acab 100644 --- a/www/apps/resources/references/helper_steps/functions/helper_steps.emitEventStep/page.mdx +++ b/www/apps/resources/references/helper_steps/functions/helper_steps.emitEventStep/page.mdx @@ -9,6 +9,8 @@ import { TypeList } from "docs-ui" This documentation provides a reference to the `emitEventStep` step. It belongs to the `@medusajs/medusa/core-flows` package. +Emit an event. + ## Example ```ts diff --git a/www/apps/resources/references/helper_steps/functions/helper_steps.removeRemoteLinkStep/page.mdx b/www/apps/resources/references/helper_steps/functions/helper_steps.removeRemoteLinkStep/page.mdx index 4d1322ccb6d49..b385a7a745598 100644 --- a/www/apps/resources/references/helper_steps/functions/helper_steps.removeRemoteLinkStep/page.mdx +++ b/www/apps/resources/references/helper_steps/functions/helper_steps.removeRemoteLinkStep/page.mdx @@ -9,6 +9,10 @@ import { TypeList } from "docs-ui" This documentation provides a reference to the `removeRemoteLinkStep` step. It belongs to the `@medusajs/medusa/core-flows` package. +This step deletes linked records of a record. + +Learn more in the [Remote Link documentation](https://docs.medusajs.com/advanced-development/modules/remote-link#cascade-delete-linked-records) + ## Example ```ts diff --git a/www/apps/resources/references/helper_steps/functions/helper_steps.useRemoteQueryStep/page.mdx b/www/apps/resources/references/helper_steps/functions/helper_steps.useRemoteQueryStep/page.mdx index af4277af7aae0..e540a8fbd0abb 100644 --- a/www/apps/resources/references/helper_steps/functions/helper_steps.useRemoteQueryStep/page.mdx +++ b/www/apps/resources/references/helper_steps/functions/helper_steps.useRemoteQueryStep/page.mdx @@ -9,6 +9,10 @@ import { TypeList } from "docs-ui" This documentation provides a reference to the `useRemoteQueryStep` step. It belongs to the `@medusajs/medusa/core-flows` package. +This step fetches data across modules using the remote query. + +Learn more in the [Remote Query documentation](https://docs.medusajs.com/advanced-development/modules/remote-query). + ## Example To retrieve a list of records of a data model: diff --git a/www/apps/resources/references/js_sdk/admin/Admin/properties/js_sdk.admin.Admin.product/page.mdx b/www/apps/resources/references/js_sdk/admin/Admin/properties/js_sdk.admin.Admin.product/page.mdx index 29daa4e88860b..c34feebd55a77 100644 --- a/www/apps/resources/references/js_sdk/admin/Admin/properties/js_sdk.admin.Admin.product/page.mdx +++ b/www/apps/resources/references/js_sdk/admin/Admin/properties/js_sdk.admin.Admin.product/page.mdx @@ -121,7 +121,7 @@ ___ ### Parameters -`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"inventory_items","type":"[AdminCreateProductVariantInventoryKit](../../../../../types/HttpTypes/interfaces/types.HttpTypes.AdminCreateProductVariantInventoryKit/page.mdx)[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"options","type":"`Record`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"update","type":"[AdminUpdateProductVariant](../../../../../types/HttpTypes/interfaces/types.HttpTypes.AdminUpdateProductVariant/page.mdx)[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"title","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"sku","type":"`null` \\| `string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"ean","type":"`null` \\| `string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"upc","type":"`null` \\| `string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"barcode","type":"`null` \\| `string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"hs_code","type":"`null` \\| `string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"mid_code","type":"`null` \\| `string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"allow_backorder","type":"`boolean`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"manage_inventory","type":"`boolean`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"variant_rank","type":"`number`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"weight","type":"`null` \\| `number`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"length","type":"`null` \\| `number`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"height","type":"`null` \\| `number`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"width","type":"`null` \\| `number`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"origin_country","type":"`null` \\| `string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"material","type":"`null` \\| `string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"metadata","type":"`null` \\| `Record`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"prices","type":"[AdminCreateProductVariantPrice](../../../../../types/HttpTypes/interfaces/types.HttpTypes.AdminCreateProductVariantPrice/page.mdx)[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"options","type":"`Record`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"delete","type":"`string`[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"query","type":"[SelectParams](../../../../../types/HttpTypes/interfaces/types.HttpTypes.SelectParams/page.mdx)","description":"","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"fields","type":"`string`","description":"The fields and relations to retrieve separated by commas.\n\nLearn more in the [API reference](https://docs.medusajs.com/api/store#select-fields-and-relations).","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"headers","type":"[ClientHeaders](../../../types/js_sdk.admin.ClientHeaders/page.mdx)","description":"","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"tags","type":"`string`[]","description":"Tags to cache data under for Next.js applications.\n\nLearn more in [Next.js's documentation](https://nextjs.org/docs/app/building-your-application/caching#fetch-optionsnexttags-and-revalidatetag).","optional":false,"defaultValue":"","expandable":false,"children":[]}]}]} expandUrl="https://docs.medusajs.com/v2/advanced-development/data-models/manage-relationships#retrieve-records-of-relation" sectionTitle="batchVariants"/> +`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"inventory_items","type":"[AdminCreateProductVariantInventoryKit](../../../../../types/HttpTypes/interfaces/types.HttpTypes.AdminCreateProductVariantInventoryKit/page.mdx)[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"options","type":"`Record`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"update","type":"[AdminBatchUpdateProductVariant](../../../../../types/HttpTypes/interfaces/types.HttpTypes.AdminBatchUpdateProductVariant/page.mdx)[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"id","type":"`string`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"title","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"sku","type":"`null` \\| `string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"ean","type":"`null` \\| `string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"upc","type":"`null` \\| `string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"barcode","type":"`null` \\| `string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"hs_code","type":"`null` \\| `string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"mid_code","type":"`null` \\| `string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"allow_backorder","type":"`boolean`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"manage_inventory","type":"`boolean`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"variant_rank","type":"`number`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"weight","type":"`null` \\| `number`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"length","type":"`null` \\| `number`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"height","type":"`null` \\| `number`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"width","type":"`null` \\| `number`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"origin_country","type":"`null` \\| `string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"material","type":"`null` \\| `string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"metadata","type":"`null` \\| `Record`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"prices","type":"[AdminCreateProductVariantPrice](../../../../../types/HttpTypes/interfaces/types.HttpTypes.AdminCreateProductVariantPrice/page.mdx)[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"options","type":"`Record`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"delete","type":"`string`[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"query","type":"[SelectParams](../../../../../types/HttpTypes/interfaces/types.HttpTypes.SelectParams/page.mdx)","description":"","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"fields","type":"`string`","description":"The fields and relations to retrieve separated by commas.\n\nLearn more in the [API reference](https://docs.medusajs.com/api/store#select-fields-and-relations).","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"headers","type":"[ClientHeaders](../../../types/js_sdk.admin.ClientHeaders/page.mdx)","description":"","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"tags","type":"`string`[]","description":"Tags to cache data under for Next.js applications.\n\nLearn more in [Next.js's documentation](https://nextjs.org/docs/app/building-your-application/caching#fetch-optionsnexttags-and-revalidatetag).","optional":false,"defaultValue":"","expandable":false,"children":[]}]}]} expandUrl="https://docs.medusajs.com/v2/advanced-development/data-models/manage-relationships#retrieve-records-of-relation" sectionTitle="batchVariants"/> ### Returns diff --git a/www/apps/resources/references/js_sdk/admin/Product/methods/js_sdk.admin.Product.batchVariants/page.mdx b/www/apps/resources/references/js_sdk/admin/Product/methods/js_sdk.admin.Product.batchVariants/page.mdx index 668529213dd65..0e4f321803169 100644 --- a/www/apps/resources/references/js_sdk/admin/Product/methods/js_sdk.admin.Product.batchVariants/page.mdx +++ b/www/apps/resources/references/js_sdk/admin/Product/methods/js_sdk.admin.Product.batchVariants/page.mdx @@ -4,7 +4,7 @@ import { TypeList } from "docs-ui" ## Parameters -`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"inventory_items","type":"[AdminCreateProductVariantInventoryKit](../../../../../types/HttpTypes/interfaces/types.HttpTypes.AdminCreateProductVariantInventoryKit/page.mdx)[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"options","type":"`Record`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"update","type":"[AdminUpdateProductVariant](../../../../../types/HttpTypes/interfaces/types.HttpTypes.AdminUpdateProductVariant/page.mdx)[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"title","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"sku","type":"`null` \\| `string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"ean","type":"`null` \\| `string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"upc","type":"`null` \\| `string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"barcode","type":"`null` \\| `string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"hs_code","type":"`null` \\| `string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"mid_code","type":"`null` \\| `string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"allow_backorder","type":"`boolean`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"manage_inventory","type":"`boolean`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"variant_rank","type":"`number`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"weight","type":"`null` \\| `number`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"length","type":"`null` \\| `number`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"height","type":"`null` \\| `number`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"width","type":"`null` \\| `number`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"origin_country","type":"`null` \\| `string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"material","type":"`null` \\| `string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"metadata","type":"`null` \\| `Record`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"prices","type":"[AdminCreateProductVariantPrice](../../../../../types/HttpTypes/interfaces/types.HttpTypes.AdminCreateProductVariantPrice/page.mdx)[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"options","type":"`Record`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"delete","type":"`string`[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"query","type":"[SelectParams](../../../../../types/HttpTypes/interfaces/types.HttpTypes.SelectParams/page.mdx)","description":"","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"fields","type":"`string`","description":"The fields and relations to retrieve separated by commas.\n\nLearn more in the [API reference](https://docs.medusajs.com/api/store#select-fields-and-relations).","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"headers","type":"[ClientHeaders](../../../types/js_sdk.admin.ClientHeaders/page.mdx)","description":"","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"tags","type":"`string`[]","description":"Tags to cache data under for Next.js applications.\n\nLearn more in [Next.js's documentation](https://nextjs.org/docs/app/building-your-application/caching#fetch-optionsnexttags-and-revalidatetag).","optional":false,"defaultValue":"","expandable":false,"children":[]}]}]} expandUrl="https://docs.medusajs.com/v2/advanced-development/data-models/manage-relationships#retrieve-records-of-relation" sectionTitle="batchVariants"/> +`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"inventory_items","type":"[AdminCreateProductVariantInventoryKit](../../../../../types/HttpTypes/interfaces/types.HttpTypes.AdminCreateProductVariantInventoryKit/page.mdx)[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"options","type":"`Record`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"update","type":"[AdminBatchUpdateProductVariant](../../../../../types/HttpTypes/interfaces/types.HttpTypes.AdminBatchUpdateProductVariant/page.mdx)[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"id","type":"`string`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"title","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"sku","type":"`null` \\| `string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"ean","type":"`null` \\| `string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"upc","type":"`null` \\| `string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"barcode","type":"`null` \\| `string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"hs_code","type":"`null` \\| `string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"mid_code","type":"`null` \\| `string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"allow_backorder","type":"`boolean`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"manage_inventory","type":"`boolean`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"variant_rank","type":"`number`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"weight","type":"`null` \\| `number`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"length","type":"`null` \\| `number`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"height","type":"`null` \\| `number`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"width","type":"`null` \\| `number`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"origin_country","type":"`null` \\| `string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"material","type":"`null` \\| `string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"metadata","type":"`null` \\| `Record`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"prices","type":"[AdminCreateProductVariantPrice](../../../../../types/HttpTypes/interfaces/types.HttpTypes.AdminCreateProductVariantPrice/page.mdx)[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"options","type":"`Record`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"delete","type":"`string`[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"query","type":"[SelectParams](../../../../../types/HttpTypes/interfaces/types.HttpTypes.SelectParams/page.mdx)","description":"","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"fields","type":"`string`","description":"The fields and relations to retrieve separated by commas.\n\nLearn more in the [API reference](https://docs.medusajs.com/api/store#select-fields-and-relations).","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"headers","type":"[ClientHeaders](../../../types/js_sdk.admin.ClientHeaders/page.mdx)","description":"","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"tags","type":"`string`[]","description":"Tags to cache data under for Next.js applications.\n\nLearn more in [Next.js's documentation](https://nextjs.org/docs/app/building-your-application/caching#fetch-optionsnexttags-and-revalidatetag).","optional":false,"defaultValue":"","expandable":false,"children":[]}]}]} expandUrl="https://docs.medusajs.com/v2/advanced-development/data-models/manage-relationships#retrieve-records-of-relation" sectionTitle="batchVariants"/> ## Returns diff --git a/www/apps/resources/references/js_sdk/store/Store/properties/js_sdk.store.Store.cart/page.mdx b/www/apps/resources/references/js_sdk/store/Store/properties/js_sdk.store.Store.cart/page.mdx index 6b29b7b90a750..1880edf2df14f 100644 --- a/www/apps/resources/references/js_sdk/store/Store/properties/js_sdk.store.Store.cart/page.mdx +++ b/www/apps/resources/references/js_sdk/store/Store/properties/js_sdk.store.Store.cart/page.mdx @@ -1,5 +1,5 @@ --- -slug: /references/js-sdk/admin/cart +slug: /references/js-sdk/store/cart sidebar_label: cart --- diff --git a/www/apps/resources/references/js_sdk/store/Store/properties/js_sdk.store.Store.category/page.mdx b/www/apps/resources/references/js_sdk/store/Store/properties/js_sdk.store.Store.category/page.mdx index 6dc2b9c991783..d9352bb8227c4 100644 --- a/www/apps/resources/references/js_sdk/store/Store/properties/js_sdk.store.Store.category/page.mdx +++ b/www/apps/resources/references/js_sdk/store/Store/properties/js_sdk.store.Store.category/page.mdx @@ -1,5 +1,5 @@ --- -slug: /references/js-sdk/admin/category +slug: /references/js-sdk/store/category sidebar_label: category --- diff --git a/www/apps/resources/references/js_sdk/store/Store/properties/js_sdk.store.Store.collection/page.mdx b/www/apps/resources/references/js_sdk/store/Store/properties/js_sdk.store.Store.collection/page.mdx index 0019fcc3a8af4..330404669f22c 100644 --- a/www/apps/resources/references/js_sdk/store/Store/properties/js_sdk.store.Store.collection/page.mdx +++ b/www/apps/resources/references/js_sdk/store/Store/properties/js_sdk.store.Store.collection/page.mdx @@ -1,5 +1,5 @@ --- -slug: /references/js-sdk/admin/collection +slug: /references/js-sdk/store/collection sidebar_label: collection --- diff --git a/www/apps/resources/references/js_sdk/store/Store/properties/js_sdk.store.Store.customer/page.mdx b/www/apps/resources/references/js_sdk/store/Store/properties/js_sdk.store.Store.customer/page.mdx index 1940cc0a0d02f..3f0cceac12413 100644 --- a/www/apps/resources/references/js_sdk/store/Store/properties/js_sdk.store.Store.customer/page.mdx +++ b/www/apps/resources/references/js_sdk/store/Store/properties/js_sdk.store.Store.customer/page.mdx @@ -1,5 +1,5 @@ --- -slug: /references/js-sdk/admin/customer +slug: /references/js-sdk/store/customer sidebar_label: customer --- diff --git a/www/apps/resources/references/js_sdk/store/Store/properties/js_sdk.store.Store.fulfillment/page.mdx b/www/apps/resources/references/js_sdk/store/Store/properties/js_sdk.store.Store.fulfillment/page.mdx index 8942eed630d18..a88a99d0cab5c 100644 --- a/www/apps/resources/references/js_sdk/store/Store/properties/js_sdk.store.Store.fulfillment/page.mdx +++ b/www/apps/resources/references/js_sdk/store/Store/properties/js_sdk.store.Store.fulfillment/page.mdx @@ -1,5 +1,5 @@ --- -slug: /references/js-sdk/admin/fulfillment +slug: /references/js-sdk/store/fulfillment sidebar_label: fulfillment --- diff --git a/www/apps/resources/references/js_sdk/store/Store/properties/js_sdk.store.Store.order/page.mdx b/www/apps/resources/references/js_sdk/store/Store/properties/js_sdk.store.Store.order/page.mdx index ab006d5407b45..da592e42e4a40 100644 --- a/www/apps/resources/references/js_sdk/store/Store/properties/js_sdk.store.Store.order/page.mdx +++ b/www/apps/resources/references/js_sdk/store/Store/properties/js_sdk.store.Store.order/page.mdx @@ -1,5 +1,5 @@ --- -slug: /references/js-sdk/admin/order +slug: /references/js-sdk/store/order sidebar_label: order --- diff --git a/www/apps/resources/references/js_sdk/store/Store/properties/js_sdk.store.Store.payment/page.mdx b/www/apps/resources/references/js_sdk/store/Store/properties/js_sdk.store.Store.payment/page.mdx index d8afe90fc23a4..1ec13b86a9cd0 100644 --- a/www/apps/resources/references/js_sdk/store/Store/properties/js_sdk.store.Store.payment/page.mdx +++ b/www/apps/resources/references/js_sdk/store/Store/properties/js_sdk.store.Store.payment/page.mdx @@ -1,5 +1,5 @@ --- -slug: /references/js-sdk/admin/payment +slug: /references/js-sdk/store/payment sidebar_label: payment --- diff --git a/www/apps/resources/references/js_sdk/store/Store/properties/js_sdk.store.Store.product/page.mdx b/www/apps/resources/references/js_sdk/store/Store/properties/js_sdk.store.Store.product/page.mdx index d5ab9232eeb0e..7e40f55b59e1f 100644 --- a/www/apps/resources/references/js_sdk/store/Store/properties/js_sdk.store.Store.product/page.mdx +++ b/www/apps/resources/references/js_sdk/store/Store/properties/js_sdk.store.Store.product/page.mdx @@ -1,5 +1,5 @@ --- -slug: /references/js-sdk/admin/product +slug: /references/js-sdk/store/product sidebar_label: product --- diff --git a/www/apps/resources/references/js_sdk/store/Store/properties/js_sdk.store.Store.region/page.mdx b/www/apps/resources/references/js_sdk/store/Store/properties/js_sdk.store.Store.region/page.mdx index 3d3e1c0ac7f5d..843ff83b57c09 100644 --- a/www/apps/resources/references/js_sdk/store/Store/properties/js_sdk.store.Store.region/page.mdx +++ b/www/apps/resources/references/js_sdk/store/Store/properties/js_sdk.store.Store.region/page.mdx @@ -1,5 +1,5 @@ --- -slug: /references/js-sdk/admin/region +slug: /references/js-sdk/store/region sidebar_label: region --- diff --git a/www/apps/resources/references/modules/core_flows/page.mdx b/www/apps/resources/references/modules/core_flows/page.mdx index 657c9446a9b01..2ea00ecb3f40a 100644 --- a/www/apps/resources/references/modules/core_flows/page.mdx +++ b/www/apps/resources/references/modules/core_flows/page.mdx @@ -8634,7 +8634,7 @@ This step retrieves all products. #### Input - + #### Output @@ -8742,7 +8742,7 @@ This step updates one or more products. #### Input -`","description":"The product variant options to associate with the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"metadata","type":"[MetadataType](../../product/types/product.MetadataType/page.mdx)","description":"Holds custom data in key-value pairs.","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"width","type":"`null` \\| `number`","description":"The width of the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"height","type":"`null` \\| `number`","description":"The height of the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"length","type":"`null` \\| `number`","description":"The length of the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"weight","type":"`null` \\| `number`","description":"The weight of the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"origin_country","type":"`null` \\| `string`","description":"The origin country of the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"hs_code","type":"`null` \\| `string`","description":"The HS Code of the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"material","type":"`null` \\| `string`","description":"The material of the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"mid_code","type":"`null` \\| `string`","description":"The MID Code of the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"metadata","type":"[MetadataType](../../product/types/product.MetadataType/page.mdx)","description":"Holds custom data in key-value pairs.","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"products","type":"[UpsertProductDTO](../../product/interfaces/product.UpsertProductDTO/page.mdx)[]","description":"","optional":false,"defaultValue":"","expandable":false,"children":[{"name":"id","type":"`string`","description":"The ID of the product to update. If not provided, a product\nis created instead. In that case, the `title` property is required.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"title","type":"`string`","description":"The title of the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"subtitle","type":"`null` \\| `string`","description":"The subttle of the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"description","type":"`null` \\| `string`","description":"The description of the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"is_giftcard","type":"`boolean`","description":"Whether the product is a gift card.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"discountable","type":"`boolean`","description":"Whether the product can be discounted.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"thumbnail","type":"`null` \\| `string`","description":"The URL of the product's thumbnail.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"handle","type":"`string`","description":"The handle of the product. The handle can be used to create slug URL paths.\nIf not supplied, the value of the `handle` attribute of the product is set to the slug version of the `title` attribute.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"status","type":"[ProductStatus](../../product/types/product.ProductStatus/page.mdx)","description":"The status of the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"images","type":"[UpsertProductImageDTO](../../product/interfaces/product.UpsertProductImageDTO/page.mdx)[]","description":"The associated images to create or update.","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"id","type":"`string`","description":"The product image's ID. If not provided, the image is created. In\nthat case, the `url` property is required.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"url","type":"`string`","description":"The new URL of the product image.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"metadata","type":"[MetadataType](../../product/types/product.MetadataType/page.mdx)","description":"Holds custom data in key-value pairs.","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"external_id","type":"`null` \\| `string`","description":"The id of the product in an external system","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"type_id","type":"`null` \\| `string`","description":"The product type to associate with the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"collection_id","type":"`null` \\| `string`","description":"The product collection to associate with the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"tag_ids","type":"`string`[]","description":"The tags to associate with the product","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"category_ids","type":"`string`[]","description":"The product categories to associate with the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"options","type":"[UpsertProductOptionDTO](../../product/interfaces/product.UpsertProductOptionDTO/page.mdx)[]","description":"The associated options to create or update.","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"id","type":"`string`","description":"The ID of the product option to update. If not provided, the product\noption is created. In that case, the `title` and `values` properties are\nrequired.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"title","type":"`string`","description":"The product option's title.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"values","type":"`string`[]","description":"The product option values.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"product_id","type":"`string`","description":"The ID of the associated product.","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"variants","type":"[UpsertProductVariantDTO](../../product/interfaces/product.UpsertProductVariantDTO/page.mdx)[]","description":"The product variants to be created and associated with the product.\nYou can also update existing product variants associated with the product.","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"id","type":"`string`","description":"The ID of the product variant to update.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"title","type":"`string`","description":"The tile of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"sku","type":"`null` \\| `string`","description":"The SKU of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"barcode","type":"`null` \\| `string`","description":"The barcode of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"ean","type":"`null` \\| `string`","description":"The EAN of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"upc","type":"`null` \\| `string`","description":"The UPC of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"allow_backorder","type":"`boolean`","description":"Whether the product variant can be ordered when it's out of stock.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"manage_inventory","type":"`boolean`","description":"Whether the product variant's inventory should be managed by the core system.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"hs_code","type":"`null` \\| `string`","description":"The HS Code of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"origin_country","type":"`null` \\| `string`","description":"The origin country of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"mid_code","type":"`null` \\| `string`","description":"The MID Code of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"material","type":"`null` \\| `string`","description":"The material of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"weight","type":"`null` \\| `number`","description":"The weight of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"length","type":"`null` \\| `number`","description":"The length of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"height","type":"`null` \\| `number`","description":"The height of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"width","type":"`null` \\| `number`","description":"The width of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"options","type":"`Record`","description":"The product variant options to associate with the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"metadata","type":"[MetadataType](../../product/types/product.MetadataType/page.mdx)","description":"Holds custom data in key-value pairs.","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"width","type":"`null` \\| `number`","description":"The width of the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"height","type":"`null` \\| `number`","description":"The height of the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"length","type":"`null` \\| `number`","description":"The length of the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"weight","type":"`null` \\| `number`","description":"The weight of the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"origin_country","type":"`null` \\| `string`","description":"The origin country of the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"hs_code","type":"`null` \\| `string`","description":"The HS Code of the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"material","type":"`null` \\| `string`","description":"The material of the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"mid_code","type":"`null` \\| `string`","description":"The MID Code of the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"metadata","type":"[MetadataType](../../product/types/product.MetadataType/page.mdx)","description":"Holds custom data in key-value pairs.","optional":true,"defaultValue":"","expandable":false,"children":[]}]}]}]} expandUrl="https://docs.medusajs.com/v2/advanced-development/data-models/manage-relationships#retrieve-records-of-relation" sectionTitle="updateProductsStep"/> +`","description":"The product variant options to associate with the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"metadata","type":"[MetadataType](../../product/types/product.MetadataType/page.mdx)","description":"Holds custom data in key-value pairs.","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"width","type":"`null` \\| `number`","description":"The width of the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"height","type":"`null` \\| `number`","description":"The height of the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"length","type":"`null` \\| `number`","description":"The length of the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"weight","type":"`null` \\| `number`","description":"The weight of the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"origin_country","type":"`null` \\| `string`","description":"The origin country of the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"hs_code","type":"`null` \\| `string`","description":"The HS Code of the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"material","type":"`null` \\| `string`","description":"The material of the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"mid_code","type":"`null` \\| `string`","description":"The MID Code of the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"metadata","type":"[MetadataType](../../product/types/product.MetadataType/page.mdx)","description":"Holds custom data in key-value pairs.","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"products","type":"[UpsertProductDTO](../../product/interfaces/product.UpsertProductDTO/page.mdx)[]","description":"","optional":false,"defaultValue":"","expandable":false,"children":[{"name":"id","type":"`string`","description":"The ID of the product to update. If not provided, a product\nis created instead. In that case, the `title` property is required.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"title","type":"`string`","description":"The title of the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"subtitle","type":"`null` \\| `string`","description":"The subttle of the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"description","type":"`null` \\| `string`","description":"The description of the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"is_giftcard","type":"`boolean`","description":"Whether the product is a gift card.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"discountable","type":"`boolean`","description":"Whether the product can be discounted.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"thumbnail","type":"`null` \\| `string`","description":"The URL of the product's thumbnail.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"handle","type":"`string`","description":"The handle of the product. The handle can be used to create slug URL paths.\nIf not supplied, the value of the `handle` attribute of the product is set to the slug version of the `title` attribute.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"status","type":"[ProductStatus](../../product/types/product.ProductStatus/page.mdx)","description":"The status of the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"images","type":"[UpsertProductImageDTO](../../product/interfaces/product.UpsertProductImageDTO/page.mdx)[]","description":"The associated images to create or update.","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"id","type":"`string`","description":"The product image's ID. If not provided, the image is created. In\nthat case, the `url` property is required.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"url","type":"`string`","description":"The new URL of the product image.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"metadata","type":"[MetadataType](../../product/types/product.MetadataType/page.mdx)","description":"Holds custom data in key-value pairs.","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"external_id","type":"`null` \\| `string`","description":"The id of the product in an external system","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"type_id","type":"`null` \\| `string`","description":"The product type to associate with the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"collection_id","type":"`null` \\| `string`","description":"The product collection to associate with the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"tag_ids","type":"`string`[]","description":"The tags to associate with the product","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"category_ids","type":"`string`[]","description":"The product categories to associate with the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"options","type":"[UpsertProductOptionDTO](../../product/interfaces/product.UpsertProductOptionDTO/page.mdx)[]","description":"The associated options to create or update.","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"id","type":"`string`","description":"The ID of the product option to update. If not provided, the product\noption is created. In that case, the `title` and `values` properties are\nrequired.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"title","type":"`string`","description":"The product option's title.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"values","type":"`string`[]","description":"The product option values.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"product_id","type":"`string`","description":"The ID of the associated product.","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"variants","type":"[UpsertProductVariantDTO](../../product/interfaces/product.UpsertProductVariantDTO/page.mdx)[]","description":"The product variants to be created and associated with the product.\nYou can also update existing product variants associated with the product.","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"id","type":"`string`","description":"The ID of the product variant to update.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"title","type":"`string`","description":"The tile of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"sku","type":"`null` \\| `string`","description":"The SKU of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"barcode","type":"`null` \\| `string`","description":"The barcode of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"ean","type":"`null` \\| `string`","description":"The EAN of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"upc","type":"`null` \\| `string`","description":"The UPC of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"allow_backorder","type":"`boolean`","description":"Whether the product variant can be ordered when it's out of stock.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"manage_inventory","type":"`boolean`","description":"Whether the product variant's inventory should be managed by the core system.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"hs_code","type":"`null` \\| `string`","description":"The HS Code of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"origin_country","type":"`null` \\| `string`","description":"The origin country of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"mid_code","type":"`null` \\| `string`","description":"The MID Code of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"material","type":"`null` \\| `string`","description":"The material of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"weight","type":"`null` \\| `number`","description":"The weight of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"length","type":"`null` \\| `number`","description":"The length of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"height","type":"`null` \\| `number`","description":"The height of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"width","type":"`null` \\| `number`","description":"The width of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"options","type":"`Record`","description":"The product variant options to associate with the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"metadata","type":"[MetadataType](../../product/types/product.MetadataType/page.mdx)","description":"Holds custom data in key-value pairs.","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"width","type":"`null` \\| `number`","description":"The width of the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"height","type":"`null` \\| `number`","description":"The height of the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"length","type":"`null` \\| `number`","description":"The length of the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"weight","type":"`null` \\| `number`","description":"The weight of the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"origin_country","type":"`null` \\| `string`","description":"The origin country of the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"hs_code","type":"`null` \\| `string`","description":"The HS Code of the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"material","type":"`null` \\| `string`","description":"The material of the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"mid_code","type":"`null` \\| `string`","description":"The MID Code of the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"metadata","type":"[MetadataType](../../product/types/product.MetadataType/page.mdx)","description":"Holds custom data in key-value pairs.","optional":true,"defaultValue":"","expandable":false,"children":[]}]}]}]} expandUrl="https://docs.medusajs.com/v2/advanced-development/data-models/manage-relationships#retrieve-records-of-relation" sectionTitle="updateProductsStep"/> #### Output @@ -9246,7 +9246,7 @@ This workflow exports products matching the specified filters. #### Input - + ### importProductsWorkflow @@ -9464,7 +9464,7 @@ This workflow updates one or more products. #### Input -`","description":"The product variant options to associate with the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"metadata","type":"[MetadataType](../../product/types/product.MetadataType/page.mdx)","description":"Holds custom data in key-value pairs.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"prices","type":"[CreateMoneyAmountDTO](../../pricing/interfaces/pricing.CreateMoneyAmountDTO/page.mdx)[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]}]}]},{"name":"products","type":"Omit<[UpsertProductDTO](../../product/interfaces/product.UpsertProductDTO/page.mdx), \"variants\"> & `object`[]","description":"","optional":false,"defaultValue":"","expandable":false,"children":[{"name":"sales_channels","type":"`object`[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"id","type":"`string`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]}]},{"name":"variants","type":"[UpdateProductVariantWorkflowInputDTO](../../types/types/types.UpdateProductVariantWorkflowInputDTO/page.mdx)[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"id","type":"`string`","description":"The ID of the product variant to update.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"title","type":"`string`","description":"The tile of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"sku","type":"`null` \\| `string`","description":"The SKU of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"barcode","type":"`null` \\| `string`","description":"The barcode of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"ean","type":"`null` \\| `string`","description":"The EAN of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"upc","type":"`null` \\| `string`","description":"The UPC of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"allow_backorder","type":"`boolean`","description":"Whether the product variant can be ordered when it's out of stock.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"manage_inventory","type":"`boolean`","description":"Whether the product variant's inventory should be managed by the core system.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"hs_code","type":"`null` \\| `string`","description":"The HS Code of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"origin_country","type":"`null` \\| `string`","description":"The origin country of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"mid_code","type":"`null` \\| `string`","description":"The MID Code of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"material","type":"`null` \\| `string`","description":"The material of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"weight","type":"`null` \\| `number`","description":"The weight of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"length","type":"`null` \\| `number`","description":"The length of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"height","type":"`null` \\| `number`","description":"The height of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"width","type":"`null` \\| `number`","description":"The width of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"options","type":"`Record`","description":"The product variant options to associate with the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"metadata","type":"[MetadataType](../../product/types/product.MetadataType/page.mdx)","description":"Holds custom data in key-value pairs.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"prices","type":"[CreateMoneyAmountDTO](../../pricing/interfaces/pricing.CreateMoneyAmountDTO/page.mdx)[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]}]}]},{"name":"additional_data","type":"`Record`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"additional_data","type":"`Record`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]}]}]} expandUrl="https://docs.medusajs.com/v2/advanced-development/data-models/manage-relationships#retrieve-records-of-relation" sectionTitle="updateProductsWorkflow"/> +`","description":"The product variant options to associate with the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"metadata","type":"[MetadataType](../../product/types/product.MetadataType/page.mdx)","description":"Holds custom data in key-value pairs.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"prices","type":"[CreateMoneyAmountDTO](../../pricing/interfaces/pricing.CreateMoneyAmountDTO/page.mdx)[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]}]}]},{"name":"products","type":"Omit<[UpsertProductDTO](../../product/interfaces/product.UpsertProductDTO/page.mdx), \"variants\"> & `object`[]","description":"","optional":false,"defaultValue":"","expandable":false,"children":[{"name":"sales_channels","type":"`object`[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"id","type":"`string`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]}]},{"name":"variants","type":"[UpdateProductVariantWorkflowInputDTO](../../types/types/types.UpdateProductVariantWorkflowInputDTO/page.mdx)[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"id","type":"`string`","description":"The ID of the product variant to update.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"title","type":"`string`","description":"The tile of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"sku","type":"`null` \\| `string`","description":"The SKU of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"barcode","type":"`null` \\| `string`","description":"The barcode of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"ean","type":"`null` \\| `string`","description":"The EAN of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"upc","type":"`null` \\| `string`","description":"The UPC of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"allow_backorder","type":"`boolean`","description":"Whether the product variant can be ordered when it's out of stock.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"manage_inventory","type":"`boolean`","description":"Whether the product variant's inventory should be managed by the core system.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"hs_code","type":"`null` \\| `string`","description":"The HS Code of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"origin_country","type":"`null` \\| `string`","description":"The origin country of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"mid_code","type":"`null` \\| `string`","description":"The MID Code of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"material","type":"`null` \\| `string`","description":"The material of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"weight","type":"`null` \\| `number`","description":"The weight of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"length","type":"`null` \\| `number`","description":"The length of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"height","type":"`null` \\| `number`","description":"The height of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"width","type":"`null` \\| `number`","description":"The width of the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"options","type":"`Record`","description":"The product variant options to associate with the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"metadata","type":"[MetadataType](../../product/types/product.MetadataType/page.mdx)","description":"Holds custom data in key-value pairs.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"prices","type":"[CreateMoneyAmountDTO](../../pricing/interfaces/pricing.CreateMoneyAmountDTO/page.mdx)[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]}]}]},{"name":"additional_data","type":"`Record`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"additional_data","type":"`Record`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]}]}]} expandUrl="https://docs.medusajs.com/v2/advanced-development/data-models/manage-relationships#retrieve-records-of-relation" sectionTitle="updateProductsWorkflow"/> #### Output diff --git a/www/apps/resources/references/modules/types/page.mdx b/www/apps/resources/references/modules/types/page.mdx index 2f55c65bd54e7..c5e2283efeb11 100644 --- a/www/apps/resources/references/modules/types/page.mdx +++ b/www/apps/resources/references/modules/types/page.mdx @@ -233,6 +233,8 @@ import { TypeList } from "docs-ui" - [PascalCapitalizer](../../types/types/types.PascalCapitalizer/page.mdx) - [CamelCapitalizer](../../types/types/types.CamelCapitalizer/page.mdx) - [Join](../../types/types/types.Join/page.mdx) +- [UncountableRules](../../types/types/types.UncountableRules/page.mdx) +- [PluralizationSpecialRules](../../types/types/types.PluralizationSpecialRules/page.mdx) - [EntityClassName](../../types/types/types.EntityClassName/page.mdx) - [EntityValues](../../types/types/types.EntityValues/page.mdx) - [Dictionary](../../types/types/types.Dictionary/page.mdx) diff --git a/www/apps/resources/references/product/IProductModuleService/methods/product.IProductModuleService.listAndCountProducts/page.mdx b/www/apps/resources/references/product/IProductModuleService/methods/product.IProductModuleService.listAndCountProducts/page.mdx index 3f2f0e435acb5..08ce01d070994 100644 --- a/www/apps/resources/references/product/IProductModuleService/methods/product.IProductModuleService.listAndCountProducts/page.mdx +++ b/www/apps/resources/references/product/IProductModuleService/methods/product.IProductModuleService.listAndCountProducts/page.mdx @@ -61,7 +61,7 @@ const [products, count] = ## Parameters -`","description":"An object used to specify how to sort the returned records. Its keys are the names of attributes of the entity, and a key's value can either be `ASC`\nto sort retrieved records in an ascending order, or `DESC` to sort retrieved records in a descending order.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"withDeleted","type":"`boolean`","description":"A boolean indicating whether deleted records should also be retrieved as part of the result. This only works if the entity extends the\n`SoftDeletableEntity` class.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"filters","type":"`Record`","description":"Enable ORM specific defined filters","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"options","type":"`Record`","description":"Enable ORM specific defined options","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"sharedContext","type":"[Context](../../../interfaces/product.Context/page.mdx)","description":"A context used to share resources, such as transaction manager, between the application and the module.","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"transactionManager","type":"TManager","description":"An instance of a transaction manager of type `TManager`, which is a typed parameter passed to the context to specify the type of the `transactionManager`.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"manager","type":"TManager","description":"An instance of a manager, typically an entity manager, of type `TManager`, which is a typed parameter passed to the context to specify the type of the `manager`.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"isolationLevel","type":"`string`","description":"A string indicating the isolation level of the context. Possible values are `READ UNCOMMITTED`, `READ COMMITTED`, `REPEATABLE READ`, or `SERIALIZABLE`.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"enableNestedTransactions","type":"`boolean`","description":"A boolean value indicating whether nested transactions are enabled.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"eventGroupId","type":"`string`","description":"A string indicating the ID of the group to aggregate the events to be emitted at a later point.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"transactionId","type":"`string`","description":"A string indicating the ID of the current transaction.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"messageAggregator","type":"[IMessageAggregator](../../../interfaces/product.IMessageAggregator/page.mdx)","description":"An instance of a message aggregator, which is used to aggregate messages to be emitted at a later point.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"requestId","type":"`string`","description":"A string indicating the ID of the current request.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"idempotencyKey","type":"`string`","description":"A string indicating the idempotencyKey of the current workflow execution.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"parentStepIdempotencyKey","type":"`string`","description":"A string indicating the idempotencyKey of the parent workflow execution.","optional":true,"defaultValue":"","expandable":false,"children":[]}]}]} expandUrl="https://docs.medusajs.com/v2/advanced-development/data-models/manage-relationships#retrieve-records-of-relation" sectionTitle="listAndCountProducts"/> +`","description":"An object used to specify how to sort the returned records. Its keys are the names of attributes of the entity, and a key's value can either be `ASC`\nto sort retrieved records in an ascending order, or `DESC` to sort retrieved records in a descending order.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"withDeleted","type":"`boolean`","description":"A boolean indicating whether deleted records should also be retrieved as part of the result. This only works if the entity extends the\n`SoftDeletableEntity` class.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"filters","type":"`Record`","description":"Enable ORM specific defined filters","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"options","type":"`Record`","description":"Enable ORM specific defined options","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"sharedContext","type":"[Context](../../../interfaces/product.Context/page.mdx)","description":"A context used to share resources, such as transaction manager, between the application and the module.","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"transactionManager","type":"TManager","description":"An instance of a transaction manager of type `TManager`, which is a typed parameter passed to the context to specify the type of the `transactionManager`.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"manager","type":"TManager","description":"An instance of a manager, typically an entity manager, of type `TManager`, which is a typed parameter passed to the context to specify the type of the `manager`.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"isolationLevel","type":"`string`","description":"A string indicating the isolation level of the context. Possible values are `READ UNCOMMITTED`, `READ COMMITTED`, `REPEATABLE READ`, or `SERIALIZABLE`.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"enableNestedTransactions","type":"`boolean`","description":"A boolean value indicating whether nested transactions are enabled.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"eventGroupId","type":"`string`","description":"A string indicating the ID of the group to aggregate the events to be emitted at a later point.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"transactionId","type":"`string`","description":"A string indicating the ID of the current transaction.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"messageAggregator","type":"[IMessageAggregator](../../../interfaces/product.IMessageAggregator/page.mdx)","description":"An instance of a message aggregator, which is used to aggregate messages to be emitted at a later point.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"requestId","type":"`string`","description":"A string indicating the ID of the current request.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"idempotencyKey","type":"`string`","description":"A string indicating the idempotencyKey of the current workflow execution.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"parentStepIdempotencyKey","type":"`string`","description":"A string indicating the idempotencyKey of the parent workflow execution.","optional":true,"defaultValue":"","expandable":false,"children":[]}]}]} expandUrl="https://docs.medusajs.com/v2/advanced-development/data-models/manage-relationships#retrieve-records-of-relation" sectionTitle="listAndCountProducts"/> ## Returns diff --git a/www/apps/resources/references/product/IProductModuleService/methods/product.IProductModuleService.listProducts/page.mdx b/www/apps/resources/references/product/IProductModuleService/methods/product.IProductModuleService.listProducts/page.mdx index a811f0e3652f7..233624ca78564 100644 --- a/www/apps/resources/references/product/IProductModuleService/methods/product.IProductModuleService.listProducts/page.mdx +++ b/www/apps/resources/references/product/IProductModuleService/methods/product.IProductModuleService.listProducts/page.mdx @@ -58,7 +58,7 @@ const products = await productModuleService.listProducts( ## Parameters -`","description":"An object used to specify how to sort the returned records. Its keys are the names of attributes of the entity, and a key's value can either be `ASC`\nto sort retrieved records in an ascending order, or `DESC` to sort retrieved records in a descending order.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"withDeleted","type":"`boolean`","description":"A boolean indicating whether deleted records should also be retrieved as part of the result. This only works if the entity extends the\n`SoftDeletableEntity` class.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"filters","type":"`Record`","description":"Enable ORM specific defined filters","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"options","type":"`Record`","description":"Enable ORM specific defined options","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"sharedContext","type":"[Context](../../../interfaces/product.Context/page.mdx)","description":"A context used to share resources, such as transaction manager, between the application and the module.","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"transactionManager","type":"TManager","description":"An instance of a transaction manager of type `TManager`, which is a typed parameter passed to the context to specify the type of the `transactionManager`.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"manager","type":"TManager","description":"An instance of a manager, typically an entity manager, of type `TManager`, which is a typed parameter passed to the context to specify the type of the `manager`.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"isolationLevel","type":"`string`","description":"A string indicating the isolation level of the context. Possible values are `READ UNCOMMITTED`, `READ COMMITTED`, `REPEATABLE READ`, or `SERIALIZABLE`.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"enableNestedTransactions","type":"`boolean`","description":"A boolean value indicating whether nested transactions are enabled.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"eventGroupId","type":"`string`","description":"A string indicating the ID of the group to aggregate the events to be emitted at a later point.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"transactionId","type":"`string`","description":"A string indicating the ID of the current transaction.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"messageAggregator","type":"[IMessageAggregator](../../../interfaces/product.IMessageAggregator/page.mdx)","description":"An instance of a message aggregator, which is used to aggregate messages to be emitted at a later point.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"requestId","type":"`string`","description":"A string indicating the ID of the current request.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"idempotencyKey","type":"`string`","description":"A string indicating the idempotencyKey of the current workflow execution.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"parentStepIdempotencyKey","type":"`string`","description":"A string indicating the idempotencyKey of the parent workflow execution.","optional":true,"defaultValue":"","expandable":false,"children":[]}]}]} expandUrl="https://docs.medusajs.com/v2/advanced-development/data-models/manage-relationships#retrieve-records-of-relation" sectionTitle="listProducts"/> +`","description":"An object used to specify how to sort the returned records. Its keys are the names of attributes of the entity, and a key's value can either be `ASC`\nto sort retrieved records in an ascending order, or `DESC` to sort retrieved records in a descending order.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"withDeleted","type":"`boolean`","description":"A boolean indicating whether deleted records should also be retrieved as part of the result. This only works if the entity extends the\n`SoftDeletableEntity` class.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"filters","type":"`Record`","description":"Enable ORM specific defined filters","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"options","type":"`Record`","description":"Enable ORM specific defined options","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"sharedContext","type":"[Context](../../../interfaces/product.Context/page.mdx)","description":"A context used to share resources, such as transaction manager, between the application and the module.","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"transactionManager","type":"TManager","description":"An instance of a transaction manager of type `TManager`, which is a typed parameter passed to the context to specify the type of the `transactionManager`.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"manager","type":"TManager","description":"An instance of a manager, typically an entity manager, of type `TManager`, which is a typed parameter passed to the context to specify the type of the `manager`.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"isolationLevel","type":"`string`","description":"A string indicating the isolation level of the context. Possible values are `READ UNCOMMITTED`, `READ COMMITTED`, `REPEATABLE READ`, or `SERIALIZABLE`.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"enableNestedTransactions","type":"`boolean`","description":"A boolean value indicating whether nested transactions are enabled.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"eventGroupId","type":"`string`","description":"A string indicating the ID of the group to aggregate the events to be emitted at a later point.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"transactionId","type":"`string`","description":"A string indicating the ID of the current transaction.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"messageAggregator","type":"[IMessageAggregator](../../../interfaces/product.IMessageAggregator/page.mdx)","description":"An instance of a message aggregator, which is used to aggregate messages to be emitted at a later point.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"requestId","type":"`string`","description":"A string indicating the ID of the current request.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"idempotencyKey","type":"`string`","description":"A string indicating the idempotencyKey of the current workflow execution.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"parentStepIdempotencyKey","type":"`string`","description":"A string indicating the idempotencyKey of the parent workflow execution.","optional":true,"defaultValue":"","expandable":false,"children":[]}]}]} expandUrl="https://docs.medusajs.com/v2/advanced-development/data-models/manage-relationships#retrieve-records-of-relation" sectionTitle="listProducts"/> ## Returns diff --git a/www/apps/resources/references/product/IProductModuleService/methods/product.IProductModuleService.updateProducts/page.mdx b/www/apps/resources/references/product/IProductModuleService/methods/product.IProductModuleService.updateProducts/page.mdx index d2885bbc17381..1a1ce1d2cbdb3 100644 --- a/www/apps/resources/references/product/IProductModuleService/methods/product.IProductModuleService.updateProducts/page.mdx +++ b/www/apps/resources/references/product/IProductModuleService/methods/product.IProductModuleService.updateProducts/page.mdx @@ -58,7 +58,7 @@ const products = await productModuleService.updateProducts( ### Parameters -`","description":"The product variant options to associate with the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"metadata","type":"[MetadataType](../../../types/product.MetadataType/page.mdx)","description":"Holds custom data in key-value pairs.","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"width","type":"`null` \\| `number`","description":"The width of the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"height","type":"`null` \\| `number`","description":"The height of the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"length","type":"`null` \\| `number`","description":"The length of the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"weight","type":"`null` \\| `number`","description":"The weight of the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"origin_country","type":"`null` \\| `string`","description":"The origin country of the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"hs_code","type":"`null` \\| `string`","description":"The HS Code of the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"material","type":"`null` \\| `string`","description":"The material of the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"mid_code","type":"`null` \\| `string`","description":"The MID Code of the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"metadata","type":"[MetadataType](../../../types/product.MetadataType/page.mdx)","description":"Holds custom data in key-value pairs.","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"sharedContext","type":"[Context](../../../interfaces/product.Context/page.mdx)","description":"A context used to share resources, such as transaction manager, between the application and the module.","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"transactionManager","type":"TManager","description":"An instance of a transaction manager of type `TManager`, which is a typed parameter passed to the context to specify the type of the `transactionManager`.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"manager","type":"TManager","description":"An instance of a manager, typically an entity manager, of type `TManager`, which is a typed parameter passed to the context to specify the type of the `manager`.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"isolationLevel","type":"`string`","description":"A string indicating the isolation level of the context. Possible values are `READ UNCOMMITTED`, `READ COMMITTED`, `REPEATABLE READ`, or `SERIALIZABLE`.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"enableNestedTransactions","type":"`boolean`","description":"A boolean value indicating whether nested transactions are enabled.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"eventGroupId","type":"`string`","description":"A string indicating the ID of the group to aggregate the events to be emitted at a later point.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"transactionId","type":"`string`","description":"A string indicating the ID of the current transaction.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"messageAggregator","type":"[IMessageAggregator](../../../interfaces/product.IMessageAggregator/page.mdx)","description":"An instance of a message aggregator, which is used to aggregate messages to be emitted at a later point.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"requestId","type":"`string`","description":"A string indicating the ID of the current request.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"idempotencyKey","type":"`string`","description":"A string indicating the idempotencyKey of the current workflow execution.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"parentStepIdempotencyKey","type":"`string`","description":"A string indicating the idempotencyKey of the parent workflow execution.","optional":true,"defaultValue":"","expandable":false,"children":[]}]}]} expandUrl="https://docs.medusajs.com/v2/advanced-development/data-models/manage-relationships#retrieve-records-of-relation" sectionTitle="updateProducts"/> +`","description":"The product variant options to associate with the product variant.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"metadata","type":"[MetadataType](../../../types/product.MetadataType/page.mdx)","description":"Holds custom data in key-value pairs.","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"width","type":"`null` \\| `number`","description":"The width of the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"height","type":"`null` \\| `number`","description":"The height of the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"length","type":"`null` \\| `number`","description":"The length of the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"weight","type":"`null` \\| `number`","description":"The weight of the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"origin_country","type":"`null` \\| `string`","description":"The origin country of the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"hs_code","type":"`null` \\| `string`","description":"The HS Code of the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"material","type":"`null` \\| `string`","description":"The material of the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"mid_code","type":"`null` \\| `string`","description":"The MID Code of the product.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"metadata","type":"[MetadataType](../../../types/product.MetadataType/page.mdx)","description":"Holds custom data in key-value pairs.","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"sharedContext","type":"[Context](../../../interfaces/product.Context/page.mdx)","description":"A context used to share resources, such as transaction manager, between the application and the module.","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"transactionManager","type":"TManager","description":"An instance of a transaction manager of type `TManager`, which is a typed parameter passed to the context to specify the type of the `transactionManager`.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"manager","type":"TManager","description":"An instance of a manager, typically an entity manager, of type `TManager`, which is a typed parameter passed to the context to specify the type of the `manager`.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"isolationLevel","type":"`string`","description":"A string indicating the isolation level of the context. Possible values are `READ UNCOMMITTED`, `READ COMMITTED`, `REPEATABLE READ`, or `SERIALIZABLE`.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"enableNestedTransactions","type":"`boolean`","description":"A boolean value indicating whether nested transactions are enabled.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"eventGroupId","type":"`string`","description":"A string indicating the ID of the group to aggregate the events to be emitted at a later point.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"transactionId","type":"`string`","description":"A string indicating the ID of the current transaction.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"messageAggregator","type":"[IMessageAggregator](../../../interfaces/product.IMessageAggregator/page.mdx)","description":"An instance of a message aggregator, which is used to aggregate messages to be emitted at a later point.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"requestId","type":"`string`","description":"A string indicating the ID of the current request.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"idempotencyKey","type":"`string`","description":"A string indicating the idempotencyKey of the current workflow execution.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"parentStepIdempotencyKey","type":"`string`","description":"A string indicating the idempotencyKey of the parent workflow execution.","optional":true,"defaultValue":"","expandable":false,"children":[]}]}]} expandUrl="https://docs.medusajs.com/v2/advanced-development/data-models/manage-relationships#retrieve-records-of-relation" sectionTitle="updateProducts"/> ### Returns diff --git a/www/apps/resources/references/product/interfaces/product.FilterableProductProps/page.mdx b/www/apps/resources/references/product/interfaces/product.FilterableProductProps/page.mdx index 5d97f363ae8e7..26149da2d359c 100644 --- a/www/apps/resources/references/product/interfaces/product.FilterableProductProps/page.mdx +++ b/www/apps/resources/references/product/interfaces/product.FilterableProductProps/page.mdx @@ -8,4 +8,4 @@ import { TypeList } from "docs-ui" The filters to apply on retrieved products. - + diff --git a/www/apps/resources/references/types/HttpTypes/interfaces/types.HttpTypes.AdminBatchProductVariantRequest/page.mdx b/www/apps/resources/references/types/HttpTypes/interfaces/types.HttpTypes.AdminBatchProductVariantRequest/page.mdx index 9cf78b539041c..76cdbc152625d 100644 --- a/www/apps/resources/references/types/HttpTypes/interfaces/types.HttpTypes.AdminBatchProductVariantRequest/page.mdx +++ b/www/apps/resources/references/types/HttpTypes/interfaces/types.HttpTypes.AdminBatchProductVariantRequest/page.mdx @@ -4,4 +4,4 @@ import { TypeList } from "docs-ui" ## Properties -`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"inventory_items","type":"[AdminCreateProductVariantInventoryKit](../types.HttpTypes.AdminCreateProductVariantInventoryKit/page.mdx)[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"inventory_item_id","type":"`string`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"required_quantity","type":"`number`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"options","type":"`Record`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"update","type":"[AdminUpdateProductVariant](../types.HttpTypes.AdminUpdateProductVariant/page.mdx)[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"title","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"sku","type":"`null` \\| `string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"ean","type":"`null` \\| `string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"upc","type":"`null` \\| `string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"barcode","type":"`null` \\| `string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"hs_code","type":"`null` \\| `string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"mid_code","type":"`null` \\| `string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"allow_backorder","type":"`boolean`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"manage_inventory","type":"`boolean`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"variant_rank","type":"`number`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"weight","type":"`null` \\| `number`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"length","type":"`null` \\| `number`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"height","type":"`null` \\| `number`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"width","type":"`null` \\| `number`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"origin_country","type":"`null` \\| `string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"material","type":"`null` \\| `string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"metadata","type":"`null` \\| `Record`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"prices","type":"[AdminCreateProductVariantPrice](../types.HttpTypes.AdminCreateProductVariantPrice/page.mdx)[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"currency_code","type":"`string`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"amount","type":"`number`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"min_quantity","type":"`null` \\| `number`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"max_quantity","type":"`null` \\| `number`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"rules","type":"`null` \\| `object`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"options","type":"`Record`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"delete","type":"`string`[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]}]} expandUrl="https://docs.medusajs.com/v2/advanced-development/data-models/manage-relationships#retrieve-records-of-relation" sectionTitle="AdminBatchProductVariantRequest"/> +`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"inventory_items","type":"[AdminCreateProductVariantInventoryKit](../types.HttpTypes.AdminCreateProductVariantInventoryKit/page.mdx)[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"inventory_item_id","type":"`string`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"required_quantity","type":"`number`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"options","type":"`Record`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"update","type":"[AdminBatchUpdateProductVariant](../types.HttpTypes.AdminBatchUpdateProductVariant/page.mdx)[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"id","type":"`string`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"title","type":"`string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"sku","type":"`null` \\| `string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"ean","type":"`null` \\| `string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"upc","type":"`null` \\| `string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"barcode","type":"`null` \\| `string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"hs_code","type":"`null` \\| `string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"mid_code","type":"`null` \\| `string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"allow_backorder","type":"`boolean`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"manage_inventory","type":"`boolean`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"variant_rank","type":"`number`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"weight","type":"`null` \\| `number`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"length","type":"`null` \\| `number`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"height","type":"`null` \\| `number`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"width","type":"`null` \\| `number`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"origin_country","type":"`null` \\| `string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"material","type":"`null` \\| `string`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"metadata","type":"`null` \\| `Record`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"prices","type":"[AdminCreateProductVariantPrice](../types.HttpTypes.AdminCreateProductVariantPrice/page.mdx)[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"currency_code","type":"`string`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"amount","type":"`number`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"min_quantity","type":"`null` \\| `number`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"max_quantity","type":"`null` \\| `number`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"rules","type":"`null` \\| `object`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"options","type":"`Record`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"delete","type":"`string`[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]}]} expandUrl="https://docs.medusajs.com/v2/advanced-development/data-models/manage-relationships#retrieve-records-of-relation" sectionTitle="AdminBatchProductVariantRequest"/> diff --git a/www/apps/resources/references/types/HttpTypes/interfaces/types.HttpTypes.AdminBatchUpdateProductVariant/page.mdx b/www/apps/resources/references/types/HttpTypes/interfaces/types.HttpTypes.AdminBatchUpdateProductVariant/page.mdx new file mode 100644 index 0000000000000..8bf167f396cc1 --- /dev/null +++ b/www/apps/resources/references/types/HttpTypes/interfaces/types.HttpTypes.AdminBatchUpdateProductVariant/page.mdx @@ -0,0 +1,7 @@ +import { TypeList } from "docs-ui" + +# AdminBatchUpdateProductVariant + +## Properties + +`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"prices","type":"[AdminCreateProductVariantPrice](../types.HttpTypes.AdminCreateProductVariantPrice/page.mdx)[]","description":"","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"currency_code","type":"`string`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"amount","type":"`number`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"min_quantity","type":"`null` \\| `number`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"max_quantity","type":"`null` \\| `number`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"rules","type":"`null` \\| `object`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"region_id","type":"`string`","description":"","optional":false,"defaultValue":"","expandable":false,"children":[]}]}]},{"name":"options","type":"`Record`","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]}]} expandUrl="https://docs.medusajs.com/v2/advanced-development/data-models/manage-relationships#retrieve-records-of-relation" sectionTitle="AdminBatchUpdateProductVariant"/> diff --git a/www/apps/resources/references/types/WorkflowTypes/ProductWorkflow/interfaces/types.WorkflowTypes.ProductWorkflow.ExportProductsDTO/page.mdx b/www/apps/resources/references/types/WorkflowTypes/ProductWorkflow/interfaces/types.WorkflowTypes.ProductWorkflow.ExportProductsDTO/page.mdx index 45cc962c18cf0..c893455021649 100644 --- a/www/apps/resources/references/types/WorkflowTypes/ProductWorkflow/interfaces/types.WorkflowTypes.ProductWorkflow.ExportProductsDTO/page.mdx +++ b/www/apps/resources/references/types/WorkflowTypes/ProductWorkflow/interfaces/types.WorkflowTypes.ProductWorkflow.ExportProductsDTO/page.mdx @@ -4,4 +4,4 @@ import { TypeList } from "docs-ui" ## Properties - + diff --git a/www/apps/resources/references/types/types.HttpTypes/page.mdx b/www/apps/resources/references/types/types.HttpTypes/page.mdx index 15b237bd8146f..544ace253b32f 100644 --- a/www/apps/resources/references/types/types.HttpTypes/page.mdx +++ b/www/apps/resources/references/types/types.HttpTypes/page.mdx @@ -308,6 +308,7 @@ import { TypeList } from "docs-ui" - [AdminCreateProductVariant](../HttpTypes/interfaces/types.HttpTypes.AdminCreateProductVariant/page.mdx) - [AdminCreateProduct](../HttpTypes/interfaces/types.HttpTypes.AdminCreateProduct/page.mdx) - [AdminUpdateProductVariant](../HttpTypes/interfaces/types.HttpTypes.AdminUpdateProductVariant/page.mdx) +- [AdminBatchUpdateProductVariant](../HttpTypes/interfaces/types.HttpTypes.AdminBatchUpdateProductVariant/page.mdx) - [AdminUpdateProduct](../HttpTypes/interfaces/types.HttpTypes.AdminUpdateProduct/page.mdx) - [AdminCreateProductOption](../HttpTypes/interfaces/types.HttpTypes.AdminCreateProductOption/page.mdx) - [AdminUpdateProductOption](../HttpTypes/interfaces/types.HttpTypes.AdminUpdateProductOption/page.mdx) diff --git a/www/apps/resources/references/types/types/types.PluralizationSpecialRules/page.mdx b/www/apps/resources/references/types/types/types.PluralizationSpecialRules/page.mdx new file mode 100644 index 0000000000000..4db4010ff8c02 --- /dev/null +++ b/www/apps/resources/references/types/types/types.PluralizationSpecialRules/page.mdx @@ -0,0 +1,9 @@ +import { TypeList } from "docs-ui" + +# PluralizationSpecialRules + + **PluralizationSpecialRules**: `Object` + +## Properties + + diff --git a/www/apps/resources/references/types/types/types.UncountableRules/page.mdx b/www/apps/resources/references/types/types/types.UncountableRules/page.mdx new file mode 100644 index 0000000000000..5c4cb99920a5a --- /dev/null +++ b/www/apps/resources/references/types/types/types.UncountableRules/page.mdx @@ -0,0 +1,7 @@ +import { TypeList } from "docs-ui" + +# UncountableRules + + **UncountableRules**: `"adulthood"` \| `"advice"` \| `"agenda"` \| `"aid"` \| `"aircraft"` \| `"alcohol"` \| `"ammo"` \| `"analytics"` \| `"anime"` \| `"athletics"` \| `"audio"` \| `"bison"` \| `"blood"` \| `"bream"` \| `"buffalo"` \| `"butter"` \| `"carp"` \| `"cash"` \| `"chassis"` \| `"chess"` \| `"clothing"` \| `"cod"` \| `"commerce"` \| `"cooperation"` \| `"corps"` \| `"debris"` \| `"diabetes"` \| `"digestion"` \| `"elk"` \| `"energy"` \| `"equipment"` \| `"excretion"` \| `"expertise"` \| `"firmware"` \| `"flounder"` \| `"fun"` \| `"gallows"` \| `"garbage"` \| `"graffiti"` \| `"hardware"` \| `"headquarters"` \| `"health"` \| `"herpes"` \| `"highjinks"` \| `"homework"` \| `"housework"` \| `"information"` \| `"jeans"` \| `"justice"` \| `"kudos"` \| `"labour"` \| `"literature"` \| `"machinery"` \| `"mackerel"` \| `"mail"` \| `"media"` \| `"mews"` \| `"moose"` \| `"music"` \| `"mud"` \| `"manga"` \| `"news"` \| `"only"` \| `"personnel"` \| `"pike"` \| `"plankton"` \| `"pliers"` \| `"police"` \| `"pollution"` \| `"premises"` \| `"rain"` \| `"research"` \| `"rice"` \| `"salmon"` \| `"scissors"` \| `"series"` \| `"sewage"` \| `"shambles"` \| `"shrimp"` \| `"software"` \| `"staff"` \| `"swine"` \| `"tennis"` \| `"traffic"` \| `"transportation"` \| `"trout"` \| `"tuna"` \| `"wealth"` \| `"welfare"` \| `"whiting"` \| `"wildebeest"` \| `"wildlife"` \| `"you"` \| `"deer"` \| `"sheep"` + +The keywords that does not have a plural form diff --git a/www/apps/resources/sidebar.mjs b/www/apps/resources/sidebar.mjs index 6b0fdac0e4385..278e09b51b04e 100644 --- a/www/apps/resources/sidebar.mjs +++ b/www/apps/resources/sidebar.mjs @@ -2100,7 +2100,18 @@ export const sidebar = sidebarAttachHrefCommonOptions([ { type: "category", title: "Medusa Application", - autogenerate_path: "/deployment/medusa-application", + children: [ + { + type: "link", + path: "https://docs.medusajs.com/learn/deployment/general", + title: "General", + }, + { + type: "link", + path: "/deployment/medusa-application/railway", + title: "Railway", + }, + ], }, { type: "category", @@ -2382,10 +2393,11 @@ export const sidebar = sidebarAttachHrefCommonOptions([ path: "/contribution-guidelines/docs", title: "Docs", }, - // { - // path: "/contribution-guidelines/admin-translations", - // title: "Admin Translations", - // }, + { + type: "link", + path: "/contribution-guidelines/admin-translations", + title: "Admin Translations", + }, ], }, { diff --git a/www/apps/ui/.content.eslintrc.js b/www/apps/ui/.content.eslintrc.js deleted file mode 100644 index fc843a3a5a4bf..0000000000000 --- a/www/apps/ui/.content.eslintrc.js +++ /dev/null @@ -1,6 +0,0 @@ -module.exports = { - root: true, - extends: [ - "docs/content" - ], -} diff --git a/www/apps/ui/.content.eslintrc.mjs b/www/apps/ui/.content.eslintrc.mjs new file mode 100644 index 0000000000000..e89fdc8c2275f --- /dev/null +++ b/www/apps/ui/.content.eslintrc.mjs @@ -0,0 +1,160 @@ +import prettier from "eslint-plugin-prettier" +import markdown from "eslint-plugin-markdown" +import globals from "globals" +import babelParser from "@babel/eslint-parser" +import typescriptEslintEslintPlugin from "@typescript-eslint/eslint-plugin" +import tsParser from "@typescript-eslint/parser" +import path from "node:path" +import { fileURLToPath } from "node:url" +import js from "@eslint/js" +import { FlatCompat } from "@eslint/eslintrc" + +const __filename = fileURLToPath(import.meta.url) +const __dirname = path.dirname(__filename) +const compat = new FlatCompat({ + baseDirectory: __dirname, + recommendedConfig: js.configs.recommended, + allConfig: js.configs.all, +}) + +export default [ + { + ignores: [ + "**/references/**/*", + "**/events-reference/**/*", + "**/_events-table/**/*", + ], + }, + { + plugins: { + prettier, + markdown, + }, + + languageOptions: { + globals: { + ...globals.node, + }, + + parser: babelParser, + ecmaVersion: 13, + sourceType: "module", + + parserOptions: { + requireConfigFile: false, + + ecmaFeatures: { + experimentalDecorators: true, + modules: true, + }, + }, + }, + + settings: { + react: { + version: "detect", + }, + }, + + rules: { + "no-undef": "off", + "no-unused-expressions": "off", + "no-unused-vars": "off", + "no-unused-labels": "off", + "no-console": "off", + curly: ["error", "all"], + "new-cap": "off", + "require-jsdoc": "off", + camelcase: "off", + "no-invalid-this": "off", + + "max-len": [ + "warn", + { + code: 64, + }, + ], + + semi: ["error", "never"], + + quotes: [ + "error", + "double", + { + allowTemplateLiterals: true, + }, + ], + + "comma-dangle": [ + "error", + { + arrays: "always-multiline", + objects: "always-multiline", + imports: "always-multiline", + exports: "always-multiline", + functions: "never", + }, + ], + + "object-curly-spacing": ["error", "always"], + "arrow-parens": ["error", "always"], + "linebreak-style": 0, + + "no-confusing-arrow": [ + "error", + { + allowParens: false, + }, + ], + + "space-before-function-paren": [ + "error", + { + anonymous: "always", + named: "never", + asyncArrow: "always", + }, + ], + + "space-infix-ops": "off", + "eol-last": ["error", "always"], + "react/prop-types": "off", + "react/jsx-no-undef": "off", + }, + }, + { + files: ["**/*.md", "**/*.mdx"], + processor: "markdown/markdown", + }, + { + files: ["**/*.md/*.js", "**/*.mdx/*.js", "**/*.md/*.jsx", "**/*.mdx/*.jsx"], + }, + ...compat.extends("plugin:@typescript-eslint/recommended").map((config) => ({ + ...config, + files: ["**/*.md/*.ts", "**/*.mdx/*.ts", "**/*.md/*.tsx", "**/*.mdx/*.tsx"], + })), + { + files: ["**/*.md/*.ts", "**/*.mdx/*.ts", "**/*.md/*.tsx", "**/*.mdx/*.tsx"], + + plugins: { + "@typescript-eslint": typescriptEslintEslintPlugin, + }, + + languageOptions: { + parser: tsParser, + }, + + rules: { + "@typescript-eslint/no-unused-vars": "off", + "@typescript-eslint/no-empty-function": "off", + "@typescript-eslint/no-explicit-any": "off", + "@typescript-eslint/no-non-null-assertion": "off", + "@typescript-eslint/no-var-requires": "off", + "prefer-rest-params": "off", + "@typescript-eslint/ban-ts-comment": "off", + "@typescript-eslint/no-non-null-asserted-optional-chain": "off", + "@typescript-eslint/ban-types": "off", + "@typescript-eslint/no-require-imports": "warn", + }, + }, +] diff --git a/www/apps/ui/.eslintrc.js b/www/apps/ui/.eslintrc.js deleted file mode 100644 index 71627ec4f7a01..0000000000000 --- a/www/apps/ui/.eslintrc.js +++ /dev/null @@ -1,15 +0,0 @@ -module.exports = { - root: true, - extends: [ - "docs/next" - ], - overrides: [ - { - files: ["src/examples/*.tsx"], - rules: { - "@typescript-eslint/no-empty-function": "off", - "no-console": "off" - } - } - ], -} diff --git a/www/apps/ui/eslint.config.mjs b/www/apps/ui/eslint.config.mjs new file mode 100644 index 0000000000000..a8b18b3ea120d --- /dev/null +++ b/www/apps/ui/eslint.config.mjs @@ -0,0 +1,212 @@ +import prettier from "eslint-plugin-prettier/recommended" +import globals from "globals" +import babelParser from "@babel/eslint-parser" +import typescriptEslintEslintPlugin from "@typescript-eslint/eslint-plugin" +import tsParser from "@typescript-eslint/parser" +import path from "node:path" +import { fileURLToPath } from "node:url" +import js from "@eslint/js" +import { FlatCompat } from "@eslint/eslintrc" + +const __filename = fileURLToPath(import.meta.url) +const __dirname = path.dirname(__filename) +const compat = new FlatCompat({ + baseDirectory: __dirname, + recommendedConfig: js.configs.recommended, + allConfig: js.configs.all, +}) + +export default [ + prettier, + { + ignores: [ + "**/eslint-config-docs", + "**/.eslintrc.js", + "**/dist", + "src/examples", + ], + }, + ...compat.extends( + "eslint:recommended", + "plugin:react/recommended", + "plugin:react/jsx-runtime", + "plugin:react-hooks/recommended", + "plugin:@next/next/recommended" + ), + { + languageOptions: { + globals: { + ...globals.node, + ...globals.jest, + ...globals.browser, + }, + + parser: babelParser, + ecmaVersion: 13, + sourceType: "module", + + parserOptions: { + requireConfigFile: false, + + ecmaFeatures: { + experimentalDecorators: true, + jsx: true, + modules: true, + }, + + project: true, + }, + }, + + settings: { + react: { + version: "detect", + }, + }, + + rules: { + curly: ["error", "all"], + "new-cap": "off", + "require-jsdoc": "off", + "no-unused-expressions": "off", + "no-unused-vars": "off", + camelcase: "off", + "no-invalid-this": "off", + + "max-len": [ + "error", + { + code: 80, + ignoreStrings: true, + ignoreRegExpLiterals: true, + ignoreComments: true, + ignoreTrailingComments: true, + ignoreUrls: true, + ignoreTemplateLiterals: true, + }, + ], + + semi: ["error", "never"], + + quotes: [ + "error", + "double", + { + allowTemplateLiterals: true, + }, + ], + + "comma-dangle": [ + "error", + { + arrays: "always-multiline", + objects: "always-multiline", + imports: "always-multiline", + exports: "always-multiline", + functions: "never", + }, + ], + + "object-curly-spacing": ["error", "always"], + "arrow-parens": ["error", "always"], + "linebreak-style": 0, + + "no-confusing-arrow": [ + "error", + { + allowParens: false, + }, + ], + + "space-before-function-paren": [ + "error", + { + anonymous: "always", + named: "never", + asyncArrow: "always", + }, + ], + + "space-infix-ops": "error", + "eol-last": ["error", "always"], + + "no-console": [ + "error", + { + allow: ["error", "warn"], + }, + ], + + "react/prop-types": [ + 2, + { + ignore: ["className"], + }, + ], + }, + }, + ...compat + .extends( + "plugin:@typescript-eslint/recommended", + "plugin:react/recommended" + ) + .map((config) => ({ + ...config, + files: ["**/*.ts", "**/*.tsx", "**/*.js", "**/*.jsx"], + })), + { + files: ["**/*.ts", "**/*.tsx", "**/*.js", "**/*.jsx"], + + plugins: { + "@typescript-eslint": typescriptEslintEslintPlugin, + }, + + languageOptions: { + parser: tsParser, + ecmaVersion: 13, + sourceType: "module", + + parserOptions: { + project: "./tsconfig.json", + }, + }, + + settings: { + next: { + rootDir: ".", + }, + }, + ignores: [ + "**/next.config.js", + "**/spec", + "**/node_modules", + "**/public", + "**/.eslintrc.js", + ], + + rules: { + "react/react-in-jsx-scope": "off", + "@typescript-eslint/prefer-ts-expect-error": "off", + "valid-jsdoc": "off", + + "@typescript-eslint/no-non-null-assertion": "off", + "@typescript-eslint/no-floating-promises": "error", + "@typescript-eslint/await-thenable": "error", + "@typescript-eslint/promise-function-async": "error", + "@/keyword-spacing": "error", + + "@/space-before-function-paren": [ + "error", + { + anonymous: "always", + named: "never", + asyncArrow: "always", + }, + ], + + "@/space-infix-ops": "error", + "@typescript-eslint/no-explicit-any": "warn", + "@typescript-eslint/no-unused-vars": "warn", + }, + }, +] diff --git a/www/apps/ui/package.json b/www/apps/ui/package.json index 602659a88c354..4a111bf3b471e 100644 --- a/www/apps/ui/package.json +++ b/www/apps/ui/package.json @@ -10,33 +10,26 @@ "start:monorepo": "yarn start -p 3002", "lint": "next lint --fix", "copy-colors": "ts-node ./scripts/copy-colors.ts", - "lint:content": "eslint --no-eslintrc -c .content.eslintrc.js src/content/docs --fix" + "lint:content": "eslint --no-config-lookup -c .content.eslintrc.mjs src/content/docs --fix" }, "dependencies": { "@faker-js/faker": "^8.0.2", + "@mdx-js/react": "^3.1.0", "@medusajs/icons": "^2.0.0", "@medusajs/ui": "^4.0.0", "@medusajs/ui-preset": "^1.1.3", - "@radix-ui/react-dialog": "1.0.4", - "@radix-ui/react-scroll-area": "^1.0.4", - "@radix-ui/react-tabs": "^1.0.4", - "@types/node": "20.4.9", - "@types/react": "^18.2.0", - "@types/react-dom": "^18.2.0", "autoprefixer": "10.4.14", "clsx": "^2.0.0", "contentlayer": "^0.3.4", "date-fns": "^3.3.1", "docs-ui": "*", - "eslint-config-docs": "*", "mdast-util-toc": "^7.0.0", - "next": "^14.2.14", + "next": "15.0.1", "next-contentlayer": "^0.3.4", "next-themes": "^0.2.1", "postcss": "8.4.27", - "react": "18.2.0", - "react-day-picker": "^8.10.0", - "react-dom": "18.2.0", + "react": "rc", + "react-dom": "rc", "rehype-slug": "^6.0.0", "remark": "^14.0.3", "tailwind": "*", @@ -46,12 +39,21 @@ "unist-util-visit": "4.1.2" }, "devDependencies": { - "eslint": "^8.49.0", - "react-docgen": "^7.0.1", + "@types/node": "20.4.9", + "@types/react": "npm:types-react@rc", + "@types/react-dom": "npm:types-react@rc", + "eslint": "^9.13.0", + "eslint-plugin-prettier": "^5.2.1", + "eslint-plugin-react-hooks": "^5.0.0", + "react-docgen": "^7.1.0", "ts-node": "^10.9.1", "types": "*" }, "engines": { "node": ">=20" + }, + "overrides": { + "@types/react": "npm:types-react@rc", + "@types/react-dom": "npm:types-react-dom@rc" } } diff --git a/www/apps/ui/src/app/(content)/[[...slug]]/page.tsx b/www/apps/ui/src/app/(content)/[[...slug]]/page.tsx index d6eaff603552c..5ce4f9b1cc06f 100644 --- a/www/apps/ui/src/app/(content)/[[...slug]]/page.tsx +++ b/www/apps/ui/src/app/(content)/[[...slug]]/page.tsx @@ -7,27 +7,26 @@ import { siteConfig } from "@/config/site" import { Metadata } from "next" interface DocPageProps { - params: { + params: Promise<{ slug: string[] - } + }> } -async function getDocFromParams({ params }: DocPageProps) { +async function getDocFromParams(props: DocPageProps) { + const params = await props.params const slug = params.slug?.join("/") || "" const doc = allDocs.find((doc) => doc.slugAsParams === slug) if (!doc) { - null + return } return doc } -export async function generateMetadata({ - params, -}: DocPageProps): Promise { - const doc = await getDocFromParams({ params }) +export async function generateMetadata(props: DocPageProps): Promise { + const doc = await getDocFromParams(props) if (!doc) { return {} @@ -44,16 +43,14 @@ export async function generateMetadata({ } } -export async function generateStaticParams(): Promise< - DocPageProps["params"][] -> { +export async function generateStaticParams() { return allDocs.map((doc) => ({ slug: doc.slugAsParams.split("/"), })) } -export default async function DocPage({ params }: DocPageProps) { - const doc = await getDocFromParams({ params }) +export default async function DocPage(props: DocPageProps) { + const doc = await getDocFromParams(props) if (!doc) { notFound() diff --git a/www/apps/ui/src/app/not-found.tsx b/www/apps/ui/src/app/not-found.tsx index a57b1bcdecdf3..01263b094a25b 100644 --- a/www/apps/ui/src/app/not-found.tsx +++ b/www/apps/ui/src/app/not-found.tsx @@ -7,6 +7,7 @@ import { ComputerDesktopSolid, BuildingStorefront, } from "@medusajs/icons" +import React from "react" const H1 = MDXComponents.h1! const P = MDXComponents.p! @@ -18,8 +19,11 @@ export const metadata: Metadata = { export default function NotFound() { return (
        + {/* @ts-expect-error React v19 doesn't recognize these as elements. */}

        Page Not Found

        + {/* @ts-expect-error React v19 doesn't recognize these as elements. */}

        The page you were looking for isn't available.

        + {/* @ts-expect-error React v19 doesn't recognize these as elements. */}

        If you think this is a mistake, please diff --git a/www/apps/ui/src/components/component-example.tsx b/www/apps/ui/src/components/component-example.tsx index 6b1aa1082da01..1dd96a20ad4e6 100644 --- a/www/apps/ui/src/components/component-example.tsx +++ b/www/apps/ui/src/components/component-example.tsx @@ -28,7 +28,7 @@ export function ComponentExample({ }, [name]) const CodeElement = children as React.ReactElement - const Code = CodeElement.props.code + const Code = (CodeElement.props as Record).code return (

        diff --git a/www/apps/ui/src/components/icon-search.tsx b/www/apps/ui/src/components/icon-search.tsx index 570881e4bc390..2546a19ffa667 100644 --- a/www/apps/ui/src/components/icon-search.tsx +++ b/www/apps/ui/src/components/icon-search.tsx @@ -8,7 +8,7 @@ import * as React from "react" const iconNames = Object.keys(Icons).filter((name) => name !== "default") -const IconSearch = React.memo(function IconSearch() { +const IconSearch = () => { const [query, setQuery] = React.useState("") return ( @@ -23,7 +23,7 @@ const IconSearch = React.memo(function IconSearch() {
        ) -}) +} const SearchResults = ({ query = "" }: { query?: string }) => { const cleanQuery = escapeStringRegexp(query.trim().replace(/\s/g, " ")) diff --git a/www/apps/user-guide/.content.eslintrc.js b/www/apps/user-guide/.content.eslintrc.js deleted file mode 100644 index fc843a3a5a4bf..0000000000000 --- a/www/apps/user-guide/.content.eslintrc.js +++ /dev/null @@ -1,6 +0,0 @@ -module.exports = { - root: true, - extends: [ - "docs/content" - ], -} diff --git a/www/apps/user-guide/.content.eslintrc.mjs b/www/apps/user-guide/.content.eslintrc.mjs new file mode 100644 index 0000000000000..65f47a8b41644 --- /dev/null +++ b/www/apps/user-guide/.content.eslintrc.mjs @@ -0,0 +1,159 @@ +import prettier from "eslint-plugin-prettier" +import markdown from "eslint-plugin-markdown" +import globals from "globals" +import babelParser from "@babel/eslint-parser" +import typescriptEslintEslintPlugin from "@typescript-eslint/eslint-plugin" +import tsParser from "@typescript-eslint/parser" +import path from "node:path" +import { fileURLToPath } from "node:url" +import js from "@eslint/js" +import { FlatCompat } from "@eslint/eslintrc" + +const __filename = fileURLToPath(import.meta.url) +const __dirname = path.dirname(__filename) +const compat = new FlatCompat({ + baseDirectory: __dirname, + recommendedConfig: js.configs.recommended, + allConfig: js.configs.all, +}) + +export default [ + { + ignores: [ + "**/references/**/*", + "**/events-reference/**/*", + "**/_events-table/**/*", + ], + }, + { + plugins: { + prettier, + markdown, + }, + + languageOptions: { + globals: { + ...globals.node, + }, + + parser: babelParser, + ecmaVersion: 13, + sourceType: "module", + + parserOptions: { + requireConfigFile: false, + + ecmaFeatures: { + experimentalDecorators: true, + modules: true, + }, + }, + }, + + settings: { + react: { + version: "detect", + }, + }, + + rules: { + "no-undef": "off", + "no-unused-expressions": "off", + "no-unused-vars": "off", + "no-unused-labels": "off", + "no-console": "off", + curly: ["error", "all"], + "new-cap": "off", + "require-jsdoc": "off", + camelcase: "off", + "no-invalid-this": "off", + + "max-len": [ + "warn", + { + code: 64, + }, + ], + + semi: ["error", "never"], + + quotes: [ + "error", + "double", + { + allowTemplateLiterals: true, + }, + ], + + "comma-dangle": [ + "error", + { + arrays: "always-multiline", + objects: "always-multiline", + imports: "always-multiline", + exports: "always-multiline", + functions: "never", + }, + ], + + "object-curly-spacing": ["error", "always"], + "arrow-parens": ["error", "always"], + "linebreak-style": 0, + + "no-confusing-arrow": [ + "error", + { + allowParens: false, + }, + ], + + "space-before-function-paren": [ + "error", + { + anonymous: "always", + named: "never", + asyncArrow: "always", + }, + ], + + "space-infix-ops": "off", + "eol-last": ["error", "always"], + "react/prop-types": "off", + "react/jsx-no-undef": "off", + }, + }, + { + files: ["**/*.md", "**/*.mdx"], + processor: "markdown/markdown", + }, + { + files: ["**/*.md/*.js", "**/*.mdx/*.js", "**/*.md/*.jsx", "**/*.mdx/*.jsx"], + }, + ...compat.extends("plugin:@typescript-eslint/recommended").map((config) => ({ + ...config, + files: ["**/*.md/*.ts", "**/*.mdx/*.ts", "**/*.md/*.tsx", "**/*.mdx/*.tsx"], + })), + { + files: ["**/*.md/*.ts", "**/*.mdx/*.ts", "**/*.md/*.tsx", "**/*.mdx/*.tsx"], + + plugins: { + "@typescript-eslint": typescriptEslintEslintPlugin, + }, + + languageOptions: { + parser: tsParser, + }, + + rules: { + "@typescript-eslint/no-unused-vars": "off", + "@typescript-eslint/no-empty-function": "off", + "@typescript-eslint/no-explicit-any": "off", + "@typescript-eslint/no-non-null-assertion": "off", + "@typescript-eslint/no-var-requires": "off", + "prefer-rest-params": "off", + "@typescript-eslint/ban-ts-comment": "off", + "@typescript-eslint/no-non-null-asserted-optional-chain": "off", + "@typescript-eslint/ban-types": "off", + }, + }, +] diff --git a/www/apps/user-guide/.eslintrc.js b/www/apps/user-guide/.eslintrc.js deleted file mode 100644 index ef48b51dd2ac1..0000000000000 --- a/www/apps/user-guide/.eslintrc.js +++ /dev/null @@ -1,14 +0,0 @@ -module.exports = { - root: true, - extends: [ - "docs/next" - ], - settings: { - next: { - rootDir: ".", - }, - }, - ignorePatterns: [ - "generated" - ] -} diff --git a/www/apps/user-guide/eslint.config.mjs b/www/apps/user-guide/eslint.config.mjs new file mode 100644 index 0000000000000..0113bd8b20aa1 --- /dev/null +++ b/www/apps/user-guide/eslint.config.mjs @@ -0,0 +1,207 @@ +import prettier from "eslint-plugin-prettier/recommended" +import globals from "globals" +import babelParser from "@babel/eslint-parser" +import typescriptEslintEslintPlugin from "@typescript-eslint/eslint-plugin" +import tsParser from "@typescript-eslint/parser" +import path from "node:path" +import { fileURLToPath } from "node:url" +import js from "@eslint/js" +import { FlatCompat } from "@eslint/eslintrc" + +const __filename = fileURLToPath(import.meta.url) +const __dirname = path.dirname(__filename) +const compat = new FlatCompat({ + baseDirectory: __dirname, + recommendedConfig: js.configs.recommended, + allConfig: js.configs.all, +}) + +export default [ + prettier, + { + ignores: ["**/eslint-config-docs", "**/.eslintrc.js", "**/dist"], + }, + ...compat.extends( + "eslint:recommended", + "plugin:react/recommended", + "plugin:react/jsx-runtime", + "plugin:react-hooks/recommended", + "plugin:@next/next/recommended" + ), + { + languageOptions: { + globals: { + ...globals.node, + ...globals.jest, + ...globals.browser, + }, + + parser: babelParser, + ecmaVersion: 13, + sourceType: "module", + + parserOptions: { + requireConfigFile: false, + + ecmaFeatures: { + experimentalDecorators: true, + jsx: true, + modules: true, + }, + + project: true, + }, + }, + + settings: { + react: { + version: "detect", + }, + }, + + rules: { + curly: ["error", "all"], + "new-cap": "off", + "require-jsdoc": "off", + "no-unused-expressions": "off", + "no-unused-vars": "off", + camelcase: "off", + "no-invalid-this": "off", + + "max-len": [ + "error", + { + code: 80, + ignoreStrings: true, + ignoreRegExpLiterals: true, + ignoreComments: true, + ignoreTrailingComments: true, + ignoreUrls: true, + ignoreTemplateLiterals: true, + }, + ], + + semi: ["error", "never"], + + quotes: [ + "error", + "double", + { + allowTemplateLiterals: true, + }, + ], + + "comma-dangle": [ + "error", + { + arrays: "always-multiline", + objects: "always-multiline", + imports: "always-multiline", + exports: "always-multiline", + functions: "never", + }, + ], + + "object-curly-spacing": ["error", "always"], + "arrow-parens": ["error", "always"], + "linebreak-style": 0, + + "no-confusing-arrow": [ + "error", + { + allowParens: false, + }, + ], + + "space-before-function-paren": [ + "error", + { + anonymous: "always", + named: "never", + asyncArrow: "always", + }, + ], + + "space-infix-ops": "error", + "eol-last": ["error", "always"], + + "no-console": [ + "error", + { + allow: ["error", "warn"], + }, + ], + + "react/prop-types": [ + 2, + { + ignore: ["className"], + }, + ], + }, + }, + ...compat + .extends( + "plugin:@typescript-eslint/recommended", + "plugin:react/recommended" + ) + .map((config) => ({ + ...config, + files: ["**/*.ts", "**/*.tsx", "**/*.js", "**/*.jsx"], + })), + { + files: ["**/*.ts", "**/*.tsx", "**/*.js", "**/*.jsx"], + + plugins: { + "@typescript-eslint": typescriptEslintEslintPlugin, + }, + + languageOptions: { + parser: tsParser, + ecmaVersion: 13, + sourceType: "module", + + parserOptions: { + project: "./tsconfig.json", + }, + }, + + settings: { + next: { + rootDir: ".", + }, + }, + ignores: [ + "**/next.config.js", + "**/spec", + "**/node_modules", + "**/public", + "**/.eslintrc.js", + ], + + rules: { + "react/react-in-jsx-scope": "off", + "@typescript-eslint/prefer-ts-expect-error": "off", + "valid-jsdoc": "off", + + "@typescript-eslint/no-non-null-assertion": "off", + "@typescript-eslint/no-floating-promises": "error", + "@typescript-eslint/await-thenable": "error", + "@typescript-eslint/promise-function-async": "error", + "@/keyword-spacing": "error", + + "@/space-before-function-paren": [ + "error", + { + anonymous: "always", + named: "never", + asyncArrow: "always", + }, + ], + + "@/space-infix-ops": "error", + "@typescript-eslint/no-explicit-any": "warn", + "@typescript-eslint/no-unused-vars": "warn", + }, + }, +] diff --git a/www/apps/user-guide/package.json b/www/apps/user-guide/package.json index 7e9eb86b882eb..1d187686bfd47 100644 --- a/www/apps/user-guide/package.json +++ b/www/apps/user-guide/package.json @@ -10,19 +10,19 @@ "start": "next start", "start:monorepo": "yarn start -p 3004", "lint": "next lint --fix", - "lint:content": "eslint --no-eslintrc -c .content.eslintrc.js app/**/*.mdx --fix", + "lint:content": "eslint --no-config-lookup -c .content.eslintrc.mjs app/**/*.mdx --fix", "prep": "node ./scripts/prepare.mjs" }, "dependencies": { - "@mdx-js/loader": "^3.0.0", - "@mdx-js/react": "^3.0.0", + "@mdx-js/loader": "^3.1.0", + "@mdx-js/react": "^3.1.0", "@medusajs/icons": "^2.0.0", - "@next/mdx": "^14.2.14", + "@next/mdx": "15.0.1", "clsx": "^2.1.0", "docs-ui": "*", - "next": "14.2.14", - "react": "^18.2.0", - "react-dom": "^18.2.0", + "next": "15.0.1", + "react": "rc", + "react-dom": "rc", "rehype-mdx-code-props": "^2.0.0", "rehype-slug": "^6.0.0", "remark-directive": "^3.0.0", @@ -30,15 +30,15 @@ "remark-rehype-plugins": "*" }, "devDependencies": { - "@types/mdx": "^2.0.10", + "@types/mdx": "^2.0.13", "@types/node": "^20", - "@types/react": "^18.2.0", - "@types/react-dom": "^18.2.0", + "@types/react": "npm:types-react@rc", + "@types/react-dom": "npm:types-react@rc", "autoprefixer": "^10.0.1", "build-scripts": "*", - "eslint": "^8", - "eslint-config-docs": "*", - "eslint-config-next": "14.2.3", + "eslint": "^9.13.0", + "eslint-plugin-prettier": "^5.2.1", + "eslint-plugin-react-hooks": "^5.0.0", "postcss": "^8", "tailwind": "*", "tailwindcss": "^3.3.0", @@ -48,5 +48,9 @@ }, "engines": { "node": ">=20" + }, + "overrides": { + "@types/react": "npm:types-react@rc", + "@types/react-dom": "npm:types-react-dom@rc" } } diff --git a/www/eslint.config.mjs b/www/eslint.config.mjs new file mode 100644 index 0000000000000..16088c3969052 --- /dev/null +++ b/www/eslint.config.mjs @@ -0,0 +1,160 @@ +import prettier from "eslint-plugin-prettier/recommended"; +import globals from "globals"; +import babelParser from "@babel/eslint-parser"; +import typescriptEslintEslintPlugin from "@typescript-eslint/eslint-plugin"; +import tsParser from "@typescript-eslint/parser"; +import path from "node:path"; +import { fileURLToPath } from "node:url"; +import js from "@eslint/js"; +import { FlatCompat } from "@eslint/eslintrc"; + +const __filename = fileURLToPath(import.meta.url); +const __dirname = path.dirname(__filename); +const compat = new FlatCompat({ + baseDirectory: __dirname, + recommendedConfig: js.configs.recommended, + allConfig: js.configs.all +}); + +export default [ + prettier, + { + ignores: ["**/dist", "**/build", "**/global-config.ts"], +}, ...compat.extends( + "eslint:recommended", + "plugin:react/recommended", + "plugin:react/jsx-runtime", +), { + + languageOptions: { + globals: { + ...globals.node, + ...globals.jest, + ...globals.browser, + }, + + parser: babelParser, + ecmaVersion: 13, + sourceType: "module", + + parserOptions: { + requireConfigFile: false, + + ecmaFeatures: { + experimentalDecorators: true, + jsx: true, + modules: true + }, + + project: true, + }, + }, + + settings: { + react: { + version: "detect", + }, + }, + + rules: { + curly: ["error", "all"], + "new-cap": "off", + "require-jsdoc": "off", + "no-unused-expressions": "off", + "no-unused-vars": "off", + camelcase: "off", + "no-invalid-this": "off", + + "max-len": ["error", { + code: 80, + ignoreStrings: true, + ignoreRegExpLiterals: true, + ignoreComments: true, + ignoreTrailingComments: true, + ignoreUrls: true, + ignoreTemplateLiterals: true, + }], + + semi: ["error", "never"], + + quotes: ["error", "double", { + allowTemplateLiterals: true, + }], + + "comma-dangle": ["error", { + arrays: "always-multiline", + objects: "always-multiline", + imports: "always-multiline", + exports: "always-multiline", + functions: "never", + }], + + "object-curly-spacing": ["error", "always"], + "arrow-parens": ["error", "always"], + "linebreak-style": 0, + + "no-confusing-arrow": ["error", { + allowParens: false, + }], + + "space-before-function-paren": ["error", { + anonymous: "always", + named: "never", + asyncArrow: "always", + }], + + "space-infix-ops": "error", + "eol-last": ["error", "always"], + + "no-console": ["error", { + allow: ["error", "warn"], + }], + + "react/prop-types": [2, { + ignore: ["className"], + }], + }, +}, ...compat.extends("plugin:@typescript-eslint/recommended", "plugin:react/recommended").map(config => ({ + ...config, + files: ["**/*.ts", "**/*.tsx", "**/*.js", "**/*.jsx"], +})), { + files: ["**/*.ts", "**/*.tsx", "**/*.js", "**/*.jsx"], + + plugins: { + "@typescript-eslint": typescriptEslintEslintPlugin, + }, + + languageOptions: { + parser: tsParser, + ecmaVersion: 13, + sourceType: "module", + + parserOptions: { + project: "./tsconfig.json", + }, + }, + + rules: { + "valid-jsdoc": "off", + "@typescript-eslint/no-non-null-assertion": "off", + "@typescript-eslint/no-floating-promises": "error", + "@typescript-eslint/await-thenable": "error", + "@typescript-eslint/promise-function-async": "error", + "@/keyword-spacing": "error", + + "@/space-before-function-paren": ["error", { + anonymous: "always", + named: "never", + asyncArrow: "always", + }], + + "@/space-infix-ops": "error", + "@typescript-eslint/no-explicit-any": "warn", + "@typescript-eslint/no-unused-vars": "warn", + }, + settings: { + next: { + rootDir: ["apps/*/"], + }, + }, +}]; \ No newline at end of file diff --git a/www/package.json b/www/package.json index d009ead94834a..865b07f972e20 100644 --- a/www/package.json +++ b/www/package.json @@ -20,13 +20,25 @@ }, "dependencies": { "autoprefixer": "10.4.14", - "eslint": "^8.36.0", + "eslint": "^9.13.0", "postcss": "8.4.27", - "prettier": "^2.8.4", + "prettier": "^3.3.3", "tailwindcss": "3.3.3", "tsconfig": "*", "turbo": "latest" }, + "devDependencies": { + "@babel/eslint-parser": "^7.25.9", + "@eslint/js": "9.13.0", + "@types/eslint__js": "8.42.3", + "eslint-config-next": "15.0.1", + "eslint-config-prettier": "9.1.0", + "eslint-config-turbo": "2.2.3", + "eslint-plugin-markdown": "5.1.0", + "eslint-plugin-prettier": "5.2.1", + "eslint-plugin-react": "7.37.2", + "typescript-eslint": "8.11.0" + }, "engines": { "node": ">=18.17.0" } diff --git a/www/packages/build-scripts/.eslintrc.cjs b/www/packages/build-scripts/.eslintrc.cjs deleted file mode 100644 index 81f8b299320fc..0000000000000 --- a/www/packages/build-scripts/.eslintrc.cjs +++ /dev/null @@ -1,9 +0,0 @@ -const path = require("path") - -module.exports = { - extends: ["docs"], - parserOptions: { - project: true, - tsconfigRootDir: path.join(__dirname, "..", ".."), - }, -} diff --git a/www/packages/build-scripts/package.json b/www/packages/build-scripts/package.json index 7f6f60a3674ff..487155176b37f 100644 --- a/www/packages/build-scripts/package.json +++ b/www/packages/build-scripts/package.json @@ -31,7 +31,6 @@ }, "devDependencies": { "@types/node": "^20.11.20", - "eslint-config-docs": "*", "rimraf": "^5.0.5", "tsconfig": "*", "types": "*", diff --git a/www/packages/docs-ui/.eslintrc.js b/www/packages/docs-ui/.eslintrc.js deleted file mode 100644 index c95714ea4d918..0000000000000 --- a/www/packages/docs-ui/.eslintrc.js +++ /dev/null @@ -1,10 +0,0 @@ -module.exports = { - root: true, - extends: [ - "docs" - ], - parserOptions: { - project: true, - tsconfigRootDir: __dirname, - }, -} diff --git a/www/packages/docs-ui/package.json b/www/packages/docs-ui/package.json index c02d3c87328a8..3b0e400ab7f77 100644 --- a/www/packages/docs-ui/package.json +++ b/www/packages/docs-ui/package.json @@ -34,16 +34,12 @@ "lint": "eslint src --fix" }, "devDependencies": { - "@types/react": "^18.2.0", - "@types/react-dom": "^18.2.0", - "@types/react-google-recaptcha": "^2.1.6", + "@types/react": "npm:types-react@rc", + "@types/react-dom": "npm:types-react@rc", "clsx": "^2.0.0", "cpy-cli": "^5.0.0", - "eslint": "^8", - "eslint-config-docs": "*", - "next": "^14.2.14", - "react": "^18.2.0", - "react-dom": "^18.2.0", + "eslint": "^9.13.0", + "next": "15.0.1", "rimraf": "^5.0.1", "tailwind": "*", "tailwindcss": "^3.3.3", @@ -53,31 +49,38 @@ "typescript": "^5.1.6" }, "peerDependencies": { - "@types/react": "^18.2.0", - "@types/react-dom": "^18.2.0", + "@types/react": "*", + "@types/react-dom": "*", "next": "*", - "react": "^18.2.0", - "react-dom": "^18.2.0" + "react": "*", + "react-dom": "*" }, "dependencies": { + "@emotion/is-prop-valid": "^1.3.1", "@medusajs/icons": "^2.0.0", "@medusajs/ui": "^4.0.0", "@octokit/request": "^8.1.1", "@react-hook/resize-observer": "^1.2.6", - "@segment/analytics-next": "^1.55.0", + "@segment/analytics-next": "^1.75.0", "@uidotdev/usehooks": "^2.4.1", "algoliasearch": "^5.2.1", - "framer-motion": "^11.3.21", + "framer-motion": "^11.11.9", "mermaid": "^10.9.0", "npm-to-yarn": "^2.1.0", - "prism-react-renderer": "2.3.1", + "prism-react-renderer": "2.4.0", + "react": "rc", + "react-dom": "rc", "react-google-recaptcha": "^3.1.0", - "react-instantsearch": "^7.13.0", - "react-markdown": "^8.0.7", + "react-instantsearch": "^7.13.6", + "react-markdown": "^9.0.1", "react-medium-image-zoom": "^5.2.10", - "react-tooltip": "^5.21.3", + "react-tooltip": "^5.28.0", "react-transition-group": "^4.4.5", "react-uuid": "^2.0.0", "slugify": "^1.6.6" + }, + "overrides": { + "@types/react": "npm:types-react@rc", + "@types/react-dom": "npm:types-react-dom@rc" } } diff --git a/www/packages/docs-ui/src/components/AiAssistant/index.tsx b/www/packages/docs-ui/src/components/AiAssistant/index.tsx index 2d966bc792729..c732515413fb6 100644 --- a/www/packages/docs-ui/src/components/AiAssistant/index.tsx +++ b/www/packages/docs-ui/src/components/AiAssistant/index.tsx @@ -297,7 +297,7 @@ export const AiAssistant = () => { } }, [loading, answer, thread, lastAnswerIndex, inputRef.current]) - useResizeObserver(contentRef, () => { + useResizeObserver(contentRef as React.RefObject, () => { if (!loading) { return } diff --git a/www/packages/docs-ui/src/components/ApiRunner/ParamInputs/Array/index.tsx b/www/packages/docs-ui/src/components/ApiRunner/ParamInputs/Array/index.tsx index bb7ad110dfcd4..4cb47e957daca 100644 --- a/www/packages/docs-ui/src/components/ApiRunner/ParamInputs/Array/index.tsx +++ b/www/packages/docs-ui/src/components/ApiRunner/ParamInputs/Array/index.tsx @@ -85,8 +85,8 @@ export const ApiRunnerParamArrayInput = ({ Array.isArray(prev[0]) ? [...prev[0]] : typeof prev[0] === "object" - ? Object.assign({}, prev[0]) - : prev[0], + ? Object.assign({}, prev[0]) + : prev[0], ]) }} className="mt-0.5" diff --git a/www/packages/docs-ui/src/components/ApiRunner/ParamInputs/Default/index.tsx b/www/packages/docs-ui/src/components/ApiRunner/ParamInputs/Default/index.tsx index 8dfbffb451948..24f869a1af537 100644 --- a/www/packages/docs-ui/src/components/ApiRunner/ParamInputs/Default/index.tsx +++ b/www/packages/docs-ui/src/components/ApiRunner/ParamInputs/Default/index.tsx @@ -94,8 +94,8 @@ export const ApiRunnerParamInput = ({ typeof paramValue === "string" ? (paramValue as string) : typeof paramValue === "number" - ? (paramValue as number) - : `${paramValue}` + ? (paramValue as number) + : `${paramValue}` } className="w-full" /> diff --git a/www/packages/docs-ui/src/components/ApiRunner/index.tsx b/www/packages/docs-ui/src/components/ApiRunner/index.tsx index f2a680613b769..545dc60811f0c 100644 --- a/www/packages/docs-ui/src/components/ApiRunner/index.tsx +++ b/www/packages/docs-ui/src/components/ApiRunner/index.tsx @@ -163,8 +163,8 @@ export const ApiRunner = React.forwardRef( !responseCode ? "red" : responseCode.startsWith("2") - ? "green" - : "red" + ? "green" + : "red" } /> )} diff --git a/www/packages/docs-ui/src/components/Breadcrumbs/index.tsx b/www/packages/docs-ui/src/components/Breadcrumbs/index.tsx index ede20126fed5c..4c5476abef5e5 100644 --- a/www/packages/docs-ui/src/components/Breadcrumbs/index.tsx +++ b/www/packages/docs-ui/src/components/Breadcrumbs/index.tsx @@ -33,24 +33,27 @@ export const Breadcrumbs = () => { item.parentItem?.type === "link" ? getLinkPath(item.parentItem) : (item.parentItem?.type === "category" && - breadcrumbOptions?.showCategories) || - item.parentItem?.type === "sub-category" - ? "#" - : undefined + breadcrumbOptions?.showCategories) || + item.parentItem?.type === "sub-category" + ? "#" + : undefined const firstItemPath = item.default[0].type === "link" ? getLinkPath(item.default[0]) : (item.default[0].type === "category" && - breadcrumbOptions?.showCategories) || - item.default[0].type === "sub-category" - ? "#" - : undefined + breadcrumbOptions?.showCategories) || + item.default[0].type === "sub-category" + ? "#" + : undefined const breadcrumbPath = parentPath || firstItemPath || "/" tempBreadcrumbItems.set( breadcrumbPath, - item.parentItem?.childSidebarTitle || item.parentItem?.title || "" + item.parentItem?.childSidebarTitle || + item.parentItem?.chapterTitle || + item.parentItem?.title || + "" ) return tempBreadcrumbItems @@ -76,12 +79,14 @@ export const Breadcrumbs = () => { sidebarActiveItem.parentItem.type === "link" ? getLinkPath(sidebarActiveItem.parentItem) || "#" : "#", - sidebarActiveItem.parentItem.title || "" + sidebarActiveItem.parentItem.chapterTitle || + sidebarActiveItem.parentItem.title || + "" ) } tempBreadcrumbItems.set( getLinkPath(sidebarActiveItem) || "/", - sidebarActiveItem.title || "" + sidebarActiveItem.chapterTitle || sidebarActiveItem.title || "" ) } diff --git a/www/packages/docs-ui/src/components/Card/Layout/Default/index.tsx b/www/packages/docs-ui/src/components/Card/Layout/Default/index.tsx index c84b95d82b1d0..02d0842934836 100644 --- a/www/packages/docs-ui/src/components/Card/Layout/Default/index.tsx +++ b/www/packages/docs-ui/src/components/Card/Layout/Default/index.tsx @@ -68,6 +68,7 @@ export const CardDefaultLayout = ({ )}
        diff --git a/www/packages/docs-ui/src/components/Card/Layout/Large/index.tsx b/www/packages/docs-ui/src/components/Card/Layout/Large/index.tsx index c06759a202a07..eb0b3ef8d8d25 100644 --- a/www/packages/docs-ui/src/components/Card/Layout/Large/index.tsx +++ b/www/packages/docs-ui/src/components/Card/Layout/Large/index.tsx @@ -61,6 +61,7 @@ export const CardLargeLayout = ({ )} diff --git a/www/packages/docs-ui/src/components/Card/Layout/Mini/index.tsx b/www/packages/docs-ui/src/components/Card/Layout/Mini/index.tsx index 28a7384f6ece5..0a9be2c11c450 100644 --- a/www/packages/docs-ui/src/components/Card/Layout/Mini/index.tsx +++ b/www/packages/docs-ui/src/components/Card/Layout/Mini/index.tsx @@ -89,7 +89,11 @@ export const CardLayoutMini = ({ {isExternal ? : } {href && ( - + )} diff --git a/www/packages/docs-ui/src/components/ChildDocs/index.tsx b/www/packages/docs-ui/src/components/ChildDocs/index.tsx index 5be8ca4fdbb2d..a723e81e388e9 100644 --- a/www/packages/docs-ui/src/components/ChildDocs/index.tsx +++ b/www/packages/docs-ui/src/components/ChildDocs/index.tsx @@ -1,7 +1,7 @@ "use client" import React, { useMemo } from "react" -import { Card, CardList, MDXComponents, useSidebar } from "../.." +import { Card, CardList, H2, useSidebar } from "../.." import { InteractiveSidebarItem, SidebarItem, SidebarItemLink } from "types" import slugify from "slugify" @@ -27,8 +27,8 @@ export const ChildDocs = ({ return showItems !== undefined ? "show" : hideItems.length > 0 - ? "hide" - : "all" + ? "hide" + : "all" }, [showItems, hideItems]) const filterCondition = (item: SidebarItem): boolean => { @@ -132,12 +132,12 @@ export const ChildDocs = ({ childItem.type === "link" ? childItem.path : childItem.children?.length - ? ( - childItem.children.find( - (item) => item.type === "link" - ) as SidebarItemLink - )?.path - : "#" + ? ( + childItem.children.find( + (item) => item.type === "link" + ) as SidebarItemLink + )?.path + : "#" return { title: childItem.title, href, @@ -151,9 +151,7 @@ export const ChildDocs = ({ const getAllLevelsElms = (items?: SidebarItem[]) => filterNonInteractiveItems(items).map((item, key) => { const itemChildren = getChildrenForLevel(item) - const HeadingComponent = itemChildren?.length - ? MDXComponents["h2"] - : undefined + const HeadingComponent = itemChildren?.length ? H2 : undefined return ( diff --git a/www/packages/docs-ui/src/components/CodeBlock/Collapsible/Lines/index.tsx b/www/packages/docs-ui/src/components/CodeBlock/Collapsible/Lines/index.tsx index 809e37f44cab6..29db163782190 100644 --- a/www/packages/docs-ui/src/components/CodeBlock/Collapsible/Lines/index.tsx +++ b/www/packages/docs-ui/src/components/CodeBlock/Collapsible/Lines/index.tsx @@ -1,6 +1,4 @@ -"use client" - -import React, { useMemo } from "react" +import React from "react" import { CollapsibleReturn } from "../../../../hooks" export type CodeBlockCollapsibleLinesProps = { @@ -12,18 +10,13 @@ export const CodeBlockCollapsibleLines = ({ children, type, collapsed, - getCollapsibleElms, }: CodeBlockCollapsibleLinesProps) => { - const shownChildren: React.ReactNode = useMemo(() => { - const isStart = type === "start" - return ( - <> - {collapsed && Array.isArray(children) - ? children.slice(isStart ? -2 : 0, isStart ? undefined : 2) - : children} - - ) - }, [children, collapsed]) - - return getCollapsibleElms(shownChildren) + const isStart = type === "start" + return ( + <> + {collapsed && Array.isArray(children) + ? children.slice(isStart ? -2 : 0, isStart ? undefined : 2) + : children} + + ) } diff --git a/www/packages/docs-ui/src/components/CodeBlock/Header/index.tsx b/www/packages/docs-ui/src/components/CodeBlock/Header/index.tsx index b6be62c9d8511..4217da2ebeec4 100644 --- a/www/packages/docs-ui/src/components/CodeBlock/Header/index.tsx +++ b/www/packages/docs-ui/src/components/CodeBlock/Header/index.tsx @@ -17,6 +17,7 @@ type CodeBlockHeaderProps = { title?: string blockStyle?: CodeBlockStyle actionsProps: CodeBlockActionsProps + hideActions?: boolean } & CodeBlockHeaderMeta export const CodeBlockHeader = ({ @@ -25,6 +26,7 @@ export const CodeBlockHeader = ({ badgeLabel, actionsProps, badgeColor, + hideActions = false, }: CodeBlockHeaderProps) => { const { colorMode } = useColorMode() @@ -54,7 +56,7 @@ export const CodeBlockHeader = ({ )} - + {!hideActions && } ) } diff --git a/www/packages/docs-ui/src/components/CodeBlock/index.tsx b/www/packages/docs-ui/src/components/CodeBlock/index.tsx index 8d8befeab7698..c284e021d0df0 100644 --- a/www/packages/docs-ui/src/components/CodeBlock/index.tsx +++ b/www/packages/docs-ui/src/components/CodeBlock/index.tsx @@ -8,6 +8,7 @@ import { useColorMode } from "@/providers" import { CodeBlockHeader, CodeBlockHeaderMeta } from "./Header" import { CodeBlockLine } from "./Line" import { ApiAuthType, ApiDataOptions, ApiMethod } from "types" +// @ts-expect-error can't install the types package because it doesn't support React v19 import { CSSTransition } from "react-transition-group" import { useCollapsibleCodeLines } from "../.." import { HighlightProps as CollapsibleHighlightProps } from "@/hooks" @@ -363,6 +364,7 @@ export const CodeBlock = ({ ...actionsProps, inHeader: true, }} + hideActions={hasTabs} /> )}
        { const { colorMode } = useColorMode() + + const isCodeBlock = ( + node: React.ReactNode + ): node is + | React.ReactElement> + | React.ReactPortal => { + if (!React.isValidElement(node)) { + return false + } + + if (node.type === "pre") { + return true + } + + const typedProps = node.props as Record + + return "source" in typedProps + } + + const getCodeBlockProps = ( + codeBlock: React.ReactElement< + unknown, + string | React.JSXElementConstructor + > + ): CodeBlockProps | undefined => { + if (typeof codeBlock.props !== "object" || !codeBlock.props) { + return undefined + } + + if ("source" in codeBlock.props) { + return codeBlock.props as CodeBlockProps + } + + if ( + "children" in codeBlock.props && + typeof codeBlock.props.children === "object" && + codeBlock.props.children + ) { + return getCodeBlockProps( + codeBlock.props.children as React.ReactElement< + unknown, + string | React.JSXElementConstructor + > + ) + } + + return undefined + } + const tabs: CodeTab[] = useMemo(() => { const tempTabs: CodeTab[] = [] Children.forEach(children, (child) => { + if (!React.isValidElement(child)) { + return + } + const typedChildProps = child.props as CodeTab if ( !React.isValidElement(child) || - !child.props.label || - !child.props.value || - !React.isValidElement(child.props.children) + !typedChildProps.label || + !typedChildProps.value || + !React.isValidElement(typedChildProps.children) ) { return } - // extract child code block - const codeBlock = - child.props.children.type === "pre" && - React.isValidElement(child.props.children.props.children) - ? child.props.children.props.children - : child.props.children + const codeBlock: React.ReactNode = isCodeBlock(typedChildProps.children) + ? typedChildProps.children + : undefined + + if (!codeBlock) { + return + } + + const codeBlockProps = codeBlock.props as CodeBlockProps + + const modifiedProps: CodeBlockProps = { + ...(getCodeBlockProps(codeBlock) || { + source: "", + }), + badgeLabel: undefined, + hasTabs: true, + className: clsx("!my-0", codeBlockProps.className), + } tempTabs.push({ - label: child.props.label, - value: child.props.value, - codeProps: codeBlock.props, + label: typedChildProps.label, + value: typedChildProps.value, + codeProps: modifiedProps, codeBlock: { ...codeBlock, props: { - ...codeBlock.props, - badgeLabel: undefined, - hasTabs: true, - className: clsx("!my-0", codeBlock.props.className), + ...codeBlockProps, + children: { + ...(typeof codeBlockProps.children === "object" + ? codeBlockProps.children + : {}), + props: modifiedProps, + }, }, }, }) @@ -188,7 +257,7 @@ export const CodeTabs = ({ return ( tabRefs.push(tabButton) @@ -197,7 +266,7 @@ export const CodeTabs = ({ isSelected={ !selectedTab ? index === 0 - : selectedTab.value === child.props.value + : selectedTab.value === (child.props as CodeTab).value } /> ) diff --git a/www/packages/docs-ui/src/components/Details/Summary/index.tsx b/www/packages/docs-ui/src/components/Details/Summary/index.tsx index 226c09641ec33..3a45282c4c261 100644 --- a/www/packages/docs-ui/src/components/Details/Summary/index.tsx +++ b/www/packages/docs-ui/src/components/Details/Summary/index.tsx @@ -34,7 +34,7 @@ export const DetailsSummary = ({ expandable && "cursor-pointer", !expandable && "border-medusa-border-base border-y border-solid border-x-0", - (expandable || badge) && "gap-0.5", + (expandable || badge !== undefined) && "gap-0.5", "no-marker", className )} diff --git a/www/packages/docs-ui/src/components/Details/index.tsx b/www/packages/docs-ui/src/components/Details/index.tsx index e528ac5f34fed..97b6499c3931f 100644 --- a/www/packages/docs-ui/src/components/Details/index.tsx +++ b/www/packages/docs-ui/src/components/Details/index.tsx @@ -3,7 +3,7 @@ import React, { Suspense, cloneElement, useRef, useState } from "react" import { Loading } from "@/components" import clsx from "clsx" -import { DetailsSummary } from "./Summary" +import { DetailsSummary, DetailsSummaryProps } from "./Summary" import { useCollapsible } from "../../hooks" export type DetailsProps = { @@ -22,12 +22,14 @@ export const Details = ({ ...props }: DetailsProps) => { const [open, setOpen] = useState(openInitial) + const ref = useRef(null) + const childrenWrapperRef = useRef(null) const { getCollapsibleElms, setCollapsed } = useCollapsible({ initialValue: !openInitial, heightAnimation, onClose: () => setOpen(false), + childrenRef: childrenWrapperRef, }) - const ref = useRef(null) const handleToggle = (e: React.MouseEvent) => { const targetElm = e.target as HTMLElement @@ -77,13 +79,19 @@ export const Details = ({ /> )} {summaryElm && - cloneElement(summaryElm as React.ReactElement, { - open, - onClick: handleToggle, - })} + cloneElement( + summaryElm as React.ReactElement< + DetailsSummaryProps, + React.FunctionComponent + >, + { + open, + onClick: handleToggle, + } + )} {getCollapsibleElms( }> - {children} +
        {children}
        )} diff --git a/www/packages/docs-ui/src/components/Feedback/index.tsx b/www/packages/docs-ui/src/components/Feedback/index.tsx index 0d84f26dca3d6..9672c2c0a4126 100644 --- a/www/packages/docs-ui/src/components/Feedback/index.tsx +++ b/www/packages/docs-ui/src/components/Feedback/index.tsx @@ -1,6 +1,7 @@ "use client" import React, { useRef, useState } from "react" +// @ts-expect-error can't install the types package because it doesn't support React v19 import { CSSTransition, SwitchTransition } from "react-transition-group" import { Solutions } from "./Solutions" import { ExtraData, useAnalytics } from "@/providers/Analytics" @@ -65,11 +66,11 @@ export const Feedback = ({ const [medusaVersion, setMedusaVersion] = useState("") const [errorFix, setErrorFix] = useState("") const [contactInfo, setContactInfo] = useState("") - const nodeRef: React.RefObject = submittedFeedback + const nodeRef = submittedFeedback ? inlineMessageRef : showForm - ? inlineQuestionRef - : inlineFeedbackRef + ? inlineQuestionRef + : inlineFeedbackRef const { loaded, track } = useAnalytics() function handleFeedback(e: React.MouseEvent) { @@ -132,12 +133,12 @@ export const Feedback = ({ showForm ? "show_form" : !submittedFeedback - ? "feedback" - : "submitted_feedback" + ? "feedback" + : "submitted_feedback" } nodeRef={nodeRef} timeout={300} - addEndListener={(done) => { + addEndListener={(done: () => void) => { nodeRef.current?.addEventListener("transitionend", done, false) }} classNames={{ diff --git a/www/packages/docs-ui/src/components/Heading/H2/index.tsx b/www/packages/docs-ui/src/components/Heading/H2/index.tsx index e285c0afea82d..9d3273562e630 100644 --- a/www/packages/docs-ui/src/components/Heading/H2/index.tsx +++ b/www/packages/docs-ui/src/components/Heading/H2/index.tsx @@ -7,7 +7,7 @@ import { useIsBrowser } from "../../../providers" type H2Props = React.HTMLAttributes & { id?: string - passRef?: React.RefObject + passRef?: React.RefObject } export const H2 = ({ className, children, passRef, ...props }: H2Props) => { diff --git a/www/packages/docs-ui/src/components/LearningPath/Finish/index.tsx b/www/packages/docs-ui/src/components/LearningPath/Finish/index.tsx index 8ee3defae63fe..78ab63019a3e6 100644 --- a/www/packages/docs-ui/src/components/LearningPath/Finish/index.tsx +++ b/www/packages/docs-ui/src/components/LearningPath/Finish/index.tsx @@ -32,7 +32,7 @@ export const LearningPathFinish = ({ )} {type === "custom" && ( - {step.descriptionJSX} + {step.descriptionJSX as React.ReactNode} )} diff --git a/www/packages/docs-ui/src/components/LearningPath/Steps/index.tsx b/www/packages/docs-ui/src/components/LearningPath/Steps/index.tsx index fa64f39aa7c32..929752a2424ea 100644 --- a/www/packages/docs-ui/src/components/LearningPath/Steps/index.tsx +++ b/www/packages/docs-ui/src/components/LearningPath/Steps/index.tsx @@ -5,6 +5,7 @@ import clsx from "clsx" import { IconCircleDottedLine } from "@/components/Icons" import { CheckCircleSolid, CircleMiniSolid, ListBullet } from "@medusajs/icons" import { Badge, Button, Link } from "@/components" +// @ts-expect-error can't install the types package because it doesn't support React v19 import { CSSTransition, SwitchTransition } from "react-transition-group" type LearningPathStepsProps = { @@ -17,7 +18,7 @@ export const LearningPathSteps = ({ ...rest }: LearningPathStepsProps) => { const [collapsed, setCollapsed] = useState(false) const stepsRef = useRef(null) const buttonRef = useRef(null) - const nodeRef: React.RefObject = collapsed ? buttonRef : stepsRef + const nodeRef = collapsed ? buttonRef : stepsRef const handleScroll = useCallback(() => { if (window.scrollY > 100 && !collapsed) { @@ -51,7 +52,7 @@ export const LearningPathSteps = ({ ...rest }: LearningPathStepsProps) => { key={collapsed ? "show_path" : "show_button"} nodeRef={nodeRef} timeout={300} - addEndListener={(done) => { + addEndListener={(done: () => void) => { nodeRef.current?.addEventListener("transitionend", done, false) }} classNames={{ @@ -120,7 +121,8 @@ export const LearningPathSteps = ({ ...rest }: LearningPathStepsProps) => { "text-medium text-ui-fg-subtle mt-docs_1" )} > - {step.descriptionJSX ?? step.description} + {(step.descriptionJSX as React.ReactNode) ?? + step.description}
        )} diff --git a/www/packages/docs-ui/src/components/MainNav/DesktopMenu/index.tsx b/www/packages/docs-ui/src/components/MainNav/DesktopMenu/index.tsx index baca99ef5e7d6..0de1d7f74886f 100644 --- a/www/packages/docs-ui/src/components/MainNav/DesktopMenu/index.tsx +++ b/www/packages/docs-ui/src/components/MainNav/DesktopMenu/index.tsx @@ -23,7 +23,7 @@ import { MenuItem } from "types" export const MainNavDesktopMenu = () => { const [isOpen, setIsOpen] = useState(false) const { setDesktopSidebarOpen, isSidebarShown } = useSidebar() - const ref = useRef(null) + const ref = useRef(null) useClickOutside({ elmRef: ref, diff --git a/www/packages/docs-ui/src/components/MainNav/MobileMenu/index.tsx b/www/packages/docs-ui/src/components/MainNav/MobileMenu/index.tsx index f4cfe5c8f89f1..01bf65b08729d 100644 --- a/www/packages/docs-ui/src/components/MainNav/MobileMenu/index.tsx +++ b/www/packages/docs-ui/src/components/MainNav/MobileMenu/index.tsx @@ -5,6 +5,7 @@ import { Button } from "../../Button" import { ArrowUturnLeft, BarsThree, XMark } from "@medusajs/icons" import clsx from "clsx" import { MenuItem } from "types" +// @ts-expect-error can't install the types package because it doesn't support React v19 import { CSSTransition, SwitchTransition } from "react-transition-group" import { MainNavMobileMainMenu } from "./Main" import { MainNavMobileSubMenu } from "./SubMenu" diff --git a/www/packages/docs-ui/src/components/MainNav/Version/index.tsx b/www/packages/docs-ui/src/components/MainNav/Version/index.tsx index f9e4380aa19f5..b4e37c81a5ce9 100644 --- a/www/packages/docs-ui/src/components/MainNav/Version/index.tsx +++ b/www/packages/docs-ui/src/components/MainNav/Version/index.tsx @@ -1,12 +1,12 @@ "use state" -import React, { useEffect, useMemo, useState } from "react" +import React, { useEffect, useState } from "react" import { useIsBrowser, useSiteConfig } from "../../../providers" import Link from "next/link" import { Tooltip } from "../../Tooltip" import clsx from "clsx" -const LOCAL_STORAGE_SUFFIX = "-seen" +const LOCAL_STORAGE_SUFFIX = "last-version" export const MainNavVersion = () => { const { @@ -14,20 +14,17 @@ export const MainNavVersion = () => { } = useSiteConfig() const [showNewBadge, setShowNewBadge] = useState(false) const { isBrowser } = useIsBrowser() - const localStorageKey = useMemo( - () => `${version.number}${LOCAL_STORAGE_SUFFIX}`, - [version] - ) useEffect(() => { if (!isBrowser) { return } - if (!localStorage.getItem(localStorageKey)) { + const storedVersion = localStorage.getItem(LOCAL_STORAGE_SUFFIX) + if (storedVersion !== version.number) { setShowNewBadge(true) } - }, [isBrowser, localStorageKey]) + }, [isBrowser]) const afterHover = () => { if (!showNewBadge) { @@ -35,7 +32,7 @@ export const MainNavVersion = () => { } setShowNewBadge(false) - localStorage.setItem(localStorageKey, "true") + localStorage.setItem(LOCAL_STORAGE_SUFFIX, version.number) } return ( diff --git a/www/packages/docs-ui/src/components/MarkdownContent/index.tsx b/www/packages/docs-ui/src/components/MarkdownContent/index.tsx index 99ed030dde357..70692b0b8169d 100644 --- a/www/packages/docs-ui/src/components/MarkdownContent/index.tsx +++ b/www/packages/docs-ui/src/components/MarkdownContent/index.tsx @@ -1,15 +1,13 @@ import React from "react" -import ReactMarkdown from "react-markdown" -import { ReactMarkdownOptions } from "react-markdown/lib/react-markdown" +import ReactMarkdown, { + Options as ReactMarkdownOptions, + Components, +} from "react-markdown" import { MDXComponents, Link } from "@/components" import clsx from "clsx" -import { NormalComponents } from "react-markdown/lib/complex-types" -import { SpecialComponents } from "react-markdown/lib/ast-to-react" export type MarkdownContentProps = ReactMarkdownOptions & { - components?: Partial< - Omit & SpecialComponents - > + components?: Partial | null | undefined } export const MarkdownContent = ({ @@ -18,6 +16,7 @@ export const MarkdownContent = ({ ...props }: MarkdownContentProps) => { return ( + // @ts-expect-error React v19 doesn't see this type as a React element { isZoomed ? `100vh` : matchedRegex && matchedRegex.length >= 1 - ? `${matchedRegex[1]}px` - : "100%" + ? `${matchedRegex[1]}px` + : "100%" } /> diff --git a/www/packages/docs-ui/src/components/Modal/Footer/index.tsx b/www/packages/docs-ui/src/components/Modal/Footer/index.tsx index 8aaa430731927..63eea76130d84 100644 --- a/www/packages/docs-ui/src/components/Modal/Footer/index.tsx +++ b/www/packages/docs-ui/src/components/Modal/Footer/index.tsx @@ -22,9 +22,7 @@ export const ModalFooter = ({ className )} > - {actions?.map((action, index) => ( -