Middleware Extension
Coveo integration requires a middleware extension to be added to the middleware configuration.
Install the integration package
If you did not install the module using the Storefront CLI, you need to install the @vsf-enterprise/coveo-api
package. Please, check the Installation section.
Create configuration file
Create storefront-middleware/integrations/coveo
directory and a file with configuration related to Coveo inside, let's say it's index.ts
.
// storefront-middleware/integrations/coveo/index.ts
import type { IntegrationConfig } from "@vsf-enterprise/coveo-api";
import type { ApiClientExtension, Integration } from "@vue-storefront/middleware";
import { coveoExtensionFactory } from "@sf-modules-middleware/coveo";
export const config = {
location: "@vsf-enterprise/coveo-api/server",
configuration: {},
extensions: (extensions: ApiClientExtension[]) => [
...extensions,
coveoExtensionFactory({
defaultCurrency: 'USD', // Default currency used as a fallback if it's absent in the payload
commerce: 'commerce' // Name of the key under which the eCommerce integration is registered inside config.integrations object
}),
],
} satisfies Integration<IntegrationConfig>;
Configure the middleware
Add the coveo
configuration to the storefront-middleware/middleware.config.ts
file. It will enable the middleware to use the Coveo integration and expose required API methods.
import { config as coveoConfig } from "./integrations/coveo";
// ...
const config = {
integrations: {
//...
coveo: coveoConfig,
//...
},
};