This is the adapter that makes it possible to connect with MX via the Universal Connect Widget.
This package is meant to be used with the Universal Connect Widget. If you have forked the UCW project, you can install it as a dependency of the widget.
Navigate to your forked project and, from the root of the project, run:
npm i @ucp-npm/mx-adapter --workspace apps/server
Once you have the npm package installed, you can set up the ucw to use it.
In the ./apps/server/adapterSetup.ts
file, do the following:
Import getMxAdapterMapObject
from the MX adapter package:
import { getMxAdapterMapObject } from "@ucp-npm/mx-adapter";
Import the logger and cache client (redis) dependencies:
import * as logger from "./infra/logger";
import { get, set } from "./services/storageClient/redis";
Next, look for the line that starts with export const adapterMap = {
, and add the adapter map as follows:
const mxAdapterMapObject = getMxAdapterMapObject({
cacheClient: {
set: set,
get: get,
},
logClient: logger,
aggregatorCredentials: {
mxInt: {
username: config.MX_CLIENT_ID,
password: config.MX_API_SECRET,
},
mxProd: {
username: config.MX_CLIENT_ID_PROD,
password: config.MX_API_SECRET_PROD,
},
},
envConfig: {
HOSTURL: config.HOST_URL,
},
});
export const adapterMap = {
...mxAdapterMapObject,
...testAdapterMapObject,
};
The logClient
and cacheClient
dependencies are provided by the Universal Connect Widget.
https://www.npmjs.com/package/@ucp-npm/mx-adapter
See https://universalconnectproject.org/ for more information.