@wix/auto_sdk_restaurants_items 1.0.26 → 1.0.28

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (36) hide show
  1. package/build/cjs/index.js.map +1 -0
  2. package/build/es/index.mjs.map +1 -0
  3. package/build/es/package.json +3 -0
  4. package/build/internal/cjs/index.js.map +1 -0
  5. package/build/internal/cjs/meta.js.map +1 -0
  6. package/build/internal/es/index.mjs.map +1 -0
  7. package/build/internal/es/meta.mjs.map +1 -0
  8. package/package.json +10 -10
  9. package/build/index.js.map +0 -1
  10. package/build/index.mjs.map +0 -1
  11. package/build/internal/index.js.map +0 -1
  12. package/build/internal/index.mjs.map +0 -1
  13. package/build/meta.js.map +0 -1
  14. package/build/meta.mjs.map +0 -1
  15. /package/build/{index.d.ts → cjs/index.d.ts} +0 -0
  16. /package/build/{index.js → cjs/index.js} +0 -0
  17. /package/build/{internal → cjs}/meta.d.ts +0 -0
  18. /package/build/{internal → cjs}/meta.js +0 -0
  19. /package/build/{internal → cjs}/meta.js.map +0 -0
  20. /package/build/{internal → cjs}/restaurants-menus-v1-item-items.universal-B4SE2I8S.d.ts +0 -0
  21. /package/build/{index.d.mts → es/index.d.mts} +0 -0
  22. /package/build/{index.mjs → es/index.mjs} +0 -0
  23. /package/build/{internal → es}/meta.d.mts +0 -0
  24. /package/build/{internal → es}/meta.mjs +0 -0
  25. /package/build/{internal → es}/meta.mjs.map +0 -0
  26. /package/build/{internal → es}/restaurants-menus-v1-item-items.universal-B4SE2I8S.d.mts +0 -0
  27. /package/build/internal/{index.d.ts → cjs/index.d.ts} +0 -0
  28. /package/build/internal/{index.js → cjs/index.js} +0 -0
  29. /package/build/{meta.d.ts → internal/cjs/meta.d.ts} +0 -0
  30. /package/build/{meta.js → internal/cjs/meta.js} +0 -0
  31. /package/build/{restaurants-menus-v1-item-items.universal-B4SE2I8S.d.ts → internal/cjs/restaurants-menus-v1-item-items.universal-B4SE2I8S.d.ts} +0 -0
  32. /package/build/internal/{index.d.mts → es/index.d.mts} +0 -0
  33. /package/build/internal/{index.mjs → es/index.mjs} +0 -0
  34. /package/build/{meta.d.mts → internal/es/meta.d.mts} +0 -0
  35. /package/build/{meta.mjs → internal/es/meta.mjs} +0 -0
  36. /package/build/{restaurants-menus-v1-item-items.universal-B4SE2I8S.d.mts → internal/es/restaurants-menus-v1-item-items.universal-B4SE2I8S.d.mts} +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../index.ts","../../src/restaurants-menus-v1-item-items.public.ts","../../src/restaurants-menus-v1-item-items.universal.ts","../../src/restaurants-menus-v1-item-items.http.ts","../../src/restaurants-menus-v1-item-items.context.ts"],"sourcesContent":["export * from './src/restaurants-menus-v1-item-items.context.js';\n","import { renameKeysFromRESTResponseToSDKResponse } from '@wix/sdk-runtime/rename-all-nested-keys';\nimport { transformRESTImageToSDKImage } from '@wix/sdk-runtime/transformations/image';\nimport { transformRESTTimestampToSDKTimestamp } from '@wix/sdk-runtime/transformations/timestamp';\nimport { transformPaths } from '@wix/sdk-runtime/transformations/transform-paths';\nimport { EventDefinition, HttpClient, NonNullablePaths } from '@wix/sdk-types';\nimport {\n BulkCreateItemsOptions,\n BulkCreateItemsResponse,\n BulkDeleteItemsResponse,\n BulkUpdateItemOptions,\n BulkUpdateItemResponse,\n CountItemsOptions,\n CountItemsResponse,\n DuplicateItemOptions,\n DuplicateItemResponse,\n Item,\n ItemCreatedEnvelope,\n ItemDeletedEnvelope,\n ItemSearch,\n ItemUpdatedEnvelope,\n ItemsQueryBuilder,\n ListItemsOptions,\n ListItemsResponse,\n MaskedItem,\n SearchItemsResponse,\n UpdateItem,\n bulkCreateItems as universalBulkCreateItems,\n bulkDeleteItems as universalBulkDeleteItems,\n bulkUpdateItem as universalBulkUpdateItem,\n countItems as universalCountItems,\n createItem as universalCreateItem,\n deleteItem as universalDeleteItem,\n duplicateItem as universalDuplicateItem,\n getItem as universalGetItem,\n listItems as universalListItems,\n queryItems as universalQueryItems,\n searchItems as universalSearchItems,\n updateItem as universalUpdateItem,\n} from './restaurants-menus-v1-item-items.universal.js';\n\nexport const __metadata = { PACKAGE_NAME: '@wix/restaurants' };\n\nexport function duplicateItem(httpClient: HttpClient): DuplicateItemSignature {\n return (_id: string, options?: DuplicateItemOptions) =>\n universalDuplicateItem(\n _id,\n options,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface DuplicateItemSignature {\n /** @param - Item id to be duplicated. */\n (\n _id: string,\n options?: DuplicateItemOptions | undefined\n ): Promise<DuplicateItemResponse>;\n}\n\nexport function createItem(httpClient: HttpClient): CreateItemSignature {\n return (item: NonNullablePaths<Item, `modifierGroups.${number}._id`>) =>\n universalCreateItem(\n item,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface CreateItemSignature {\n /**\n * > **Note:** The Item API only works with the Wix Restaurants Menus (New) app. Make sure you have installed this app from the [Wix App Market](https://www.wix.com/app-market/wix-restaurants-menus-new).\n *\n * Creates an item.\n *\n * To create multiple items at once, use [Bulk Create Items](https://dev.wix.com/docs/rest/business-solutions/restaurants/menus/item/bulk-create-items).\n * @param - Item details.\n * @returns Item.\n */\n (item: Item): Promise<Item>;\n}\n\nexport function bulkCreateItems(\n httpClient: HttpClient\n): BulkCreateItemsSignature {\n return (\n items: NonNullablePaths<Item, `modifierGroups.${number}._id`>[],\n options?: BulkCreateItemsOptions\n ) =>\n universalBulkCreateItems(\n items,\n options,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface BulkCreateItemsSignature {\n /**\n * > **Note:** The Items API only works with the Wix Restaurants Menus (New) app. Make sure you have installed this app from the [Wix App Market](https://www.wix.com/app-market/wix-restaurants-menus-new).\n *\n * Creates multiple items at once.\n * @param - Items details.\n */\n (\n items: Item[],\n options?: BulkCreateItemsOptions | undefined\n ): Promise<BulkCreateItemsResponse>;\n}\n\nexport function getItem(httpClient: HttpClient): GetItemSignature {\n return (itemId: string) =>\n universalGetItem(\n itemId,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface GetItemSignature {\n /**\n * > **Note:** The Item API only works with the Wix Restaurants Menus (New) app. Make sure you have installed this app from the [Wix App Market](https://www.wix.com/app-market/wix-restaurants-menus-new).\n *\n * Retrieves an item by ID.\n * @param - Item ID.\n * @returns Item.\n */\n (itemId: string): Promise<Item>;\n}\n\nexport function listItems(httpClient: HttpClient): ListItemsSignature {\n return (options?: ListItemsOptions) =>\n universalListItems(\n options,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface ListItemsSignature {\n /**\n * > **Note:** The Item API only works with the Wix Restaurants Menus (New) app. Make sure you have installed this app from the [Wix App Market](https://www.wix.com/app-market/wix-restaurants-menus-new).\n *\n * Retrieves a list of up to 500 items.\n */\n (options?: ListItemsOptions | undefined): Promise<ListItemsResponse>;\n}\n\nexport function queryItems(httpClient: HttpClient): QueryItemsSignature {\n return () =>\n universalQueryItems(\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface QueryItemsSignature {\n /**\n * Creates a query to retrieve a list of items.\n *\n * The `queryItems()` function builds a query to retrieve a list of items and returns a `ItemsQueryBuilder` object.\n *\n * The returned object contains the query definition, which is used to run the query using the [`find()`](/items/items-query-builder/find) function.\n *\n * You can refine the query by chaining `ItemsQueryBuilder` functions onto the query. `ItemsQueryBuilder` functions enable you to filter, sort, and control the results that `queryItems()` returns.\n *\n * `queryItems()` runs with the following `ItemsQueryBuilder` defaults, which you can override:\n *\n * * [`limit(500)`](/items/items-query-builder/limit)\n *\n * The following `ItemsQueryBuilder` functions are supported for `queryItems()`. For a full description of the item object, see the object returned for the [`items`](/items/items-query-result/items) property in `ItemsQueryResult`.\n */\n (): ItemsQueryBuilder;\n}\n\nexport function searchItems(httpClient: HttpClient): SearchItemsSignature {\n return (search: ItemSearch) =>\n universalSearchItems(\n search,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface SearchItemsSignature {\n /**\n * > **Note:** The Item API only works with the Wix Restaurants Menus (New) app. Make sure you have installed this app from the [Wix App Market](https://www.wix.com/app-market/wix-restaurants-menus-new).\n *\n * Retrieves a list of items given the provided search options. Up to 500 items can be returned per request.\n * @param - Search options.\n */\n (search: ItemSearch): Promise<SearchItemsResponse>;\n}\n\nexport function countItems(httpClient: HttpClient): CountItemsSignature {\n return (options?: CountItemsOptions) =>\n universalCountItems(\n options,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface CountItemsSignature {\n /**\n * > **Note:** The Item API only works with the Wix Restaurants Menus (New) app. Make sure you have installed this app from the [Wix App Market](https://www.wix.com/app-market/wix-restaurants-menus-new).\n *\n * Retrieves the number of items that match a specified filter.\n *\n * If a filter isn't passed in the request, the endpoint returns the count of all items.\n */\n (options?: CountItemsOptions | undefined): Promise<CountItemsResponse>;\n}\n\nexport function updateItem(httpClient: HttpClient): UpdateItemSignature {\n return (\n _id: string,\n item: NonNullablePaths<\n UpdateItem,\n `modifierGroups.${number}._id` | `revision`\n >\n ) =>\n universalUpdateItem(\n _id,\n item,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface UpdateItemSignature {\n /**\n * > **Note:** The Item API only works with the Wix Restaurants Menus (New) app. Make sure you have installed this app from the [Wix App Market](https://www.wix.com/app-market/wix-restaurants-menus-new).\n *\n * Updates an item.\n *\n * To update multiple items at once, use [Bulk Update Item](https://dev.wix.com/docs/rest/business-solutions/restaurants/menus/item/bulk-update-item)\n *\n * Each time an item is updated, its revision increments by 1. The existing revision must be included when updating the item. This ensures you're working with the latest item information, and it prevents unintended overwrites.\n * @param - Item ID.\n * @returns Updated item.\n */\n (_id: string, item: UpdateItem): Promise<Item>;\n}\n\nexport function bulkUpdateItem(\n httpClient: HttpClient\n): BulkUpdateItemSignature {\n return (\n items: NonNullablePaths<\n MaskedItem,\n `item._id` | `item.modifierGroups.${number}._id` | `item.revision`\n >[],\n options?: BulkUpdateItemOptions\n ) =>\n universalBulkUpdateItem(\n items,\n options,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface BulkUpdateItemSignature {\n /**\n * > **Note:** The Item API only works with the Wix Restaurants Menus (New) app. Make sure you have installed this app from the [Wix App Market](https://www.wix.com/app-market/wix-restaurants-menus-new).\n *\n * Updates up to 100 multiple items at once.\n *\n * Each time an item is updated, its revision increments by 1. The existing revision must be included when updating item. This ensures you're working with the latest item information, and it prevents unintended overwrites.\n * @param - Items to update.\n */\n (\n items: MaskedItem[],\n options?: BulkUpdateItemOptions | undefined\n ): Promise<BulkUpdateItemResponse>;\n}\n\nexport function deleteItem(httpClient: HttpClient): DeleteItemSignature {\n return (itemId: string) =>\n universalDeleteItem(\n itemId,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface DeleteItemSignature {\n /**\n * > **Note:** The Item API only works with the Wix Restaurants Menus (New) app. Make sure you have installed this app from the [Wix App Market](https://www.wix.com/app-market/wix-restaurants-menus-new).\n *\n * Deletes an item.\n * @param - Item ID.\n */\n (itemId: string): Promise<void>;\n}\n\nexport function bulkDeleteItems(\n httpClient: HttpClient\n): BulkDeleteItemsSignature {\n return (ids: string[]) =>\n universalBulkDeleteItems(\n ids,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface BulkDeleteItemsSignature {\n /**\n * > **Note:** The Item API only works with the Wix Restaurants Menus (New) app. Make sure you have installed this app from the [Wix App Market](https://www.wix.com/app-market/wix-restaurants-menus-new).\n *\n * Deletes multiple items at once.\n * @param - Item IDs.\n */\n (ids: string[]): Promise<BulkDeleteItemsResponse>;\n}\n\nexport const onItemCreated = EventDefinition(\n 'wix.restaurants.menus.v1.item_created',\n true,\n (event: ItemCreatedEnvelope) =>\n renameKeysFromRESTResponseToSDKResponse(\n transformPaths(event, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: [\n { path: 'entity.createdDate' },\n { path: 'entity.updatedDate' },\n { path: 'metadata.eventTime' },\n ],\n },\n {\n transformFn: transformRESTImageToSDKImage,\n paths: [\n { path: 'entity.image' },\n { path: 'entity.additionalImages', isRepeated: true },\n ],\n },\n ])\n )\n)<ItemCreatedEnvelope>();\nexport const onItemDeleted = EventDefinition(\n 'wix.restaurants.menus.v1.item_deleted',\n true,\n (event: ItemDeletedEnvelope) =>\n renameKeysFromRESTResponseToSDKResponse(\n transformPaths(event, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: [\n { path: 'undefined.createdDate' },\n { path: 'undefined.updatedDate' },\n { path: 'metadata.eventTime' },\n ],\n },\n {\n transformFn: transformRESTImageToSDKImage,\n paths: [\n { path: 'undefined.image' },\n { path: 'undefined.additionalImages', isRepeated: true },\n ],\n },\n ])\n )\n)<ItemDeletedEnvelope>();\nexport const onItemUpdated = EventDefinition(\n 'wix.restaurants.menus.v1.item_updated',\n true,\n (event: ItemUpdatedEnvelope) =>\n renameKeysFromRESTResponseToSDKResponse(\n transformPaths(event, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: [\n { path: 'entity.createdDate' },\n { path: 'entity.updatedDate' },\n { path: 'metadata.eventTime' },\n ],\n },\n {\n transformFn: transformRESTImageToSDKImage,\n paths: [\n { path: 'entity.image' },\n { path: 'entity.additionalImages', isRepeated: true },\n ],\n },\n ])\n )\n)<ItemUpdatedEnvelope>();\n\nexport {\n ActionEvent,\n Address,\n AddressHint,\n Aggregation,\n AggregationData,\n AggregationKindOneOf,\n AggregationResults,\n AggregationResultsResultOneOf,\n AggregationType,\n App,\n ApplicationError,\n BaseEventMetadata,\n BulkActionMetadata,\n BulkCreateItemResult,\n BulkCreateItemsOptions,\n BulkCreateItemsRequest,\n BulkCreateItemsResponse,\n BulkDeleteItemResult,\n BulkDeleteItemsRequest,\n BulkDeleteItemsResponse,\n BulkItemResult,\n BulkUpdateBusinessLocationIdsPerEntityRequest,\n BulkUpdateBusinessLocationIdsPerEntityResponse,\n BulkUpdateBusinessLocationIdsRequest,\n BulkUpdateBusinessLocationIdsResponse,\n BulkUpdateBusinessLocationIdsResponseBulkItemResult,\n BulkUpdateItemOptions,\n BulkUpdateItemRequest,\n BulkUpdateItemResponse,\n BulkUpdateItemResponseBulkItemResult,\n BusinessSchedule,\n Categories,\n ChangeContext,\n ChangeContextPayloadOneOf,\n CloneItemsRequest,\n CloneItemsResponse,\n ConsentPolicy,\n CountItemsOptions,\n CountItemsRequest,\n CountItemsResponse,\n CreateItemRequest,\n CreateItemResponse,\n CursorPaging,\n CursorPagingMetadata,\n CursorQuery,\n CursorQueryPagingMethodOneOf,\n CursorSearch,\n CursorSearchPagingMethodOneOf,\n Cursors,\n CustomTag,\n DayOfWeek,\n DeleteByFilterOperation,\n DeleteByIdsOperation,\n DeleteItemRequest,\n DeleteItemResponse,\n DeleteLocationIdsFromModifierGroups,\n DeleteLocationIdsFromVariants,\n DocumentImage,\n DocumentPayload,\n DocumentUpdateOperation,\n DomainEvent,\n DomainEventBodyOneOf,\n DuplicateItemOptions,\n DuplicateItemRequest,\n DuplicateItemResponse,\n Empty,\n EntityCreatedEvent,\n EntityDeletedEvent,\n EntityUpdatedEvent,\n Enum,\n EventMetadata,\n ExtendedFields,\n File,\n GeoCoordinates,\n GetItemRequest,\n GetItemResponse,\n IdentificationData,\n IdentificationDataIdOneOf,\n IndexDocument,\n InvalidateCache,\n InvalidateCacheGetByOneOf,\n Item,\n ItemCreatedEnvelope,\n ItemDeletedEnvelope,\n ItemIdLocationIds,\n ItemMetadata,\n ItemPricingOneOf,\n ItemSearchSpec,\n ItemUpdatedEnvelope,\n ItemsQueryBuilder,\n ItemsQueryResult,\n Label,\n ListItemsOptions,\n ListItemsRequest,\n ListItemsResponse,\n Locale,\n MaskedItem,\n MessageEnvelope,\n Mode,\n ModifierGroup,\n Multilingual,\n OrderSettings,\n Page,\n PlacementType,\n PriceInfo,\n PriceVariant,\n PriceVariants,\n Properties,\n PropertiesChange,\n QueryItemsRequest,\n QueryItemsResponse,\n RangeAggregation,\n RangeAggregationResult,\n RangeBucket,\n RangeResults,\n ResolutionMethod,\n RestoreInfo,\n ScalarAggregation,\n ScalarResult,\n ScalarType,\n SearchDetails,\n SearchIndexingNotification,\n SearchItemsRequest,\n SearchItemsResponse,\n SiteCloned,\n SiteCreated,\n SitePropertiesEvent,\n SitePropertiesNotification,\n SortDirection,\n SortOrder,\n SortType,\n Sorting,\n SpecialHourPeriod,\n State,\n SupportedLanguage,\n TimePeriod,\n Translation,\n URI,\n UpdateByFilterOperation,\n UpdateDocumentsEvent,\n UpdateDocumentsEventOperationOneOf,\n UpdateExistingOperation,\n UpdateItem,\n UpdateItemRequest,\n UpdateItemResponse,\n ValueAggregation,\n ValueAggregationResult,\n ValueResults,\n WebhookIdentityType,\n} from './restaurants-menus-v1-item-items.universal.js';\n","import { transformError as sdkTransformError } from '@wix/sdk-runtime/transform-error';\nimport { queryBuilder } from '@wix/sdk-runtime/query-builder';\nimport {\n renameKeysFromSDKRequestToRESTRequest,\n renameKeysFromRESTResponseToSDKResponse,\n} from '@wix/sdk-runtime/rename-all-nested-keys';\nimport {\n HttpClient,\n HttpResponse,\n Search as SearchSdkType,\n NonNullablePaths,\n SearchSpec,\n} from '@wix/sdk-types';\nimport * as ambassadorWixRestaurantsMenusV1Item from './restaurants-menus-v1-item-items.http.js';\n// @ts-ignore\nimport { transformSDKImageToRESTImage } from '@wix/sdk-runtime/transformations/image';\nimport { transformRESTImageToSDKImage } from '@wix/sdk-runtime/transformations/image';\nimport { transformPaths } from '@wix/sdk-runtime/transformations/transform-paths';\n\nexport interface Item extends ItemPricingOneOf {\n /** Item price variants. */\n priceVariants?: PriceVariants;\n /** Item price info. */\n priceInfo?: PriceInfo;\n /**\n * Item ID.\n * @format GUID\n * @readonly\n */\n _id?: string | null;\n /**\n * Revision number, which increments by 1 each time the item is updated. To prevent conflicting changes, the current revision must be passed when updating the item. Ignored when creating a item.\n * @readonly\n */\n revision?: string | null;\n /**\n * Date and time the item was created.\n * @readonly\n */\n _createdDate?: Date | null;\n /**\n * Date and time the item was updated.\n * @readonly\n */\n _updatedDate?: Date | null;\n /**\n * Item name.\n * @minLength 1\n * @maxLength 200\n */\n name?: string;\n /**\n * Item description.\n * @maxLength 1500\n */\n description?: string | null;\n /** Main item image. */\n image?: string;\n /**\n * Additional item images.\n * @maxSize 15\n */\n additionalImages?: string[];\n /**\n * Item labels.\n * @maxSize 10\n */\n labels?: Label[];\n /** Whether the item is visible in the menu for site visitors. */\n visible?: boolean | null;\n /** Online order settings. */\n orderSettings?: OrderSettings;\n /**\n * Item modifier groups.\n * @maxSize 20\n */\n modifierGroups?: ModifierGroup[];\n /** Extended fields. */\n extendedFields?: ExtendedFields;\n /**\n * IDs of the business locations ([SDK](https://dev.wix.com/docs/sdk/backend-modules/restaurants/wix-restaurants-new/about-business-locations) | [REST](https://dev.wix.com/docs/rest/business-solutions/restaurants/wix-restaurants-new/about-business-locations)) where these items are available.\n * @maxSize 20\n * @format GUID\n * @readonly\n */\n businessLocationIds?: string[];\n}\n\n/** @oneof */\nexport interface ItemPricingOneOf {\n /** Item price variants. */\n priceVariants?: PriceVariants;\n /** Item price info. */\n priceInfo?: PriceInfo;\n}\n\nexport interface PriceVariants {\n /**\n * List of price variants.\n * @maxSize 50\n */\n variants?: PriceVariant[];\n}\n\nexport interface PriceVariant {\n /**\n * Price variant ID.\n * @format GUID\n */\n variantId?: string | null;\n /**\n * Price of a variant.\n * @decimalValue options { gte:0.00, maxScale:3 }\n * @deprecated Price of a variant.\n * @replacedBy pricing.price_variants.variants.price_info\n * @targetRemovalDate 2024-08-01\n */\n price?: string | null;\n /** Price info of a variant. */\n priceInfo?: PriceInfo;\n}\n\nexport interface PriceInfo {\n /**\n * Price.\n * @decimalValue options { gte:0.00, maxScale:3 }\n */\n price?: string;\n}\n\nexport interface Label {\n /**\n * Item label ID.\n * @format GUID\n */\n _id?: string;\n}\n\nexport interface OrderSettings {\n /**\n * Whether the item is in stock.\n * Default: `true`.\n */\n inStock?: boolean | null;\n /**\n * Whether a customer can add a special request when ordering this item.\n * Default: `true`.\n */\n acceptSpecialRequests?: boolean | null;\n}\n\nexport interface ModifierGroup {\n /**\n * Modifier group ID.\n * @format GUID\n */\n _id?: string | null;\n}\n\nexport interface ExtendedFields {\n /**\n * Extended field data. Each key corresponds to the namespace of the app that created the extended fields.\n * The value of each key is structured according to the schema defined when the extended fields were configured.\n *\n * You can only access fields for which you have the appropriate permissions.\n *\n * Learn more about [extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields).\n */\n namespaces?: Record<string, Record<string, any>>;\n}\n\nexport interface DuplicateItemRequest {\n /**\n * Item id to be duplicated.\n * @format GUID\n */\n _id: string;\n /**\n * Business location ids to duplicate the item to.\n * @format GUID\n * @maxSize 100\n */\n businessLocationIds?: string[] | null;\n}\n\nexport interface DuplicateItemResponse {\n /** @format GUID */\n itemId?: string[];\n}\n\nexport interface UpdateDocumentsEvent\n extends UpdateDocumentsEventOperationOneOf {\n /** insert/update documents */\n update?: DocumentUpdateOperation;\n /** delete by document ids */\n deleteByIds?: DeleteByIdsOperation;\n /** delete documents matching filter */\n deleteByFilter?: DeleteByFilterOperation;\n /** update documents matching filter */\n updateByFilter?: UpdateByFilterOperation;\n /** update only existing documents */\n updateExisting?: UpdateExistingOperation;\n /**\n * application which owns documents\n * @minLength 2\n */\n appDefId?: string | null;\n /**\n * type of the documents\n * @minLength 2\n */\n documentType?: string | null;\n /**\n * language of the documents\n * @minLength 2\n */\n language?: string | null;\n /**\n * site documents belong to\n * @minLength 2\n */\n msId?: string | null;\n}\n\n/** @oneof */\nexport interface UpdateDocumentsEventOperationOneOf {\n /** insert/update documents */\n update?: DocumentUpdateOperation;\n /** delete by document ids */\n deleteByIds?: DeleteByIdsOperation;\n /** delete documents matching filter */\n deleteByFilter?: DeleteByFilterOperation;\n /** update documents matching filter */\n updateByFilter?: UpdateByFilterOperation;\n /** update only existing documents */\n updateExisting?: UpdateExistingOperation;\n}\n\nexport interface DocumentUpdateOperation {\n /** documents to index or update */\n documents?: IndexDocument[];\n}\n\nexport interface IndexDocument {\n /** data bag with non-searchable fields (url, image) */\n payload?: DocumentPayload;\n /** what type of users should documents be visible to */\n exposure?: EnumWithLiterals;\n /** document with mandatory fields (id, title, description) and with fields specific to the type of the document */\n document?: Record<string, any> | null;\n /** what member groups is the document exposed to. Used only with GROUP_PROTECTED exposure */\n permittedMemberGroups?: string[];\n /** if true SEO is disabled for this document */\n seoHidden?: boolean | null;\n /** if true the page is a lightbox popup */\n isPopup?: boolean | null;\n}\n\nexport interface DocumentPayload {\n /** url of the page representing the document */\n url?: string | null;\n /** image which represents the document */\n documentImage?: DocumentImage;\n}\n\nexport interface DocumentImage {\n /** the name of the image */\n name?: string;\n /** the width of the image */\n width?: number;\n /** the height of the image */\n height?: number;\n}\n\nexport enum Enum {\n /** Default value. Means that permission not set */\n UNKNOWN = 'UNKNOWN',\n /** Protected exposure. Exposed to members and owners */\n PROTECTED = 'PROTECTED',\n /** Private exposure. Exposed to owners */\n PRIVATE = 'PRIVATE',\n /** Public exposure. Visible to everyone */\n PUBLIC = 'PUBLIC',\n /** Used for partial updates, to state that exposure is not changing */\n UNCHANGED = 'UNCHANGED',\n /** Protected to members of permitted groups and owners */\n GROUP_PROTECTED = 'GROUP_PROTECTED',\n}\n\n/** @enumType */\nexport type EnumWithLiterals =\n | Enum\n | 'UNKNOWN'\n | 'PROTECTED'\n | 'PRIVATE'\n | 'PUBLIC'\n | 'UNCHANGED'\n | 'GROUP_PROTECTED';\n\nexport interface DeleteByIdsOperation {\n /** ids of the documents to delete */\n documentIds?: string[];\n}\n\nexport interface DeleteByFilterOperation {\n /** documents matching this filter wil be deleted. only filterable documents defined in document_type can be used for filtering */\n filter?: Record<string, any> | null;\n}\n\nexport interface UpdateByFilterOperation {\n /** documents matching this filter will be updated */\n filter?: Record<string, any> | null;\n /** partial document to apply */\n document?: IndexDocument;\n}\n\nexport interface UpdateExistingOperation {\n /** documents to update */\n documents?: IndexDocument[];\n}\n\nexport interface DomainEvent extends DomainEventBodyOneOf {\n createdEvent?: EntityCreatedEvent;\n updatedEvent?: EntityUpdatedEvent;\n deletedEvent?: EntityDeletedEvent;\n actionEvent?: ActionEvent;\n /** Event ID. With this ID you can easily spot duplicated events and ignore them. */\n _id?: string;\n /**\n * Fully Qualified Domain Name of an entity. This is a unique identifier assigned to the API main business entities.\n * For example, `wix.stores.catalog.product`, `wix.bookings.session`, `wix.payments.transaction`.\n */\n entityFqdn?: string;\n /**\n * Event action name, placed at the top level to make it easier for users to dispatch messages.\n * For example: `created`/`updated`/`deleted`/`started`/`completed`/`email_opened`.\n */\n slug?: string;\n /** ID of the entity associated with the event. */\n entityId?: string;\n /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example, `2020-04-26T13:57:50.699Z`. */\n eventTime?: Date | null;\n /**\n * Whether the event was triggered as a result of a privacy regulation application\n * (for example, GDPR).\n */\n triggeredByAnonymizeRequest?: boolean | null;\n /** If present, indicates the action that triggered the event. */\n originatedFrom?: string | null;\n /**\n * A sequence number that indicates the order of updates to an entity. For example, if an entity was updated at 16:00 and then again at 16:01, the second update will always have a higher sequence number.\n * You can use this number to make sure you're handling updates in the right order. Just save the latest sequence number on your end and compare it to the one in each new message. If the new message has an older (lower) number, you can safely ignore it.\n */\n entityEventSequence?: string | null;\n}\n\n/** @oneof */\nexport interface DomainEventBodyOneOf {\n createdEvent?: EntityCreatedEvent;\n updatedEvent?: EntityUpdatedEvent;\n deletedEvent?: EntityDeletedEvent;\n actionEvent?: ActionEvent;\n}\n\nexport interface EntityCreatedEvent {\n entity?: string;\n}\n\nexport interface RestoreInfo {\n deletedDate?: Date | null;\n}\n\nexport interface EntityUpdatedEvent {\n /**\n * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n */\n currentEntity?: string;\n}\n\nexport interface EntityDeletedEvent {\n /** Entity that was deleted. */\n deletedEntity?: string | null;\n}\n\nexport interface ActionEvent {\n body?: string;\n}\n\nexport interface Empty {}\n\nexport interface SearchIndexingNotification {\n /** new state of indexing for the site specified in ms_id */\n indexState?: StateWithLiterals;\n /** type of the document the notification is targeted for. Applies to all types if not provided */\n documentType?: string | null;\n /** languaInternalDocumentUpdateByFilterOperationge the notification is targeted for. Applies to all languages if not provided */\n language?: string | null;\n /**\n * site for which notification is targeted\n * @minLength 2\n */\n msId?: string | null;\n}\n\nexport enum State {\n /** default state */\n Unknown = 'Unknown',\n /** metasite does not require site search indexing */\n Off = 'Off',\n /** metasite requires site search indexing */\n On = 'On',\n}\n\n/** @enumType */\nexport type StateWithLiterals = State | 'Unknown' | 'Off' | 'On';\n\n/** Encapsulates all details written to the Greyhound topic when a site's properties are updated. */\nexport interface SitePropertiesNotification {\n /** The site ID for which this update notification applies. */\n metasiteId?: string;\n /** The actual update event. */\n event?: SitePropertiesEvent;\n /**\n * A convenience set of mappings from the MetaSite ID to its constituent services.\n * @maxSize 500\n */\n translations?: Translation[];\n /** Context of the notification */\n changeContext?: ChangeContext;\n}\n\n/** The actual update event for a particular notification. */\nexport interface SitePropertiesEvent {\n /** Version of the site's properties represented by this update. */\n version?: number;\n /** Set of properties that were updated - corresponds to the fields in \"properties\". */\n fields?: string[];\n /** Updated properties. */\n properties?: Properties;\n}\n\nexport interface Properties {\n /** Site categories. */\n categories?: Categories;\n /** Site locale. */\n locale?: Locale;\n /**\n * Site language.\n *\n * Two-letter language code in [ISO 639-1 alpha-2](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes) format.\n */\n language?: string | null;\n /**\n * Site currency format used to bill customers.\n *\n * Three-letter currency code in [ISO-4217 alphabetic](https://en.wikipedia.org/wiki/ISO_4217#Active_codes) format.\n */\n paymentCurrency?: string | null;\n /** Timezone in `America/New_York` format. */\n timeZone?: string | null;\n /** Email address. */\n email?: string | null;\n /** Phone number. */\n phone?: string | null;\n /** Fax number. */\n fax?: string | null;\n /** Address. */\n address?: Address;\n /** Site display name. */\n siteDisplayName?: string | null;\n /** Business name. */\n businessName?: string | null;\n /** Path to the site's logo in Wix Media (without Wix Media base URL). */\n logo?: string | null;\n /** Site description. */\n description?: string | null;\n /**\n * Business schedule. Regular and exceptional time periods when the business is open or the service is available.\n *\n * __Note:__ Not supported by Wix Bookings.\n */\n businessSchedule?: BusinessSchedule;\n /** Supported languages of a site and the primary language. */\n multilingual?: Multilingual;\n /** Cookie policy the Wix user defined for their site (before the site visitor interacts with/limits it). */\n consentPolicy?: ConsentPolicy;\n /**\n * Supported values: `FITNESS SERVICE`, `RESTAURANT`, `BLOG`, `STORE`, `EVENT`, `UNKNOWN`.\n *\n * Site business type.\n */\n businessConfig?: string | null;\n /** External site URL that uses Wix as its headless business solution. */\n externalSiteUrl?: string | null;\n /** Track clicks analytics. */\n trackClicksAnalytics?: boolean;\n}\n\nexport interface Categories {\n /** Primary site category. */\n primary?: string;\n /**\n * Secondary site category.\n * @maxSize 50\n */\n secondary?: string[];\n /** Business Term Id */\n businessTermId?: string | null;\n}\n\nexport interface Locale {\n /** Two-letter language code in [ISO 639-1 alpha-2](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes) format. */\n languageCode?: string;\n /** Two-letter country code in [ISO-3166 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2#Officially_assigned_code_elements) format. */\n country?: string;\n}\n\nexport interface Address {\n /** Street name. */\n street?: string;\n /** City name. */\n city?: string;\n /** Two-letter country code in an [ISO-3166 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) format. */\n country?: string;\n /** State. */\n state?: string;\n /**\n * Zip or postal code.\n * @maxLength 20\n */\n zip?: string;\n /** Extra information to be displayed in the address. */\n hint?: AddressHint;\n /** Whether this address represents a physical location. */\n isPhysical?: boolean;\n /** Google-formatted version of this address. */\n googleFormattedAddress?: string;\n /** Street number. */\n streetNumber?: string;\n /** Apartment number. */\n apartmentNumber?: string;\n /** Geographic coordinates of location. */\n coordinates?: GeoCoordinates;\n}\n\n/**\n * Extra information on displayed addresses.\n * This is used for display purposes. Used to add additional data about the address, such as \"In the passage\".\n * Free text. In addition, the user can state where to display the additional description - before, after, or instead of the address string.\n */\nexport interface AddressHint {\n /** Extra text displayed next to, or instead of, the actual address. */\n text?: string;\n /** Where the extra text should be displayed. */\n placement?: PlacementTypeWithLiterals;\n}\n\n/** Where the extra text should be displayed: before, after or instead of the actual address. */\nexport enum PlacementType {\n BEFORE = 'BEFORE',\n AFTER = 'AFTER',\n REPLACE = 'REPLACE',\n}\n\n/** @enumType */\nexport type PlacementTypeWithLiterals =\n | PlacementType\n | 'BEFORE'\n | 'AFTER'\n | 'REPLACE';\n\n/** Geocoordinates for a particular address. */\nexport interface GeoCoordinates {\n /** Latitude of the location. Must be between -90 and 90. */\n latitude?: number;\n /** Longitude of the location. Must be between -180 and 180. */\n longitude?: number;\n}\n\n/** Business schedule. Regular and exceptional time periods when the business is open or the service is available. */\nexport interface BusinessSchedule {\n /**\n * Weekly recurring time periods when the business is regularly open or the service is available. Limited to 100 time periods.\n * @maxSize 100\n */\n periods?: TimePeriod[];\n /**\n * Exceptions to the business's regular hours. The business can be open or closed during the exception.\n * @maxSize 100\n */\n specialHourPeriod?: SpecialHourPeriod[];\n}\n\n/** Weekly recurring time periods when the business is regularly open or the service is available. */\nexport interface TimePeriod {\n /** Day of the week the period starts on. */\n openDay?: DayOfWeekWithLiterals;\n /**\n * Time the period starts in 24-hour [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) extended format. Valid values are `00:00` to `24:00`, where `24:00` represents\n * midnight at the end of the specified day.\n */\n openTime?: string;\n /** Day of the week the period ends on. */\n closeDay?: DayOfWeekWithLiterals;\n /**\n * Time the period ends in 24-hour [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) extended format. Valid values are `00:00` to `24:00`, where `24:00` represents\n * midnight at the end of the specified day.\n *\n * __Note:__ If `openDay` and `closeDay` specify the same day of the week `closeTime` must be later than `openTime`.\n */\n closeTime?: string;\n}\n\n/** Enumerates the days of the week. */\nexport enum DayOfWeek {\n MONDAY = 'MONDAY',\n TUESDAY = 'TUESDAY',\n WEDNESDAY = 'WEDNESDAY',\n THURSDAY = 'THURSDAY',\n FRIDAY = 'FRIDAY',\n SATURDAY = 'SATURDAY',\n SUNDAY = 'SUNDAY',\n}\n\n/** @enumType */\nexport type DayOfWeekWithLiterals =\n | DayOfWeek\n | 'MONDAY'\n | 'TUESDAY'\n | 'WEDNESDAY'\n | 'THURSDAY'\n | 'FRIDAY'\n | 'SATURDAY'\n | 'SUNDAY';\n\n/** Exception to the business's regular hours. The business can be open or closed during the exception. */\nexport interface SpecialHourPeriod {\n /** Start date and time of the exception in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format and [Coordinated Universal Time (UTC)](https://en.wikipedia.org/wiki/Coordinated_Universal_Time). */\n startDate?: string;\n /** End date and time of the exception in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format and [Coordinated Universal Time (UTC)](https://en.wikipedia.org/wiki/Coordinated_Universal_Time). */\n endDate?: string;\n /**\n * Whether the business is closed (or the service is not available) during the exception.\n *\n * Default: `true`.\n */\n isClosed?: boolean;\n /** Additional info about the exception. For example, \"We close earlier on New Year's Eve.\" */\n comment?: string;\n}\n\nexport interface Multilingual {\n /**\n * Supported languages list.\n * @maxSize 200\n */\n supportedLanguages?: SupportedLanguage[];\n /** Whether to redirect to user language. */\n autoRedirect?: boolean;\n}\n\nexport interface SupportedLanguage {\n /** Two-letter language code in [ISO 639-1 alpha-2](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes) format. */\n languageCode?: string;\n /** Locale. */\n locale?: Locale;\n /** Whether the supported language is the primary language for the site. */\n isPrimary?: boolean;\n /** Language icon. */\n countryCode?: string;\n /** How the language will be resolved. For internal use. */\n resolutionMethod?: ResolutionMethodWithLiterals;\n /** Whether the supported language is the primary language for site visitors. */\n isVisitorPrimary?: boolean | null;\n}\n\nexport enum ResolutionMethod {\n QUERY_PARAM = 'QUERY_PARAM',\n SUBDOMAIN = 'SUBDOMAIN',\n SUBDIRECTORY = 'SUBDIRECTORY',\n}\n\n/** @enumType */\nexport type ResolutionMethodWithLiterals =\n | ResolutionMethod\n | 'QUERY_PARAM'\n | 'SUBDOMAIN'\n | 'SUBDIRECTORY';\n\nexport interface ConsentPolicy {\n /** Whether the site uses cookies that are essential to site operation. Always `true`. */\n essential?: boolean | null;\n /** Whether the site uses cookies that affect site performance and other functional measurements. */\n functional?: boolean | null;\n /** Whether the site uses cookies that collect analytics about how the site is used (in order to improve it). */\n analytics?: boolean | null;\n /** Whether the site uses cookies that collect information allowing better customization of the experience for a current visitor. */\n advertising?: boolean | null;\n /** CCPA compliance flag. */\n dataToThirdParty?: boolean | null;\n}\n\n/** A single mapping from the MetaSite ID to a particular service. */\nexport interface Translation {\n /** The service type. */\n serviceType?: string;\n /** The application definition ID; this only applies to services of type ThirdPartyApps. */\n appDefId?: string;\n /** The instance ID of the service. */\n instanceId?: string;\n}\n\nexport interface ChangeContext extends ChangeContextPayloadOneOf {\n /** Properties were updated. */\n propertiesChange?: PropertiesChange;\n /** Default properties were created on site creation. */\n siteCreated?: SiteCreated;\n /** Properties were cloned on site cloning. */\n siteCloned?: SiteCloned;\n}\n\n/** @oneof */\nexport interface ChangeContextPayloadOneOf {\n /** Properties were updated. */\n propertiesChange?: PropertiesChange;\n /** Default properties were created on site creation. */\n siteCreated?: SiteCreated;\n /** Properties were cloned on site cloning. */\n siteCloned?: SiteCloned;\n}\n\nexport interface PropertiesChange {}\n\nexport interface SiteCreated {\n /** Origin template site id. */\n originTemplateId?: string | null;\n}\n\nexport interface SiteCloned {\n /** Origin site id. */\n originMetaSiteId?: string;\n}\n\nexport interface MessageEnvelope {\n /**\n * App instance ID.\n * @format GUID\n */\n instanceId?: string | null;\n /**\n * Event type.\n * @maxLength 150\n */\n eventType?: string;\n /** The identification type and identity data. */\n identity?: IdentificationData;\n /** Stringify payload. */\n data?: string;\n}\n\nexport interface IdentificationData extends IdentificationDataIdOneOf {\n /**\n * ID of a site visitor that has not logged in to the site.\n * @format GUID\n */\n anonymousVisitorId?: string;\n /**\n * ID of a site visitor that has logged in to the site.\n * @format GUID\n */\n memberId?: string;\n /**\n * ID of a Wix user (site owner, contributor, etc.).\n * @format GUID\n */\n wixUserId?: string;\n /**\n * ID of an app.\n * @format GUID\n */\n appId?: string;\n /** @readonly */\n identityType?: WebhookIdentityTypeWithLiterals;\n}\n\n/** @oneof */\nexport interface IdentificationDataIdOneOf {\n /**\n * ID of a site visitor that has not logged in to the site.\n * @format GUID\n */\n anonymousVisitorId?: string;\n /**\n * ID of a site visitor that has logged in to the site.\n * @format GUID\n */\n memberId?: string;\n /**\n * ID of a Wix user (site owner, contributor, etc.).\n * @format GUID\n */\n wixUserId?: string;\n /**\n * ID of an app.\n * @format GUID\n */\n appId?: string;\n}\n\nexport enum WebhookIdentityType {\n UNKNOWN = 'UNKNOWN',\n ANONYMOUS_VISITOR = 'ANONYMOUS_VISITOR',\n MEMBER = 'MEMBER',\n WIX_USER = 'WIX_USER',\n APP = 'APP',\n}\n\n/** @enumType */\nexport type WebhookIdentityTypeWithLiterals =\n | WebhookIdentityType\n | 'UNKNOWN'\n | 'ANONYMOUS_VISITOR'\n | 'MEMBER'\n | 'WIX_USER'\n | 'APP';\n\nexport interface InvalidateCache extends InvalidateCacheGetByOneOf {\n /**\n * Invalidate by msId. NOT recommended, as this will invalidate the entire site cache!\n * @format GUID\n */\n metaSiteId?: string;\n /**\n * Invalidate by Site ID. NOT recommended, as this will invalidate the entire site cache!\n * @format GUID\n */\n siteId?: string;\n /** Invalidate by App */\n app?: App;\n /** Invalidate by page id */\n page?: Page;\n /** Invalidate by URI path */\n uri?: URI;\n /** Invalidate by file (for media files such as PDFs) */\n file?: File;\n /** Invalidate by custom tag. Tags used in BO invalidation are disabled for this endpoint (more info: https://wix-bo.com/dev/clear-ssr-cache) */\n customTag?: CustomTag;\n /**\n * tell us why you're invalidating the cache. You don't need to add your app name\n * @maxLength 256\n */\n reason?: string | null;\n /** Is local DS */\n localDc?: boolean;\n hardPurge?: boolean;\n}\n\n/** @oneof */\nexport interface InvalidateCacheGetByOneOf {\n /**\n * Invalidate by msId. NOT recommended, as this will invalidate the entire site cache!\n * @format GUID\n */\n metaSiteId?: string;\n /**\n * Invalidate by Site ID. NOT recommended, as this will invalidate the entire site cache!\n * @format GUID\n */\n siteId?: string;\n /** Invalidate by App */\n app?: App;\n /** Invalidate by page id */\n page?: Page;\n /** Invalidate by URI path */\n uri?: URI;\n /** Invalidate by file (for media files such as PDFs) */\n file?: File;\n /** Invalidate by custom tag. Tags used in BO invalidation are disabled for this endpoint (more info: https://wix-bo.com/dev/clear-ssr-cache) */\n customTag?: CustomTag;\n}\n\nexport interface App {\n /**\n * The AppDefId\n * @minLength 1\n */\n appDefId?: string;\n /**\n * The instance Id\n * @format GUID\n */\n instanceId?: string;\n}\n\nexport interface Page {\n /**\n * the msid the page is on\n * @format GUID\n */\n metaSiteId?: string;\n /**\n * Invalidate by Page ID\n * @minLength 1\n */\n pageId?: string;\n}\n\nexport interface URI {\n /**\n * the msid the URI is on\n * @format GUID\n */\n metaSiteId?: string;\n /**\n * URI path to invalidate (e.g. page/my/path) - without leading/trailing slashes\n * @minLength 1\n */\n uriPath?: string;\n}\n\nexport interface File {\n /**\n * the msid the file is related to\n * @format GUID\n */\n metaSiteId?: string;\n /**\n * Invalidate by filename (for media files such as PDFs)\n * @minLength 1\n * @maxLength 256\n */\n fileName?: string;\n}\n\nexport interface CustomTag {\n /**\n * the msid the tag is related to\n * @format GUID\n */\n metaSiteId?: string;\n /**\n * Tag to invalidate by\n * @minLength 1\n * @maxLength 256\n */\n tag?: string;\n}\n\nexport interface DeleteLocationIdsFromVariants {\n /**\n * @format GUID\n * @maxSize 20\n */\n businessLocationIds?: string[];\n /**\n * @format GUID\n * @maxSize 1000\n */\n variantIds?: string[];\n}\n\nexport interface DeleteLocationIdsFromModifierGroups {\n /**\n * @format GUID\n * @maxSize 20\n */\n businessLocationIds?: string[];\n /**\n * @format GUID\n * @maxSize 1000\n */\n modifierGroupIds?: string[];\n}\n\nexport interface CreateItemRequest {\n /** Item details. */\n item: Item;\n}\n\nexport interface CreateItemResponse {\n /** Item. */\n item?: Item;\n}\n\nexport interface BulkCreateItemsRequest {\n /**\n * Items details.\n * @maxSize 100\n */\n items: Item[];\n /** Whether to return entity in the response. */\n returnEntity?: boolean;\n}\n\nexport interface BulkCreateItemsResponse {\n /** Information about the created items. */\n results?: BulkCreateItemResult[];\n /** Metadata for the API call. */\n bulkActionMetadata?: BulkActionMetadata;\n}\n\nexport interface BulkCreateItemResult {\n /** Metadata for item update. */\n itemMetadata?: ItemMetadata;\n /** Created item. */\n item?: Item;\n}\n\nexport interface ItemMetadata {\n /** Item ID. Should always be available, unless it's impossible (for example, when failing to create an item). */\n _id?: string | null;\n /** Index of the item within the request array. Allows for correlation between request and response items. */\n originalIndex?: number;\n /** Whether the requested action was successful for this item. When `false`, the `error` field is populated. */\n success?: boolean;\n /** Details about the error in case of failure. */\n error?: ApplicationError;\n}\n\nexport interface ApplicationError {\n /** Error code. */\n code?: string;\n /** Description of the error. */\n description?: string;\n /** Data related to the error. */\n data?: Record<string, any> | null;\n}\n\nexport interface BulkActionMetadata {\n /** Number of items that were successfully processed. */\n totalSuccesses?: number;\n /** Number of items that couldn't be processed. */\n totalFailures?: number;\n /** Number of failures without details because detailed failure threshold was exceeded. */\n undetailedFailures?: number;\n}\n\nexport interface GetItemRequest {\n /**\n * Item ID.\n * @format GUID\n */\n itemId: string;\n}\n\nexport interface GetItemResponse {\n /** Item. */\n item?: Item;\n}\n\nexport interface ListItemsRequest {\n /** Item IDs. */\n itemIds?: string[];\n /** The metadata of the paginated results. */\n paging?: CursorPaging;\n /** Whether to return only items that are visible to site visitors. */\n onlyVisible?: boolean | null;\n}\n\nexport interface CursorPaging {\n /**\n * Number of items to load.\n * @max 500\n */\n limit?: number | null;\n /**\n * Pointer to the next or previous page in the list of results.\n *\n * You can get the relevant cursor token\n * from the `pagingMetadata` object in the previous call's response.\n * Not relevant for the first request.\n */\n cursor?: string | null;\n}\n\nexport interface ListItemsResponse {\n /** Items. */\n items?: Item[];\n /** The metadata of the paginated results. */\n pagingMetadata?: CursorPagingMetadata;\n}\n\nexport interface CursorPagingMetadata {\n /** Number of items returned in the response. */\n count?: number | null;\n /** Offset that was requested. */\n cursors?: Cursors;\n /**\n * Indicates if there are more results after the current page.\n * If `true`, another page of results can be retrieved.\n * If `false`, this is the last page.\n */\n hasNext?: boolean | null;\n}\n\nexport interface Cursors {\n /** Cursor pointing to next page in the list of results. */\n next?: string | null;\n /** Cursor pointing to previous page in the list of results. */\n prev?: string | null;\n}\n\nexport interface QueryItemsRequest {\n /** Query options. */\n query?: CursorQuery;\n}\n\nexport interface CursorQuery extends CursorQueryPagingMethodOneOf {\n /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n cursorPaging?: CursorPaging;\n /**\n * Filter object in the following format:\n * `\"filter\" : {\n * \"fieldName1\": \"value1\",\n * \"fieldName2\":{\"$operator\":\"value2\"}\n * }`\n * Example of operators: `$eq`, `$ne`, `$lt`, `$lte`, `$gt`, `$gte`, `$in`, `$hasSome`, `$hasAll`, `$startsWith`, `$contains`\n */\n filter?: Record<string, any> | null;\n /**\n * Sort object in the following format:\n * `[{\"fieldName\":\"sortField1\",\"order\":\"ASC\"},{\"fieldName\":\"sortField2\",\"order\":\"DESC\"}]`\n */\n sort?: Sorting[];\n}\n\n/** @oneof */\nexport interface CursorQueryPagingMethodOneOf {\n /** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */\n cursorPaging?: CursorPaging;\n}\n\nexport interface Sorting {\n /**\n * Name of the field to sort by.\n * @maxLength 512\n */\n fieldName?: string;\n /** Sort order. */\n order?: SortOrderWithLiterals;\n}\n\nexport enum SortOrder {\n ASC = 'ASC',\n DESC = 'DESC',\n}\n\n/** @enumType */\nexport type SortOrderWithLiterals = SortOrder | 'ASC' | 'DESC';\n\nexport interface QueryItemsResponse {\n /** Retrieved items. */\n items?: Item[];\n /** The metadata of the paginated results. */\n pagingMetadata?: CursorPagingMetadata;\n}\n\nexport interface SearchItemsRequest {\n /** Search options. */\n search?: CursorSearch;\n}\n\nexport interface CursorSearch extends CursorSearchPagingMethodOneOf {\n /** Cursor pointing to page of results. Can't be used together with 'paging'. 'cursor_paging.cursor' can not be used together with 'filter' or 'sort' */\n cursorPaging?: CursorPaging;\n /** A filter object. See documentation [here](https://bo.wix.com/wix-docs/rnd/platformization-guidelines/api-query-language#platformization-guidelines_api-query-language_defining-in-protobuf) */\n filter?: Record<string, any> | null;\n /** Sort object in the form [{\"fieldName\":\"sortField1\"},{\"fieldName\":\"sortField2\",\"direction\":\"DESC\"}] */\n sort?: Sorting[];\n /** Aggregations | Faceted search: refers to a way to explore large amounts of data by displaying summaries about various partitions of the data and later allowing to narrow the navigation to a specific partition. */\n aggregations?: Aggregation[];\n /** free text to match in searchable fields */\n search?: SearchDetails;\n}\n\n/** @oneof */\nexport interface CursorSearchPagingMethodOneOf {\n /** Cursor pointing to page of results. Can't be used together with 'paging'. 'cursor_paging.cursor' can not be used together with 'filter' or 'sort' */\n cursorPaging?: CursorPaging;\n}\n\nexport interface Aggregation extends AggregationKindOneOf {\n value?: ValueAggregation;\n range?: RangeAggregation;\n scalar?: ScalarAggregation;\n name?: string | null;\n type?: AggregationTypeWithLiterals;\n fieldPath?: string;\n}\n\n/** @oneof */\nexport interface AggregationKindOneOf {\n value?: ValueAggregation;\n range?: RangeAggregation;\n scalar?: ScalarAggregation;\n}\n\nexport interface RangeBucket {\n /** Inclusive lower bound of the range. Required if to is not given. */\n from?: number | null;\n /** Exclusive upper bound of the range. Required if from is not given. */\n to?: number | null;\n}\n\nexport enum SortType {\n COUNT = 'COUNT',\n VALUE = 'VALUE',\n}\n\n/** @enumType */\nexport type SortTypeWithLiterals = SortType | 'COUNT' | 'VALUE';\n\nexport enum SortDirection {\n DESC = 'DESC',\n ASC = 'ASC',\n}\n\n/** @enumType */\nexport type SortDirectionWithLiterals = SortDirection | 'DESC' | 'ASC';\n\nexport enum ScalarType {\n UNKNOWN_SCALAR_TYPE = 'UNKNOWN_SCALAR_TYPE',\n COUNT_DISTINCT = 'COUNT_DISTINCT',\n MIN = 'MIN',\n MAX = 'MAX',\n}\n\n/** @enumType */\nexport type ScalarTypeWithLiterals =\n | ScalarType\n | 'UNKNOWN_SCALAR_TYPE'\n | 'COUNT_DISTINCT'\n | 'MIN'\n | 'MAX';\n\nexport enum AggregationType {\n UNKNOWN_AGGREGATION_TYPE = 'UNKNOWN_AGGREGATION_TYPE',\n VALUE = 'VALUE',\n RANGE = 'RANGE',\n SCALAR = 'SCALAR',\n}\n\n/** @enumType */\nexport type AggregationTypeWithLiterals =\n | AggregationType\n | 'UNKNOWN_AGGREGATION_TYPE'\n | 'VALUE'\n | 'RANGE'\n | 'SCALAR';\n\nexport interface ValueAggregation {\n sortType?: SortTypeWithLiterals;\n sortDirection?: SortDirectionWithLiterals;\n /** How many aggregations would you like to return? Can be between 1 and 250. 10 is the default. */\n limit?: number | null;\n}\n\nexport interface RangeAggregation {\n buckets?: RangeBucket[];\n}\n\nexport interface ScalarAggregation {\n type?: ScalarTypeWithLiterals;\n}\n\nexport interface SearchDetails {\n /** boolean search mode */\n mode?: ModeWithLiterals;\n /** search term or expression */\n expression?: string | null;\n /** fields to search in. if empty - server will search in own default fields */\n fields?: string[];\n /** flag if should use auto fuzzy search (allowing typos by a managed proximity algorithm) */\n fuzzy?: boolean;\n}\n\nexport enum Mode {\n /** any */\n OR = 'OR',\n /** all */\n AND = 'AND',\n}\n\n/** @enumType */\nexport type ModeWithLiterals = Mode | 'OR' | 'AND';\n\nexport interface SearchItemsResponse {\n /** Retrieved items. */\n items?: Item[];\n /** The metadata of the paginated results. */\n pagingMetadata?: CursorPagingMetadata;\n /** The metadata of the search results. */\n aggregationData?: AggregationData;\n}\n\nexport interface AggregationData {\n /** key = aggregation name (as derived from search request) */\n results?: AggregationResults[];\n}\n\nexport interface ValueAggregationResult {\n value?: string;\n count?: number;\n}\n\nexport interface RangeAggregationResult {\n from?: number | null;\n to?: number | null;\n count?: number;\n}\n\nexport interface ValueResults {\n results?: ValueAggregationResult[];\n}\n\nexport interface RangeResults {\n results?: RangeAggregationResult[];\n}\n\nexport interface ScalarResult {\n type?: ScalarTypeWithLiterals;\n value?: number;\n}\n\nexport interface AggregationResults extends AggregationResultsResultOneOf {\n values?: ValueResults;\n ranges?: RangeResults;\n scalar?: ScalarResult;\n name?: string;\n type?: AggregationTypeWithLiterals;\n}\n\n/** @oneof */\nexport interface AggregationResultsResultOneOf {\n values?: ValueResults;\n ranges?: RangeResults;\n scalar?: ScalarResult;\n}\n\nexport interface CountItemsRequest {\n /** Filter for counting items. */\n filter?: Record<string, any> | null;\n /** Search details. */\n searchDetails?: SearchDetails;\n}\n\nexport interface CountItemsResponse {\n /** Counted items. */\n count?: number;\n}\n\nexport interface UpdateItemRequest {\n /** Item to update. */\n item: Item;\n}\n\nexport interface UpdateItemResponse {\n /** Updated item. */\n item?: Item;\n}\n\nexport interface BulkUpdateItemRequest {\n /**\n * Items to update.\n * @minSize 1\n * @maxSize 100\n */\n items: MaskedItem[];\n /** Whether to return entity in the response. */\n returnEntity?: boolean;\n}\n\nexport interface MaskedItem {\n /** Item to update. */\n item?: Item;\n /** Explicit list of fields to update. */\n mask?: string[];\n}\n\nexport interface BulkUpdateItemResponse {\n /**\n * Information about the updated items.\n * @minSize 1\n * @maxSize 100\n */\n results?: BulkUpdateItemResponseBulkItemResult[];\n /** Metadata for the API call. */\n bulkActionMetadata?: BulkActionMetadata;\n}\n\nexport interface BulkUpdateItemResponseBulkItemResult {\n /** Metadata for item update. */\n itemMetadata?: ItemMetadata;\n /** Updated item. Only returned if `returnEntity` is set to `true`. */\n item?: Item;\n}\n\nexport interface DeleteItemRequest {\n /**\n * Item ID.\n * @format GUID\n */\n itemId: string;\n}\n\nexport interface DeleteItemResponse {}\n\nexport interface BulkDeleteItemsRequest {\n /**\n * Item IDs.\n * @format GUID\n */\n ids: string[];\n}\n\nexport interface BulkDeleteItemsResponse {\n /** Information about the deleted items. */\n results?: BulkDeleteItemResult[];\n /** Metadata for the API call. */\n bulkActionMetadata?: BulkActionMetadata;\n}\n\nexport interface BulkDeleteItemResult {\n /** Metadata for item delete. */\n itemMetadata?: ItemMetadata;\n}\n\nexport interface CloneItemsRequest {\n /**\n * The MetaSiteId to clone from.\n * @format GUID\n */\n metaSiteId?: string;\n}\n\nexport interface CloneItemsResponse {}\n\nexport interface BulkUpdateBusinessLocationIdsRequest {\n /**\n * item ids\n * @format GUID\n * @minSize 1\n * @maxSize 100\n */\n itemIds?: string[];\n /**\n * Business Location Ids.\n * @maxSize 20\n * @format GUID\n */\n businessLocationIds?: string[];\n}\n\nexport interface BulkUpdateBusinessLocationIdsResponse {\n /**\n * Information about the updated items.\n * @minSize 1\n * @maxSize 100\n */\n results?: BulkUpdateBusinessLocationIdsResponseBulkItemResult[];\n}\n\nexport interface BulkUpdateBusinessLocationIdsResponseBulkItemResult {\n /** Metadata for item update. */\n itemMetadata?: ItemMetadata;\n}\n\nexport interface BulkUpdateBusinessLocationIdsPerEntityRequest {\n /**\n * @minSize 1\n * @maxSize 100\n */\n itemIdLocationIds?: ItemIdLocationIds[];\n}\n\nexport interface ItemIdLocationIds {\n /**\n * item ID\n * @format GUID\n */\n itemId?: string;\n /**\n * Business Location IDs\n * @maxSize 20\n * @format GUID\n */\n businessLocationIds?: string[];\n}\n\nexport interface BulkUpdateBusinessLocationIdsPerEntityResponse {\n /**\n * Information about the updated items.\n * @minSize 1\n * @maxSize 100\n */\n results?: BulkItemResult[];\n}\n\nexport interface BulkItemResult {\n /** Metadata for item update. */\n itemMetadata?: ItemMetadata;\n}\n\nexport interface BaseEventMetadata {\n /**\n * App instance ID.\n * @format GUID\n */\n instanceId?: string | null;\n /**\n * Event type.\n * @maxLength 150\n */\n eventType?: string;\n /** The identification type and identity data. */\n identity?: IdentificationData;\n}\n\nexport interface EventMetadata extends BaseEventMetadata {\n /** Event ID. With this ID you can easily spot duplicated events and ignore them. */\n _id?: string;\n /**\n * Fully Qualified Domain Name of an entity. This is a unique identifier assigned to the API main business entities.\n * For example, `wix.stores.catalog.product`, `wix.bookings.session`, `wix.payments.transaction`.\n */\n entityFqdn?: string;\n /**\n * Event action name, placed at the top level to make it easier for users to dispatch messages.\n * For example: `created`/`updated`/`deleted`/`started`/`completed`/`email_opened`.\n */\n slug?: string;\n /** ID of the entity associated with the event. */\n entityId?: string;\n /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example, `2020-04-26T13:57:50.699Z`. */\n eventTime?: Date | null;\n /**\n * Whether the event was triggered as a result of a privacy regulation application\n * (for example, GDPR).\n */\n triggeredByAnonymizeRequest?: boolean | null;\n /** If present, indicates the action that triggered the event. */\n originatedFrom?: string | null;\n /**\n * A sequence number that indicates the order of updates to an entity. For example, if an entity was updated at 16:00 and then again at 16:01, the second update will always have a higher sequence number.\n * You can use this number to make sure you're handling updates in the right order. Just save the latest sequence number on your end and compare it to the one in each new message. If the new message has an older (lower) number, you can safely ignore it.\n */\n entityEventSequence?: string | null;\n}\n\nexport interface ItemCreatedEnvelope {\n entity: Item;\n metadata: EventMetadata;\n}\n\n/** @permissionScope Manage Restaurants - all permissions\n * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES\n * @permissionId RESTAURANTS.ITEM_READ\n * @webhook\n * @eventType wix.restaurants.menus.v1.item_created\n * @serviceIdentifier com.wixpress.restaurants.menus_item.v1.RestaurantsMenusItem\n * @slug created\n * @documentationMaturity preview\n */\nexport declare function onItemCreated(\n handler: (event: ItemCreatedEnvelope) => void | Promise<void>\n): void;\n\nexport interface ItemDeletedEnvelope {\n metadata: EventMetadata;\n}\n\n/** @permissionScope Manage Restaurants - all permissions\n * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES\n * @permissionId RESTAURANTS.ITEM_READ\n * @webhook\n * @eventType wix.restaurants.menus.v1.item_deleted\n * @serviceIdentifier com.wixpress.restaurants.menus_item.v1.RestaurantsMenusItem\n * @slug deleted\n * @documentationMaturity preview\n */\nexport declare function onItemDeleted(\n handler: (event: ItemDeletedEnvelope) => void | Promise<void>\n): void;\n\nexport interface ItemUpdatedEnvelope {\n entity: Item;\n metadata: EventMetadata;\n}\n\n/**\n * Triggered when an item is updated.\n * @permissionScope Manage Restaurants - all permissions\n * @permissionScopeId SCOPE.RESTAURANTS.MEGA-SCOPES\n * @permissionId RESTAURANTS.ITEM_READ\n * @webhook\n * @eventType wix.restaurants.menus.v1.item_updated\n * @serviceIdentifier com.wixpress.restaurants.menus_item.v1.RestaurantsMenusItem\n * @slug updated\n * @documentationMaturity preview\n */\nexport declare function onItemUpdated(\n handler: (event: ItemUpdatedEnvelope) => void | Promise<void>\n): void;\n\ntype ItemNonNullablePaths =\n | `priceVariants.variants`\n | `priceVariants.variants.${number}.priceInfo.price`\n | `priceInfo.price`\n | `name`\n | `additionalImages`\n | `labels`\n | `labels.${number}._id`\n | `modifierGroups`\n | `businessLocationIds`;\n\n/** @param _id - Item id to be duplicated.\n * @public\n * @documentationMaturity preview\n * @requiredField _id\n * @permissionId RESTAURANTS.ITEM_CREATE\n * @applicableIdentity APP\n * @fqn com.wixpress.restaurants.menus_item.v1.restaurants_duplicate_item.RestaurantsDuplicateItem.DuplicateItem\n */\nexport async function duplicateItem(\n _id: string,\n options?: DuplicateItemOptions\n): Promise<NonNullablePaths<DuplicateItemResponse, `itemId`>> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[2] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({\n id: _id,\n businessLocationIds: options?.businessLocationIds,\n });\n\n const reqOpts = ambassadorWixRestaurantsMenusV1Item.duplicateItem(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data)!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: {\n id: '$[0]',\n businessLocationIds: '$[1].businessLocationIds',\n },\n singleArgumentUnchanged: false,\n },\n ['_id', 'options']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\nexport interface DuplicateItemOptions {\n /**\n * Business location ids to duplicate the item to.\n * @format GUID\n * @maxSize 100\n */\n businessLocationIds?: string[] | null;\n}\n\n/**\n * > **Note:** The Item API only works with the Wix Restaurants Menus (New) app. Make sure you have installed this app from the [Wix App Market](https://www.wix.com/app-market/wix-restaurants-menus-new).\n *\n * Creates an item.\n *\n * To create multiple items at once, use [Bulk Create Items](https://dev.wix.com/docs/rest/business-solutions/restaurants/menus/item/bulk-create-items).\n * @param item - Item details.\n * @public\n * @documentationMaturity preview\n * @requiredField item\n * @requiredField item.modifierGroups._id\n * @permissionId RESTAURANTS.ITEM_CREATE\n * @applicableIdentity APP\n * @returns Item.\n * @fqn com.wixpress.restaurants.menus_item.v1.RestaurantsMenusItem.CreateItem\n */\nexport async function createItem(\n item: NonNullablePaths<Item, `modifierGroups.${number}._id`>\n): Promise<NonNullablePaths<Item, ItemNonNullablePaths>> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[1] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = transformPaths(\n renameKeysFromSDKRequestToRESTRequest({ item: item }),\n [\n {\n transformFn: transformSDKImageToRESTImage,\n paths: [\n { path: 'item.image' },\n { path: 'item.additionalImages', isRepeated: true },\n ],\n },\n ]\n );\n\n const reqOpts = ambassadorWixRestaurantsMenusV1Item.createItem(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(\n transformPaths(result.data, [\n {\n transformFn: transformRESTImageToSDKImage,\n paths: [\n { path: 'item.image' },\n { path: 'item.additionalImages', isRepeated: true },\n ],\n },\n ])\n )?.item!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: { item: '$[0]' },\n singleArgumentUnchanged: false,\n },\n ['item']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\n/**\n * > **Note:** The Items API only works with the Wix Restaurants Menus (New) app. Make sure you have installed this app from the [Wix App Market](https://www.wix.com/app-market/wix-restaurants-menus-new).\n *\n * Creates multiple items at once.\n * @param items - Items details.\n * @public\n * @documentationMaturity preview\n * @requiredField items\n * @requiredField items.modifierGroups._id\n * @permissionId RESTAURANTS.ITEM_CREATE\n * @applicableIdentity APP\n * @fqn com.wixpress.restaurants.menus_item.v1.RestaurantsMenusItem.BulkCreateItems\n */\nexport async function bulkCreateItems(\n items: NonNullablePaths<Item, `modifierGroups.${number}._id`>[],\n options?: BulkCreateItemsOptions\n): Promise<\n NonNullablePaths<\n BulkCreateItemsResponse,\n | `results`\n | `results.${number}.itemMetadata.originalIndex`\n | `results.${number}.itemMetadata.success`\n | `results.${number}.itemMetadata.error.code`\n | `results.${number}.itemMetadata.error.description`\n | {\n [P in ItemNonNullablePaths]: `results.${number}.item.${P}`;\n }[ItemNonNullablePaths]\n | `bulkActionMetadata.totalSuccesses`\n | `bulkActionMetadata.totalFailures`\n | `bulkActionMetadata.undetailedFailures`\n >\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[2] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = transformPaths(\n renameKeysFromSDKRequestToRESTRequest({\n items: items,\n returnEntity: options?.returnEntity,\n }),\n [\n {\n transformFn: transformSDKImageToRESTImage,\n paths: [\n { path: 'items.image' },\n { path: 'items.additionalImages', isRepeated: true },\n ],\n },\n ]\n );\n\n const reqOpts = ambassadorWixRestaurantsMenusV1Item.bulkCreateItems(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(\n transformPaths(result.data, [\n {\n transformFn: transformRESTImageToSDKImage,\n paths: [\n { path: 'results.item.image' },\n { path: 'results.item.additionalImages', isRepeated: true },\n ],\n },\n ])\n )!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: {\n items: '$[0]',\n returnEntity: '$[1].returnEntity',\n },\n singleArgumentUnchanged: false,\n },\n ['items', 'options']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\nexport interface BulkCreateItemsOptions {\n /** Whether to return entity in the response. */\n returnEntity?: boolean;\n}\n\n/**\n * > **Note:** The Item API only works with the Wix Restaurants Menus (New) app. Make sure you have installed this app from the [Wix App Market](https://www.wix.com/app-market/wix-restaurants-menus-new).\n *\n * Retrieves an item by ID.\n * @param itemId - Item ID.\n * @public\n * @documentationMaturity preview\n * @requiredField itemId\n * @permissionId RESTAURANTS.ITEM_READ\n * @applicableIdentity APP\n * @applicableIdentity VISITOR\n * @returns Item.\n * @fqn com.wixpress.restaurants.menus_item.v1.RestaurantsMenusItem.GetItem\n */\nexport async function getItem(\n itemId: string\n): Promise<NonNullablePaths<Item, ItemNonNullablePaths>> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[1] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({ itemId: itemId });\n\n const reqOpts = ambassadorWixRestaurantsMenusV1Item.getItem(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(\n transformPaths(result.data, [\n {\n transformFn: transformRESTImageToSDKImage,\n paths: [\n { path: 'item.image' },\n { path: 'item.additionalImages', isRepeated: true },\n ],\n },\n ])\n )?.item!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: { itemId: '$[0]' },\n singleArgumentUnchanged: false,\n },\n ['itemId']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\n/**\n * > **Note:** The Item API only works with the Wix Restaurants Menus (New) app. Make sure you have installed this app from the [Wix App Market](https://www.wix.com/app-market/wix-restaurants-menus-new).\n *\n * Retrieves a list of up to 500 items.\n * @public\n * @documentationMaturity preview\n * @permissionId RESTAURANTS.ITEM_READ\n * @applicableIdentity APP\n * @applicableIdentity VISITOR\n * @fqn com.wixpress.restaurants.menus_item.v1.RestaurantsMenusItem.ListItems\n */\nexport async function listItems(\n options?: ListItemsOptions\n): Promise<\n NonNullablePaths<\n ListItemsResponse,\n {\n [P in ItemNonNullablePaths]: `items.${number}.${P}`;\n }[ItemNonNullablePaths]\n >\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[1] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({\n itemIds: options?.itemIds,\n paging: options?.paging,\n onlyVisible: options?.onlyVisible,\n });\n\n const reqOpts = ambassadorWixRestaurantsMenusV1Item.listItems(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(\n transformPaths(result.data, [\n {\n transformFn: transformRESTImageToSDKImage,\n paths: [\n { path: 'items.image' },\n { path: 'items.additionalImages', isRepeated: true },\n ],\n },\n ])\n )!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: {\n itemIds: '$[0].itemIds',\n paging: '$[0].paging',\n onlyVisible: '$[0].onlyVisible',\n },\n singleArgumentUnchanged: false,\n },\n ['options']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\nexport interface ListItemsOptions {\n /** Item IDs. */\n itemIds?: string[];\n /** The metadata of the paginated results. */\n paging?: CursorPaging;\n /** Whether to return only items that are visible to site visitors. */\n onlyVisible?: boolean | null;\n}\n\n/**\n * Creates a query to retrieve a list of items.\n *\n * The `queryItems()` function builds a query to retrieve a list of items and returns a `ItemsQueryBuilder` object.\n *\n * The returned object contains the query definition, which is used to run the query using the [`find()`](/items/items-query-builder/find) function.\n *\n * You can refine the query by chaining `ItemsQueryBuilder` functions onto the query. `ItemsQueryBuilder` functions enable you to filter, sort, and control the results that `queryItems()` returns.\n *\n * `queryItems()` runs with the following `ItemsQueryBuilder` defaults, which you can override:\n *\n * * [`limit(500)`](/items/items-query-builder/limit)\n *\n * The following `ItemsQueryBuilder` functions are supported for `queryItems()`. For a full description of the item object, see the object returned for the [`items`](/items/items-query-result/items) property in `ItemsQueryResult`.\n * @public\n * @documentationMaturity preview\n * @permissionId RESTAURANTS.ITEM_READ\n * @applicableIdentity APP\n * @applicableIdentity VISITOR\n * @fqn com.wixpress.restaurants.menus_item.v1.RestaurantsMenusItem.QueryItems\n */\nexport function queryItems(): ItemsQueryBuilder {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[0] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n return queryBuilder<Item, 'CURSOR', QueryItemsRequest, QueryItemsResponse>({\n func: async (payload: QueryItemsRequest) => {\n const reqOpts = ambassadorWixRestaurantsMenusV1Item.queryItems(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n return result;\n } catch (err) {\n sideEffects?.onError?.(err);\n throw err;\n }\n },\n requestTransformer: (query: QueryItemsRequest['query']) => {\n const args = [query, {}] as [QueryItemsRequest['query'], {}];\n return renameKeysFromSDKRequestToRESTRequest({\n ...args?.[1],\n query: args?.[0],\n });\n },\n responseTransformer: ({ data }: HttpResponse<QueryItemsResponse>) => {\n const transformedData = renameKeysFromRESTResponseToSDKResponse(\n transformPaths(data, [\n {\n transformFn: transformRESTImageToSDKImage,\n paths: [\n { path: 'items.image' },\n { path: 'items.additionalImages', isRepeated: true },\n ],\n },\n ])\n );\n\n return {\n items: transformedData?.items,\n pagingMetadata: transformedData?.pagingMetadata,\n };\n },\n errorTransformer: (err: unknown) => {\n const transformedError = sdkTransformError(err, {\n spreadPathsToArguments: {},\n explicitPathsToArguments: { query: '$[0]' },\n singleArgumentUnchanged: false,\n });\n\n throw transformedError;\n },\n pagingMethod: 'CURSOR',\n transformationPaths: {},\n });\n}\n\ninterface QueryCursorResult {\n cursors: Cursors;\n hasNext: () => boolean;\n hasPrev: () => boolean;\n length: number;\n pageSize: number;\n}\n\nexport interface ItemsQueryResult extends QueryCursorResult {\n items: Item[];\n query: ItemsQueryBuilder;\n next: () => Promise<ItemsQueryResult>;\n prev: () => Promise<ItemsQueryResult>;\n}\n\nexport interface ItemsQueryBuilder {\n /** @param propertyName - Property whose value is compared with `value`.\n * @param value - Value to compare against.\n * @documentationMaturity preview\n */\n eq: (\n propertyName:\n | 'priceVariants.variants.variantId'\n | 'priceVariants.variants.price'\n | '_id'\n | '_createdDate'\n | '_updatedDate'\n | 'name'\n | 'description'\n | 'image.id'\n | 'labels.id'\n | 'visible'\n | 'orderSettings.inStock'\n | 'orderSettings.acceptSpecialRequests'\n | 'modifierGroups.id'\n | 'businessLocationIds',\n value: any\n ) => ItemsQueryBuilder;\n /** @param propertyName - Property whose value is compared with `value`.\n * @param value - Value to compare against.\n * @documentationMaturity preview\n */\n ne: (\n propertyName:\n | 'priceVariants.variants.variantId'\n | 'priceVariants.variants.price'\n | '_id'\n | '_createdDate'\n | '_updatedDate'\n | 'name'\n | 'description'\n | 'image.id'\n | 'labels.id'\n | 'visible'\n | 'orderSettings.inStock'\n | 'orderSettings.acceptSpecialRequests'\n | 'modifierGroups.id'\n | 'businessLocationIds',\n value: any\n ) => ItemsQueryBuilder;\n /** @param propertyName - Property whose value is compared with `value`.\n * @param value - Value to compare against.\n * @documentationMaturity preview\n */\n ge: (\n propertyName:\n | '_id'\n | '_createdDate'\n | '_updatedDate'\n | 'name'\n | 'description'\n | 'image.id'\n | 'labels.id',\n value: any\n ) => ItemsQueryBuilder;\n /** @param propertyName - Property whose value is compared with `value`.\n * @param value - Value to compare against.\n * @documentationMaturity preview\n */\n gt: (\n propertyName:\n | '_id'\n | '_createdDate'\n | '_updatedDate'\n | 'name'\n | 'description'\n | 'image.id'\n | 'labels.id',\n value: any\n ) => ItemsQueryBuilder;\n /** @param propertyName - Property whose value is compared with `value`.\n * @param value - Value to compare against.\n * @documentationMaturity preview\n */\n le: (\n propertyName:\n | '_id'\n | '_createdDate'\n | '_updatedDate'\n | 'name'\n | 'description'\n | 'image.id'\n | 'labels.id',\n value: any\n ) => ItemsQueryBuilder;\n /** @param propertyName - Property whose value is compared with `value`.\n * @param value - Value to compare against.\n * @documentationMaturity preview\n */\n lt: (\n propertyName:\n | '_id'\n | '_createdDate'\n | '_updatedDate'\n | 'name'\n | 'description'\n | 'image.id'\n | 'labels.id',\n value: any\n ) => ItemsQueryBuilder;\n /** @param propertyName - Property whose value is compared with `string`.\n * @param string - String to compare against. Case-insensitive.\n * @documentationMaturity preview\n */\n startsWith: (\n propertyName: '_id' | 'name' | 'description' | 'image.id' | 'labels.id',\n value: string\n ) => ItemsQueryBuilder;\n /** @param propertyName - Property whose value is compared with `values`.\n * @param values - List of values to compare against.\n * @documentationMaturity preview\n */\n hasSome: (\n propertyName:\n | '_id'\n | '_createdDate'\n | '_updatedDate'\n | 'name'\n | 'description'\n | 'image.id'\n | 'labels.id'\n | 'visible'\n | 'businessLocationIds',\n value: any[]\n ) => ItemsQueryBuilder;\n /** @param propertyName - Property whose value is compared with `values`.\n * @param values - List of values to compare against.\n * @documentationMaturity preview\n */\n hasAll: (\n propertyName: 'businessLocationIds',\n value: any[]\n ) => ItemsQueryBuilder;\n /** @documentationMaturity preview */\n in: (\n propertyName:\n | 'priceVariants.variants.variantId'\n | 'priceVariants.variants.price'\n | '_id'\n | '_createdDate'\n | '_updatedDate'\n | 'name'\n | 'description'\n | 'image.id'\n | 'labels.id'\n | 'visible'\n | 'orderSettings.inStock'\n | 'orderSettings.acceptSpecialRequests'\n | 'modifierGroups.id'\n | 'businessLocationIds',\n value: any\n ) => ItemsQueryBuilder;\n /** @documentationMaturity preview */\n exists: (\n propertyName:\n | 'priceVariants.variants.variantId'\n | 'priceVariants.variants.price'\n | '_id'\n | '_createdDate'\n | '_updatedDate'\n | 'name'\n | 'description'\n | 'image.id'\n | 'labels.id'\n | 'visible'\n | 'orderSettings.inStock'\n | 'orderSettings.acceptSpecialRequests'\n | 'modifierGroups.id'\n | 'businessLocationIds',\n value: boolean\n ) => ItemsQueryBuilder;\n /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments.\n * @documentationMaturity preview\n */\n ascending: (\n ...propertyNames: Array<\n | 'priceVariants.variants.variantId'\n | 'priceVariants.variants.price'\n | '_id'\n | '_createdDate'\n | '_updatedDate'\n | 'name'\n | 'description'\n | 'image.id'\n | 'visible'\n | 'orderSettings.inStock'\n | 'orderSettings.acceptSpecialRequests'\n | 'orderSettings.taxGroupId'\n | 'modifierGroups.id'\n | 'oloMigrationItemId'\n | 'businessLocationIds'\n >\n ) => ItemsQueryBuilder;\n /** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments.\n * @documentationMaturity preview\n */\n descending: (\n ...propertyNames: Array<\n | 'priceVariants.variants.variantId'\n | 'priceVariants.variants.price'\n | '_id'\n | '_createdDate'\n | '_updatedDate'\n | 'name'\n | 'description'\n | 'image.id'\n | 'visible'\n | 'orderSettings.inStock'\n | 'orderSettings.acceptSpecialRequests'\n | 'orderSettings.taxGroupId'\n | 'modifierGroups.id'\n | 'oloMigrationItemId'\n | 'businessLocationIds'\n >\n ) => ItemsQueryBuilder;\n /** @param limit - Number of items to return, which is also the `pageSize` of the results object.\n * @documentationMaturity preview\n */\n limit: (limit: number) => ItemsQueryBuilder;\n /** @param cursor - A pointer to specific record\n * @documentationMaturity preview\n */\n skipTo: (cursor: string) => ItemsQueryBuilder;\n /** @documentationMaturity preview */\n find: () => Promise<ItemsQueryResult>;\n}\n\n/**\n * > **Note:** The Item API only works with the Wix Restaurants Menus (New) app. Make sure you have installed this app from the [Wix App Market](https://www.wix.com/app-market/wix-restaurants-menus-new).\n *\n * Retrieves a list of items given the provided search options. Up to 500 items can be returned per request.\n * @param search - Search options.\n * @public\n * @documentationMaturity preview\n * @requiredField search\n * @permissionId RESTAURANTS.ITEM_READ\n * @applicableIdentity APP\n * @applicableIdentity VISITOR\n * @fqn com.wixpress.restaurants.menus_item.v1.RestaurantsMenusItem.SearchItems\n */\nexport async function searchItems(\n search: ItemSearch\n): Promise<\n NonNullablePaths<\n SearchItemsResponse,\n | {\n [P in ItemNonNullablePaths]: `items.${number}.${P}`;\n }[ItemNonNullablePaths]\n | `aggregationData.results`\n | `aggregationData.results.${number}.scalar.type`\n | `aggregationData.results.${number}.scalar.value`\n | `aggregationData.results.${number}.name`\n | `aggregationData.results.${number}.type`\n >\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[1] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({ search: search });\n\n const reqOpts = ambassadorWixRestaurantsMenusV1Item.searchItems(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(\n transformPaths(result.data, [\n {\n transformFn: transformRESTImageToSDKImage,\n paths: [\n { path: 'items.image' },\n { path: 'items.additionalImages', isRepeated: true },\n ],\n },\n ])\n )!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: { search: '$[0]' },\n singleArgumentUnchanged: false,\n },\n ['search']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\nexport interface ItemSearchSpec extends SearchSpec {\n aggregatable: [\n '_createdDate',\n '_id',\n '_updatedDate',\n 'businessLocationIds',\n 'image._id',\n 'labels._id',\n 'modifierGroups._id',\n 'name',\n 'orderSettings.inStock',\n 'visible'\n ];\n paging: 'cursor';\n wql: [\n {\n operators: ['$hasAll', '$hasSome'];\n fields: ['businessLocationIds', 'labels._id', 'modifierGroups._id'];\n sort: 'BOTH';\n },\n {\n operators: '*';\n fields: [\n '_createdDate',\n '_id',\n '_updatedDate',\n 'image._id',\n 'name',\n 'orderSettings.inStock',\n 'visible'\n ];\n sort: 'BOTH';\n }\n ];\n}\n\nexport type CommonSearchWithEntityContext = SearchSdkType<Item, ItemSearchSpec>;\nexport type ItemSearch = {\n /** \n Cursor pointing to page of results. Can't be used together with 'paging'. 'cursor_paging.cursor' can not be used together with 'filter' or 'sort' \n */\n cursorPaging?: {\n /** \n Number of items to load. \n @max: 500 \n */\n limit?:\n | NonNullable<CommonSearchWithEntityContext['cursorPaging']>['limit']\n | null;\n /** \n Pointer to the next or previous page in the list of results.\n\n You can get the relevant cursor token\n from the `pagingMetadata` object in the previous call's response.\n Not relevant for the first request. \n */\n cursor?:\n | NonNullable<CommonSearchWithEntityContext['cursorPaging']>['cursor']\n | null;\n };\n /** \n A filter object. See documentation [here](https://bo.wix.com/wix-docs/rnd/platformization-guidelines/api-query-language#platformization-guidelines_api-query-language_defining-in-protobuf) \n */\n filter?: CommonSearchWithEntityContext['filter'] | null;\n /** \n Sort object in the form [{\"fieldName\":\"sortField1\"},{\"fieldName\":\"sortField2\",\"direction\":\"DESC\"}] \n */\n sort?: {\n /** \n Name of the field to sort by. \n @maxLength: 512 \n */\n fieldName?: NonNullable<\n CommonSearchWithEntityContext['sort']\n >[number]['fieldName'];\n /** \n Sort order. \n */\n order?: NonNullable<CommonSearchWithEntityContext['sort']>[number]['order'];\n }[];\n /** \n Aggregations | Faceted search: refers to a way to explore large amounts of data by displaying summaries about various partitions of the data and later allowing to narrow the navigation to a specific partition. \n */\n aggregations?: {\n value?: NonNullable<\n CommonSearchWithEntityContext['aggregations']\n >[number]['value'];\n range?: NonNullable<\n CommonSearchWithEntityContext['aggregations']\n >[number]['range'];\n scalar?: NonNullable<\n CommonSearchWithEntityContext['aggregations']\n >[number]['scalar'];\n name?:\n | NonNullable<\n CommonSearchWithEntityContext['aggregations']\n >[number]['name']\n | null;\n type?: NonNullable<\n CommonSearchWithEntityContext['aggregations']\n >[number]['type'];\n fieldPath?: NonNullable<\n CommonSearchWithEntityContext['aggregations']\n >[number]['fieldPath'];\n }[];\n /** \n free text to match in searchable fields \n */\n search?: {\n /** \n boolean search mode \n */\n mode?: NonNullable<CommonSearchWithEntityContext['search']>['mode'];\n /** \n search term or expression \n */\n expression?:\n | NonNullable<CommonSearchWithEntityContext['search']>['expression']\n | null;\n /** \n fields to search in. if empty - server will search in own default fields \n */\n fields?: NonNullable<CommonSearchWithEntityContext['search']>['fields'];\n /** \n flag if should use auto fuzzy search (allowing typos by a managed proximity algorithm) \n */\n fuzzy?: NonNullable<CommonSearchWithEntityContext['search']>['fuzzy'];\n };\n};\n\n/**\n * > **Note:** The Item API only works with the Wix Restaurants Menus (New) app. Make sure you have installed this app from the [Wix App Market](https://www.wix.com/app-market/wix-restaurants-menus-new).\n *\n * Retrieves the number of items that match a specified filter.\n *\n * If a filter isn't passed in the request, the endpoint returns the count of all items.\n * @public\n * @documentationMaturity preview\n * @permissionId RESTAURANTS.ITEM_READ\n * @applicableIdentity APP\n * @applicableIdentity VISITOR\n * @fqn com.wixpress.restaurants.menus_item.v1.RestaurantsMenusItem.CountItems\n */\nexport async function countItems(\n options?: CountItemsOptions\n): Promise<NonNullablePaths<CountItemsResponse, `count`>> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[1] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({\n filter: options?.filter,\n searchDetails: options?.searchDetails,\n });\n\n const reqOpts = ambassadorWixRestaurantsMenusV1Item.countItems(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data)!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: {\n filter: '$[0].filter',\n searchDetails: '$[0].searchDetails',\n },\n singleArgumentUnchanged: false,\n },\n ['options']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\nexport interface CountItemsOptions {\n /** Filter for counting items. */\n filter?: Record<string, any> | null;\n /** Search details. */\n searchDetails?: SearchDetails;\n}\n\n/**\n * > **Note:** The Item API only works with the Wix Restaurants Menus (New) app. Make sure you have installed this app from the [Wix App Market](https://www.wix.com/app-market/wix-restaurants-menus-new).\n *\n * Updates an item.\n *\n * To update multiple items at once, use [Bulk Update Item](https://dev.wix.com/docs/rest/business-solutions/restaurants/menus/item/bulk-update-item)\n *\n * Each time an item is updated, its revision increments by 1. The existing revision must be included when updating the item. This ensures you're working with the latest item information, and it prevents unintended overwrites.\n * @param _id - Item ID.\n * @public\n * @documentationMaturity preview\n * @requiredField _id\n * @requiredField item\n * @requiredField item.modifierGroups._id\n * @requiredField item.revision\n * @permissionId RESTAURANTS.ITEM_UPDATE\n * @applicableIdentity APP\n * @returns Updated item.\n * @fqn com.wixpress.restaurants.menus_item.v1.RestaurantsMenusItem.UpdateItem\n */\nexport async function updateItem(\n _id: string,\n item: NonNullablePaths<\n UpdateItem,\n `modifierGroups.${number}._id` | `revision`\n >\n): Promise<NonNullablePaths<Item, ItemNonNullablePaths>> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[2] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = transformPaths(\n renameKeysFromSDKRequestToRESTRequest({ item: { ...item, id: _id } }),\n [\n {\n transformFn: transformSDKImageToRESTImage,\n paths: [\n { path: 'item.image' },\n { path: 'item.additionalImages', isRepeated: true },\n ],\n },\n ]\n );\n\n const reqOpts = ambassadorWixRestaurantsMenusV1Item.updateItem(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(\n transformPaths(result.data, [\n {\n transformFn: transformRESTImageToSDKImage,\n paths: [\n { path: 'item.image' },\n { path: 'item.additionalImages', isRepeated: true },\n ],\n },\n ])\n )?.item!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: { item: '$[1]' },\n explicitPathsToArguments: { 'item.id': '$[0]' },\n singleArgumentUnchanged: false,\n },\n ['_id', 'item']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\nexport interface UpdateItem {\n /** Item price variants. */\n priceVariants?: PriceVariants;\n /** Item price info. */\n priceInfo?: PriceInfo;\n /**\n * Item ID.\n * @format GUID\n * @readonly\n */\n _id?: string | null;\n /**\n * Revision number, which increments by 1 each time the item is updated. To prevent conflicting changes, the current revision must be passed when updating the item. Ignored when creating a item.\n * @readonly\n */\n revision?: string | null;\n /**\n * Date and time the item was created.\n * @readonly\n */\n _createdDate?: Date | null;\n /**\n * Date and time the item was updated.\n * @readonly\n */\n _updatedDate?: Date | null;\n /**\n * Item name.\n * @minLength 1\n * @maxLength 200\n */\n name?: string;\n /**\n * Item description.\n * @maxLength 1500\n */\n description?: string | null;\n /** Main item image. */\n image?: string;\n /**\n * Additional item images.\n * @maxSize 15\n */\n additionalImages?: string[];\n /**\n * Item labels.\n * @maxSize 10\n */\n labels?: Label[];\n /** Whether the item is visible in the menu for site visitors. */\n visible?: boolean | null;\n /** Online order settings. */\n orderSettings?: OrderSettings;\n /**\n * Item modifier groups.\n * @maxSize 20\n */\n modifierGroups?: ModifierGroup[];\n /** Extended fields. */\n extendedFields?: ExtendedFields;\n /**\n * IDs of the business locations ([SDK](https://dev.wix.com/docs/sdk/backend-modules/restaurants/wix-restaurants-new/about-business-locations) | [REST](https://dev.wix.com/docs/rest/business-solutions/restaurants/wix-restaurants-new/about-business-locations)) where these items are available.\n * @maxSize 20\n * @format GUID\n * @readonly\n */\n businessLocationIds?: string[];\n}\n\n/**\n * > **Note:** The Item API only works with the Wix Restaurants Menus (New) app. Make sure you have installed this app from the [Wix App Market](https://www.wix.com/app-market/wix-restaurants-menus-new).\n *\n * Updates up to 100 multiple items at once.\n *\n * Each time an item is updated, its revision increments by 1. The existing revision must be included when updating item. This ensures you're working with the latest item information, and it prevents unintended overwrites.\n * @param items - Items to update.\n * @public\n * @documentationMaturity preview\n * @requiredField items\n * @requiredField items.item._id\n * @requiredField items.item.modifierGroups._id\n * @requiredField items.item.revision\n * @permissionId RESTAURANTS.ITEM_UPDATE\n * @applicableIdentity APP\n * @fqn com.wixpress.restaurants.menus_item.v1.RestaurantsMenusItem.BulkUpdateItem\n */\nexport async function bulkUpdateItem(\n items: NonNullablePaths<\n MaskedItem,\n `item._id` | `item.modifierGroups.${number}._id` | `item.revision`\n >[],\n options?: BulkUpdateItemOptions\n): Promise<\n NonNullablePaths<\n BulkUpdateItemResponse,\n | `results`\n | `results.${number}.itemMetadata.originalIndex`\n | `results.${number}.itemMetadata.success`\n | `results.${number}.itemMetadata.error.code`\n | `results.${number}.itemMetadata.error.description`\n | {\n [P in ItemNonNullablePaths]: `results.${number}.item.${P}`;\n }[ItemNonNullablePaths]\n | `bulkActionMetadata.totalSuccesses`\n | `bulkActionMetadata.totalFailures`\n | `bulkActionMetadata.undetailedFailures`\n >\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[2] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = transformPaths(\n renameKeysFromSDKRequestToRESTRequest({\n items: items,\n returnEntity: options?.returnEntity,\n }),\n [\n {\n transformFn: transformSDKImageToRESTImage,\n paths: [\n { path: 'items.item.image' },\n { path: 'items.item.additionalImages', isRepeated: true },\n ],\n },\n ]\n );\n\n const reqOpts = ambassadorWixRestaurantsMenusV1Item.bulkUpdateItem(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(\n transformPaths(result.data, [\n {\n transformFn: transformRESTImageToSDKImage,\n paths: [\n { path: 'results.item.image' },\n { path: 'results.item.additionalImages', isRepeated: true },\n ],\n },\n ])\n )!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: {\n items: '$[0]',\n returnEntity: '$[1].returnEntity',\n },\n singleArgumentUnchanged: false,\n },\n ['items', 'options']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\nexport interface BulkUpdateItemOptions {\n /** Whether to return entity in the response. */\n returnEntity?: boolean;\n}\n\n/**\n * > **Note:** The Item API only works with the Wix Restaurants Menus (New) app. Make sure you have installed this app from the [Wix App Market](https://www.wix.com/app-market/wix-restaurants-menus-new).\n *\n * Deletes an item.\n * @param itemId - Item ID.\n * @public\n * @documentationMaturity preview\n * @requiredField itemId\n * @permissionId RESTAURANTS.ITEM_DELETE\n * @applicableIdentity APP\n * @fqn com.wixpress.restaurants.menus_item.v1.RestaurantsMenusItem.DeleteItem\n */\nexport async function deleteItem(itemId: string): Promise<void> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[1] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({ itemId: itemId });\n\n const reqOpts = ambassadorWixRestaurantsMenusV1Item.deleteItem(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: { itemId: '$[0]' },\n singleArgumentUnchanged: false,\n },\n ['itemId']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\n/**\n * > **Note:** The Item API only works with the Wix Restaurants Menus (New) app. Make sure you have installed this app from the [Wix App Market](https://www.wix.com/app-market/wix-restaurants-menus-new).\n *\n * Deletes multiple items at once.\n * @param ids - Item IDs.\n * @public\n * @documentationMaturity preview\n * @requiredField ids\n * @permissionId RESTAURANTS.ITEM_DELETE\n * @applicableIdentity APP\n * @fqn com.wixpress.restaurants.menus_item.v1.RestaurantsMenusItem.BulkDeleteItems\n */\nexport async function bulkDeleteItems(\n ids: string[]\n): Promise<\n NonNullablePaths<\n BulkDeleteItemsResponse,\n | `results`\n | `results.${number}.itemMetadata.originalIndex`\n | `results.${number}.itemMetadata.success`\n | `results.${number}.itemMetadata.error.code`\n | `results.${number}.itemMetadata.error.description`\n | `bulkActionMetadata.totalSuccesses`\n | `bulkActionMetadata.totalFailures`\n | `bulkActionMetadata.undetailedFailures`\n >\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[1] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({ ids: ids });\n\n const reqOpts = ambassadorWixRestaurantsMenusV1Item.bulkDeleteItems(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data)!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: { ids: '$[0]' },\n singleArgumentUnchanged: false,\n },\n ['ids']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n","import { toURLSearchParams } from '@wix/sdk-runtime/rest-modules';\nimport { transformSDKFloatToRESTFloat } from '@wix/sdk-runtime/transformations/float';\nimport { transformRESTFloatToSDKFloat } from '@wix/sdk-runtime/transformations/float';\nimport { transformSDKTimestampToRESTTimestamp } from '@wix/sdk-runtime/transformations/timestamp';\nimport { transformRESTTimestampToSDKTimestamp } from '@wix/sdk-runtime/transformations/timestamp';\nimport { transformSDKFieldMaskToRESTFieldMask } from '@wix/sdk-runtime/transformations/field-mask';\nimport { transformPaths } from '@wix/sdk-runtime/transformations/transform-paths';\nimport { resolveUrl } from '@wix/sdk-runtime/rest-modules';\nimport { ResolveUrlOpts } from '@wix/sdk-runtime/rest-modules';\nimport { RequestOptionsFactory } from '@wix/sdk-types';\n\nfunction resolveComWixpressRestaurantsMenusItemV1RestaurantsMenusItemUrl(\n opts: Omit<ResolveUrlOpts, 'domainToMappings'>\n) {\n const domainToMappings = {\n 'manage._base_domain_': [\n {\n srcPath: '/_api/restaurants-menus-item',\n destPath: '',\n },\n ],\n _: [\n {\n srcPath: '/_api/restaurants-menus-item',\n destPath: '',\n },\n {\n srcPath: '/restaurants/menus/v1/items',\n destPath: '/v1/items',\n },\n {\n srcPath: '/restaurants/menus/v1/bulk/items',\n destPath: '/v1/bulk/items',\n },\n ],\n 'editor._base_domain_': [\n {\n srcPath: '/_api/restaurants-menus-item',\n destPath: '',\n },\n ],\n 'blocks._base_domain_': [\n {\n srcPath: '/_api/restaurants-menus-item',\n destPath: '',\n },\n ],\n 'create.editorx': [\n {\n srcPath: '/_api/restaurants-menus-item',\n destPath: '',\n },\n ],\n 'editor.wixapps.net': [\n {\n srcPath: '/_api/restaurants-menus-item',\n destPath: '',\n },\n ],\n '*.dev.wix-code.com': [\n {\n srcPath: '/_api/restaurants-menus-item',\n destPath: '',\n },\n {\n srcPath: '/restaurants/menus/v1/items',\n destPath: '/v1/items',\n },\n {\n srcPath: '/restaurants/menus/v1/bulk/items',\n destPath: '/v1/bulk/items',\n },\n ],\n 'www._base_domain_': [\n {\n srcPath: '/_api/restaurants-menus-item',\n destPath: '',\n },\n ],\n 'api._api_base_domain_': [\n {\n srcPath: '/restaurants-menus-item',\n destPath: '',\n },\n ],\n 'www.wixapis.com': [\n {\n srcPath: '/restaurants/menus-item',\n destPath: '',\n },\n {\n srcPath: '/restaurants/menus/v1/bulk/items',\n destPath: '/v1/bulk/items',\n },\n {\n srcPath: '/restaurants/menus/v1/items',\n destPath: '/v1/items',\n },\n ],\n 'apps._base_domain_': [\n {\n srcPath: '/_api/restaurants-menus-item',\n destPath: '',\n },\n ],\n };\n\n return resolveUrl(Object.assign(opts, { domainToMappings }));\n}\n\nfunction resolveComWixpressRestaurantsMenusItemV1RestaurantsDuplicateItemRestaurantsDuplicateItemUrl(\n opts: Omit<ResolveUrlOpts, 'domainToMappings'>\n) {\n const domainToMappings = {\n 'manage._base_domain_': [\n {\n srcPath: '/_api/restaurants-menus-item',\n destPath: '',\n },\n ],\n _: [\n {\n srcPath: '/_api/restaurants-menus-item',\n destPath: '',\n },\n {\n srcPath: '/restaurants/menus/v1/items',\n destPath: '/v1/items',\n },\n {\n srcPath: '/restaurants/menus/v1/bulk/items',\n destPath: '/v1/bulk/items',\n },\n ],\n 'editor._base_domain_': [\n {\n srcPath: '/_api/restaurants-menus-item',\n destPath: '',\n },\n ],\n 'blocks._base_domain_': [\n {\n srcPath: '/_api/restaurants-menus-item',\n destPath: '',\n },\n ],\n 'create.editorx': [\n {\n srcPath: '/_api/restaurants-menus-item',\n destPath: '',\n },\n ],\n 'editor.wixapps.net': [\n {\n srcPath: '/_api/restaurants-menus-item',\n destPath: '',\n },\n ],\n '*.dev.wix-code.com': [\n {\n srcPath: '/_api/restaurants-menus-item',\n destPath: '',\n },\n {\n srcPath: '/restaurants/menus/v1/items',\n destPath: '/v1/items',\n },\n {\n srcPath: '/restaurants/menus/v1/bulk/items',\n destPath: '/v1/bulk/items',\n },\n ],\n 'www._base_domain_': [\n {\n srcPath: '/_api/restaurants-menus-item',\n destPath: '',\n },\n ],\n 'api._api_base_domain_': [\n {\n srcPath: '/restaurants-menus-item',\n destPath: '',\n },\n ],\n 'www.wixapis.com': [\n {\n srcPath: '/restaurants/menus-item',\n destPath: '',\n },\n {\n srcPath: '/restaurants/menus/v1/bulk/items',\n destPath: '/v1/bulk/items',\n },\n {\n srcPath: '/restaurants/menus/v1/items',\n destPath: '/v1/items',\n },\n ],\n 'apps._base_domain_': [\n {\n srcPath: '/_api/restaurants-menus-item',\n destPath: '',\n },\n ],\n };\n\n return resolveUrl(Object.assign(opts, { domainToMappings }));\n}\n\nconst PACKAGE_NAME = '@wix/auto_sdk_restaurants_items';\n\nexport function duplicateItem(payload: object): RequestOptionsFactory<any> {\n function __duplicateItem({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.restaurants.menus.v1.item',\n method: 'POST' as any,\n methodFqn:\n 'com.wixpress.restaurants.menus_item.v1.restaurants_duplicate_item.RestaurantsDuplicateItem.DuplicateItem',\n packageName: PACKAGE_NAME,\n url: resolveComWixpressRestaurantsMenusItemV1RestaurantsDuplicateItemRestaurantsDuplicateItemUrl(\n { protoPath: '/v1/items/{id}/duplicate', data: payload, host }\n ),\n data: payload,\n };\n\n return metadata;\n }\n\n return __duplicateItem;\n}\n\n/**\n * > **Note:** The Item API only works with the Wix Restaurants Menus (New) app. Make sure you have installed this app from the [Wix App Market](https://www.wix.com/app-market/wix-restaurants-menus-new).\n *\n * Creates an item.\n *\n * To create multiple items at once, use [Bulk Create Items](https://dev.wix.com/docs/rest/business-solutions/restaurants/menus/item/bulk-create-items).\n */\nexport function createItem(payload: object): RequestOptionsFactory<any> {\n function __createItem({ host }: any) {\n const serializedData = transformPaths(payload, [\n {\n transformFn: transformSDKTimestampToRESTTimestamp,\n paths: [\n { path: 'item.createdDate' },\n { path: 'item.updatedDate' },\n { path: 'item.image.urlExpirationDate' },\n { path: 'item.additionalImages.urlExpirationDate' },\n ],\n },\n ]);\n const metadata = {\n entityFqdn: 'wix.restaurants.menus.v1.item',\n method: 'POST' as any,\n methodFqn:\n 'com.wixpress.restaurants.menus_item.v1.RestaurantsMenusItem.CreateItem',\n packageName: PACKAGE_NAME,\n url: resolveComWixpressRestaurantsMenusItemV1RestaurantsMenusItemUrl({\n protoPath: '/v1/items',\n data: serializedData,\n host,\n }),\n data: serializedData,\n transformResponse: (payload: any) =>\n transformPaths(payload, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: [\n { path: 'item.createdDate' },\n { path: 'item.updatedDate' },\n { path: 'item.image.urlExpirationDate' },\n { path: 'item.additionalImages.urlExpirationDate' },\n ],\n },\n ]),\n };\n\n return metadata;\n }\n\n return __createItem;\n}\n\n/**\n * > **Note:** The Items API only works with the Wix Restaurants Menus (New) app. Make sure you have installed this app from the [Wix App Market](https://www.wix.com/app-market/wix-restaurants-menus-new).\n *\n * Creates multiple items at once.\n */\nexport function bulkCreateItems(payload: object): RequestOptionsFactory<any> {\n function __bulkCreateItems({ host }: any) {\n const serializedData = transformPaths(payload, [\n {\n transformFn: transformSDKTimestampToRESTTimestamp,\n paths: [\n { path: 'items.createdDate' },\n { path: 'items.updatedDate' },\n { path: 'items.image.urlExpirationDate' },\n { path: 'items.additionalImages.urlExpirationDate' },\n ],\n },\n ]);\n const metadata = {\n entityFqdn: 'wix.restaurants.menus.v1.item',\n method: 'POST' as any,\n methodFqn:\n 'com.wixpress.restaurants.menus_item.v1.RestaurantsMenusItem.BulkCreateItems',\n packageName: PACKAGE_NAME,\n url: resolveComWixpressRestaurantsMenusItemV1RestaurantsMenusItemUrl({\n protoPath: '/v1/bulk/items/create',\n data: serializedData,\n host,\n }),\n data: serializedData,\n transformResponse: (payload: any) =>\n transformPaths(payload, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: [\n { path: 'results.item.createdDate' },\n { path: 'results.item.updatedDate' },\n { path: 'results.item.image.urlExpirationDate' },\n { path: 'results.item.additionalImages.urlExpirationDate' },\n ],\n },\n ]),\n };\n\n return metadata;\n }\n\n return __bulkCreateItems;\n}\n\n/**\n * > **Note:** The Item API only works with the Wix Restaurants Menus (New) app. Make sure you have installed this app from the [Wix App Market](https://www.wix.com/app-market/wix-restaurants-menus-new).\n *\n * Retrieves an item by ID.\n */\nexport function getItem(payload: object): RequestOptionsFactory<any> {\n function __getItem({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.restaurants.menus.v1.item',\n method: 'GET' as any,\n methodFqn:\n 'com.wixpress.restaurants.menus_item.v1.RestaurantsMenusItem.GetItem',\n packageName: PACKAGE_NAME,\n url: resolveComWixpressRestaurantsMenusItemV1RestaurantsMenusItemUrl({\n protoPath: '/v1/items/{itemId}',\n data: payload,\n host,\n }),\n params: toURLSearchParams(payload),\n transformResponse: (payload: any) =>\n transformPaths(payload, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: [\n { path: 'item.createdDate' },\n { path: 'item.updatedDate' },\n { path: 'item.image.urlExpirationDate' },\n { path: 'item.additionalImages.urlExpirationDate' },\n ],\n },\n ]),\n };\n\n return metadata;\n }\n\n return __getItem;\n}\n\n/**\n * > **Note:** The Item API only works with the Wix Restaurants Menus (New) app. Make sure you have installed this app from the [Wix App Market](https://www.wix.com/app-market/wix-restaurants-menus-new).\n *\n * Retrieves a list of up to 500 items.\n */\nexport function listItems(payload: object): RequestOptionsFactory<any> {\n function __listItems({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.restaurants.menus.v1.item',\n method: 'GET' as any,\n methodFqn:\n 'com.wixpress.restaurants.menus_item.v1.RestaurantsMenusItem.ListItems',\n packageName: PACKAGE_NAME,\n url: resolveComWixpressRestaurantsMenusItemV1RestaurantsMenusItemUrl({\n protoPath: '/v1/items',\n data: payload,\n host,\n }),\n params: toURLSearchParams(payload),\n transformResponse: (payload: any) =>\n transformPaths(payload, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: [\n { path: 'items.createdDate' },\n { path: 'items.updatedDate' },\n { path: 'items.image.urlExpirationDate' },\n { path: 'items.additionalImages.urlExpirationDate' },\n ],\n },\n ]),\n };\n\n return metadata;\n }\n\n return __listItems;\n}\n\n/**\n * Creates a query to retrieve a list of items.\n *\n * The `queryItems()` function builds a query to retrieve a list of items and returns a `ItemsQueryBuilder` object.\n *\n * The returned object contains the query definition, which is used to run the query using the [`find()`](/items/items-query-builder/find) function.\n *\n * You can refine the query by chaining `ItemsQueryBuilder` functions onto the query. `ItemsQueryBuilder` functions enable you to filter, sort, and control the results that `queryItems()` returns.\n *\n * `queryItems()` runs with the following `ItemsQueryBuilder` defaults, which you can override:\n *\n * * [`limit(500)`](/items/items-query-builder/limit)\n *\n * The following `ItemsQueryBuilder` functions are supported for `queryItems()`. For a full description of the item object, see the object returned for the [`items`](/items/items-query-result/items) property in `ItemsQueryResult`.\n */\nexport function queryItems(payload: object): RequestOptionsFactory<any> {\n function __queryItems({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.restaurants.menus.v1.item',\n method: 'POST' as any,\n methodFqn:\n 'com.wixpress.restaurants.menus_item.v1.RestaurantsMenusItem.QueryItems',\n packageName: PACKAGE_NAME,\n url: resolveComWixpressRestaurantsMenusItemV1RestaurantsMenusItemUrl({\n protoPath: '/v1/items/query',\n data: payload,\n host,\n }),\n data: payload,\n transformResponse: (payload: any) =>\n transformPaths(payload, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: [\n { path: 'items.createdDate' },\n { path: 'items.updatedDate' },\n { path: 'items.image.urlExpirationDate' },\n { path: 'items.additionalImages.urlExpirationDate' },\n ],\n },\n ]),\n };\n\n return metadata;\n }\n\n return __queryItems;\n}\n\n/**\n * > **Note:** The Item API only works with the Wix Restaurants Menus (New) app. Make sure you have installed this app from the [Wix App Market](https://www.wix.com/app-market/wix-restaurants-menus-new).\n *\n * Retrieves a list of items given the provided search options. Up to 500 items can be returned per request.\n */\nexport function searchItems(payload: object): RequestOptionsFactory<any> {\n function __searchItems({ host }: any) {\n const serializedData = transformPaths(payload, [\n {\n transformFn: transformSDKFloatToRESTFloat,\n paths: [\n { path: 'search.aggregations.range.buckets.from' },\n { path: 'search.aggregations.range.buckets.to' },\n ],\n },\n ]);\n const metadata = {\n entityFqdn: 'wix.restaurants.menus.v1.item',\n method: 'POST' as any,\n methodFqn:\n 'com.wixpress.restaurants.menus_item.v1.RestaurantsMenusItem.SearchItems',\n packageName: PACKAGE_NAME,\n url: resolveComWixpressRestaurantsMenusItemV1RestaurantsMenusItemUrl({\n protoPath: '/v1/items/search',\n data: serializedData,\n host,\n }),\n data: serializedData,\n transformResponse: (payload: any) =>\n transformPaths(payload, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: [\n { path: 'items.createdDate' },\n { path: 'items.updatedDate' },\n { path: 'items.image.urlExpirationDate' },\n { path: 'items.additionalImages.urlExpirationDate' },\n ],\n },\n {\n transformFn: transformRESTFloatToSDKFloat,\n paths: [\n { path: 'aggregationData.results.ranges.results.from' },\n { path: 'aggregationData.results.ranges.results.to' },\n { path: 'aggregationData.results.scalar.value' },\n ],\n },\n ]),\n fallback: [\n {\n method: 'POST' as any,\n url: resolveComWixpressRestaurantsMenusItemV1RestaurantsMenusItemUrl({\n protoPath: '/v1/items/search',\n data: serializedData,\n host,\n }),\n data: serializedData,\n },\n ],\n };\n\n return metadata;\n }\n\n return __searchItems;\n}\n\n/**\n * > **Note:** The Item API only works with the Wix Restaurants Menus (New) app. Make sure you have installed this app from the [Wix App Market](https://www.wix.com/app-market/wix-restaurants-menus-new).\n *\n * Retrieves the number of items that match a specified filter.\n *\n * If a filter isn't passed in the request, the endpoint returns the count of all items.\n */\nexport function countItems(payload: object): RequestOptionsFactory<any> {\n function __countItems({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.restaurants.menus.v1.item',\n method: 'POST' as any,\n methodFqn:\n 'com.wixpress.restaurants.menus_item.v1.RestaurantsMenusItem.CountItems',\n packageName: PACKAGE_NAME,\n url: resolveComWixpressRestaurantsMenusItemV1RestaurantsMenusItemUrl({\n protoPath: '/v1/items/count',\n data: payload,\n host,\n }),\n data: payload,\n };\n\n return metadata;\n }\n\n return __countItems;\n}\n\n/**\n * > **Note:** The Item API only works with the Wix Restaurants Menus (New) app. Make sure you have installed this app from the [Wix App Market](https://www.wix.com/app-market/wix-restaurants-menus-new).\n *\n * Updates an item.\n *\n * To update multiple items at once, use [Bulk Update Item](https://dev.wix.com/docs/rest/business-solutions/restaurants/menus/item/bulk-update-item)\n *\n * Each time an item is updated, its revision increments by 1. The existing revision must be included when updating the item. This ensures you're working with the latest item information, and it prevents unintended overwrites.\n */\nexport function updateItem(payload: object): RequestOptionsFactory<any> {\n function __updateItem({ host }: any) {\n const serializedData = transformPaths(payload, [\n {\n transformFn: transformSDKFieldMaskToRESTFieldMask,\n paths: [{ path: 'mask' }],\n },\n {\n transformFn: transformSDKTimestampToRESTTimestamp,\n paths: [\n { path: 'item.createdDate' },\n { path: 'item.updatedDate' },\n { path: 'item.image.urlExpirationDate' },\n { path: 'item.additionalImages.urlExpirationDate' },\n ],\n },\n ]);\n const metadata = {\n entityFqdn: 'wix.restaurants.menus.v1.item',\n method: 'PATCH' as any,\n methodFqn:\n 'com.wixpress.restaurants.menus_item.v1.RestaurantsMenusItem.UpdateItem',\n packageName: PACKAGE_NAME,\n url: resolveComWixpressRestaurantsMenusItemV1RestaurantsMenusItemUrl({\n protoPath: '/v1/items/{item.id}',\n data: serializedData,\n host,\n }),\n data: serializedData,\n transformResponse: (payload: any) =>\n transformPaths(payload, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: [\n { path: 'item.createdDate' },\n { path: 'item.updatedDate' },\n { path: 'item.image.urlExpirationDate' },\n { path: 'item.additionalImages.urlExpirationDate' },\n ],\n },\n ]),\n };\n\n return metadata;\n }\n\n return __updateItem;\n}\n\n/**\n * > **Note:** The Item API only works with the Wix Restaurants Menus (New) app. Make sure you have installed this app from the [Wix App Market](https://www.wix.com/app-market/wix-restaurants-menus-new).\n *\n * Updates up to 100 multiple items at once.\n *\n * Each time an item is updated, its revision increments by 1. The existing revision must be included when updating item. This ensures you're working with the latest item information, and it prevents unintended overwrites.\n */\nexport function bulkUpdateItem(payload: object): RequestOptionsFactory<any> {\n function __bulkUpdateItem({ host }: any) {\n const serializedData = transformPaths(payload, [\n {\n transformFn: transformSDKFieldMaskToRESTFieldMask,\n paths: [{ path: 'items.mask' }],\n },\n {\n transformFn: transformSDKTimestampToRESTTimestamp,\n paths: [\n { path: 'items.item.createdDate' },\n { path: 'items.item.updatedDate' },\n { path: 'items.item.image.urlExpirationDate' },\n { path: 'items.item.additionalImages.urlExpirationDate' },\n ],\n },\n ]);\n const metadata = {\n entityFqdn: 'wix.restaurants.menus.v1.item',\n method: 'POST' as any,\n methodFqn:\n 'com.wixpress.restaurants.menus_item.v1.RestaurantsMenusItem.BulkUpdateItem',\n packageName: PACKAGE_NAME,\n url: resolveComWixpressRestaurantsMenusItemV1RestaurantsMenusItemUrl({\n protoPath: '/v1/bulk/items/update',\n data: serializedData,\n host,\n }),\n data: serializedData,\n transformResponse: (payload: any) =>\n transformPaths(payload, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: [\n { path: 'results.item.createdDate' },\n { path: 'results.item.updatedDate' },\n { path: 'results.item.image.urlExpirationDate' },\n { path: 'results.item.additionalImages.urlExpirationDate' },\n ],\n },\n ]),\n };\n\n return metadata;\n }\n\n return __bulkUpdateItem;\n}\n\n/**\n * > **Note:** The Item API only works with the Wix Restaurants Menus (New) app. Make sure you have installed this app from the [Wix App Market](https://www.wix.com/app-market/wix-restaurants-menus-new).\n *\n * Deletes an item.\n */\nexport function deleteItem(payload: object): RequestOptionsFactory<any> {\n function __deleteItem({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.restaurants.menus.v1.item',\n method: 'DELETE' as any,\n methodFqn:\n 'com.wixpress.restaurants.menus_item.v1.RestaurantsMenusItem.DeleteItem',\n packageName: PACKAGE_NAME,\n url: resolveComWixpressRestaurantsMenusItemV1RestaurantsMenusItemUrl({\n protoPath: '/v1/items/{itemId}',\n data: payload,\n host,\n }),\n params: toURLSearchParams(payload),\n };\n\n return metadata;\n }\n\n return __deleteItem;\n}\n\n/**\n * > **Note:** The Item API only works with the Wix Restaurants Menus (New) app. Make sure you have installed this app from the [Wix App Market](https://www.wix.com/app-market/wix-restaurants-menus-new).\n *\n * Deletes multiple items at once.\n */\nexport function bulkDeleteItems(payload: object): RequestOptionsFactory<any> {\n function __bulkDeleteItems({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.restaurants.menus.v1.item',\n method: 'DELETE' as any,\n methodFqn:\n 'com.wixpress.restaurants.menus_item.v1.RestaurantsMenusItem.BulkDeleteItems',\n packageName: PACKAGE_NAME,\n url: resolveComWixpressRestaurantsMenusItemV1RestaurantsMenusItemUrl({\n protoPath: '/v1/bulk/items/delete',\n data: payload,\n host,\n }),\n params: toURLSearchParams(payload),\n };\n\n return metadata;\n }\n\n return __bulkDeleteItems;\n}\n","import {\n duplicateItem as publicDuplicateItem,\n createItem as publicCreateItem,\n bulkCreateItems as publicBulkCreateItems,\n getItem as publicGetItem,\n listItems as publicListItems,\n queryItems as publicQueryItems,\n searchItems as publicSearchItems,\n countItems as publicCountItems,\n updateItem as publicUpdateItem,\n bulkUpdateItem as publicBulkUpdateItem,\n deleteItem as publicDeleteItem,\n bulkDeleteItems as publicBulkDeleteItems,\n} from './restaurants-menus-v1-item-items.public.js';\nimport { createRESTModule } from '@wix/sdk-runtime/rest-modules';\nimport { createEventModule } from '@wix/sdk-runtime/event-definition-modules';\nimport {\n BuildRESTFunction,\n MaybeContext,\n BuildEventDefinition,\n} from '@wix/sdk-types';\nimport { onItemCreated as publicOnItemCreated } from './restaurants-menus-v1-item-items.public.js';\nimport { onItemDeleted as publicOnItemDeleted } from './restaurants-menus-v1-item-items.public.js';\nimport { onItemUpdated as publicOnItemUpdated } from './restaurants-menus-v1-item-items.public.js';\n\nexport const duplicateItem: MaybeContext<\n BuildRESTFunction<typeof publicDuplicateItem> & typeof publicDuplicateItem\n> = /*#__PURE__*/ createRESTModule(publicDuplicateItem);\nexport const createItem: MaybeContext<\n BuildRESTFunction<typeof publicCreateItem> & typeof publicCreateItem\n> = /*#__PURE__*/ createRESTModule(publicCreateItem);\nexport const bulkCreateItems: MaybeContext<\n BuildRESTFunction<typeof publicBulkCreateItems> & typeof publicBulkCreateItems\n> = /*#__PURE__*/ createRESTModule(publicBulkCreateItems);\nexport const getItem: MaybeContext<\n BuildRESTFunction<typeof publicGetItem> & typeof publicGetItem\n> = /*#__PURE__*/ createRESTModule(publicGetItem);\nexport const listItems: MaybeContext<\n BuildRESTFunction<typeof publicListItems> & typeof publicListItems\n> = /*#__PURE__*/ createRESTModule(publicListItems);\nexport const queryItems: MaybeContext<\n BuildRESTFunction<typeof publicQueryItems> & typeof publicQueryItems\n> = /*#__PURE__*/ createRESTModule(publicQueryItems);\nexport const searchItems: MaybeContext<\n BuildRESTFunction<typeof publicSearchItems> & typeof publicSearchItems\n> = /*#__PURE__*/ createRESTModule(publicSearchItems);\nexport const countItems: MaybeContext<\n BuildRESTFunction<typeof publicCountItems> & typeof publicCountItems\n> = /*#__PURE__*/ createRESTModule(publicCountItems);\nexport const updateItem: MaybeContext<\n BuildRESTFunction<typeof publicUpdateItem> & typeof publicUpdateItem\n> = /*#__PURE__*/ createRESTModule(publicUpdateItem);\nexport const bulkUpdateItem: MaybeContext<\n BuildRESTFunction<typeof publicBulkUpdateItem> & typeof publicBulkUpdateItem\n> = /*#__PURE__*/ createRESTModule(publicBulkUpdateItem);\nexport const deleteItem: MaybeContext<\n BuildRESTFunction<typeof publicDeleteItem> & typeof publicDeleteItem\n> = /*#__PURE__*/ createRESTModule(publicDeleteItem);\nexport const bulkDeleteItems: MaybeContext<\n BuildRESTFunction<typeof publicBulkDeleteItems> & typeof publicBulkDeleteItems\n> = /*#__PURE__*/ createRESTModule(publicBulkDeleteItems);\n/** */\nexport const onItemCreated: BuildEventDefinition<typeof publicOnItemCreated> =\n createEventModule(publicOnItemCreated);\n/** */\nexport const onItemDeleted: BuildEventDefinition<typeof publicOnItemDeleted> =\n createEventModule(publicOnItemDeleted);\n/**\n * Triggered when an item is updated.\n */\nexport const onItemUpdated: BuildEventDefinition<typeof publicOnItemUpdated> =\n createEventModule(publicOnItemUpdated);\n\nexport {\n Enum,\n State,\n PlacementType,\n DayOfWeek,\n ResolutionMethod,\n WebhookIdentityType,\n SortOrder,\n SortType,\n SortDirection,\n ScalarType,\n AggregationType,\n Mode,\n} from './restaurants-menus-v1-item-items.universal.js';\nexport {\n Item,\n ItemPricingOneOf,\n PriceVariants,\n PriceVariant,\n PriceInfo,\n Label,\n OrderSettings,\n ModifierGroup,\n ExtendedFields,\n DuplicateItemRequest,\n DuplicateItemResponse,\n UpdateDocumentsEvent,\n UpdateDocumentsEventOperationOneOf,\n DocumentUpdateOperation,\n IndexDocument,\n DocumentPayload,\n DocumentImage,\n DeleteByIdsOperation,\n DeleteByFilterOperation,\n UpdateByFilterOperation,\n UpdateExistingOperation,\n DomainEvent,\n DomainEventBodyOneOf,\n EntityCreatedEvent,\n RestoreInfo,\n EntityUpdatedEvent,\n EntityDeletedEvent,\n ActionEvent,\n Empty,\n SearchIndexingNotification,\n SitePropertiesNotification,\n SitePropertiesEvent,\n Properties,\n Categories,\n Locale,\n Address,\n AddressHint,\n GeoCoordinates,\n BusinessSchedule,\n TimePeriod,\n SpecialHourPeriod,\n Multilingual,\n SupportedLanguage,\n ConsentPolicy,\n Translation,\n ChangeContext,\n ChangeContextPayloadOneOf,\n PropertiesChange,\n SiteCreated,\n SiteCloned,\n MessageEnvelope,\n IdentificationData,\n IdentificationDataIdOneOf,\n InvalidateCache,\n InvalidateCacheGetByOneOf,\n App,\n Page,\n URI,\n File,\n CustomTag,\n DeleteLocationIdsFromVariants,\n DeleteLocationIdsFromModifierGroups,\n CreateItemRequest,\n CreateItemResponse,\n BulkCreateItemsRequest,\n BulkCreateItemsResponse,\n BulkCreateItemResult,\n ItemMetadata,\n ApplicationError,\n BulkActionMetadata,\n GetItemRequest,\n GetItemResponse,\n ListItemsRequest,\n CursorPaging,\n ListItemsResponse,\n CursorPagingMetadata,\n Cursors,\n QueryItemsRequest,\n CursorQuery,\n CursorQueryPagingMethodOneOf,\n Sorting,\n QueryItemsResponse,\n SearchItemsRequest,\n CursorSearch,\n CursorSearchPagingMethodOneOf,\n Aggregation,\n AggregationKindOneOf,\n RangeBucket,\n ValueAggregation,\n RangeAggregation,\n ScalarAggregation,\n SearchDetails,\n SearchItemsResponse,\n AggregationData,\n ValueAggregationResult,\n RangeAggregationResult,\n ValueResults,\n RangeResults,\n ScalarResult,\n AggregationResults,\n AggregationResultsResultOneOf,\n CountItemsRequest,\n CountItemsResponse,\n UpdateItemRequest,\n UpdateItemResponse,\n BulkUpdateItemRequest,\n MaskedItem,\n BulkUpdateItemResponse,\n BulkUpdateItemResponseBulkItemResult,\n DeleteItemRequest,\n DeleteItemResponse,\n BulkDeleteItemsRequest,\n BulkDeleteItemsResponse,\n BulkDeleteItemResult,\n CloneItemsRequest,\n CloneItemsResponse,\n BulkUpdateBusinessLocationIdsRequest,\n BulkUpdateBusinessLocationIdsResponse,\n BulkUpdateBusinessLocationIdsResponseBulkItemResult,\n BulkUpdateBusinessLocationIdsPerEntityRequest,\n ItemIdLocationIds,\n BulkUpdateBusinessLocationIdsPerEntityResponse,\n BulkItemResult,\n BaseEventMetadata,\n EventMetadata,\n ItemCreatedEnvelope,\n ItemDeletedEnvelope,\n ItemUpdatedEnvelope,\n DuplicateItemOptions,\n BulkCreateItemsOptions,\n ListItemsOptions,\n ItemsQueryResult,\n ItemsQueryBuilder,\n ItemSearchSpec,\n CountItemsOptions,\n UpdateItem,\n BulkUpdateItemOptions,\n} from './restaurants-menus-v1-item-items.universal.js';\n"],"mappings":"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","names":["bulkCreateItems","bulkDeleteItems","bulkUpdateItem","countItems","createItem","deleteItem","duplicateItem","getItem","listItems","onItemCreated","onItemDeleted","onItemUpdated","queryItems","searchItems","updateItem","import_rename_all_nested_keys","import_image","import_timestamp","import_transform_paths","import_float","import_timestamp","import_rest_modules","payload","import_image","import_transform_paths","Enum","State","PlacementType","DayOfWeek","ResolutionMethod","WebhookIdentityType","SortOrder","SortType","SortDirection","ScalarType","AggregationType","Mode","duplicateItem","sdkTransformError","createItem","bulkCreateItems","getItem","listItems","queryItems","searchItems","countItems","updateItem","bulkUpdateItem","deleteItem","bulkDeleteItems","duplicateItem","createItem","bulkCreateItems","getItem","listItems","queryItems","searchItems","countItems","updateItem","bulkUpdateItem","deleteItem","bulkDeleteItems","import_rest_modules","duplicateItem","createItem","bulkCreateItems","getItem","listItems","queryItems","searchItems","countItems","updateItem","bulkUpdateItem","deleteItem","bulkDeleteItems","onItemCreated","onItemDeleted","onItemUpdated"]}