12345678910111213141516171819202122232425262728293031323334353637383940414243 |
- import { createAuth, AuthMode, addMethods } from '@algolia/client-common';
- import { createTransporter } from '@algolia/transporter';
- import { MethodEnum } from '@algolia/requester-common';
- const createPersonalizationClient = options => {
- const region = options.region || 'us';
- const auth = createAuth(AuthMode.WithinHeaders, options.appId, options.apiKey);
- const transporter = createTransporter({
- hosts: [{ url: `personalization.${region}.algolia.com` }],
- ...options,
- headers: {
- ...auth.headers(),
- ...{ 'content-type': 'application/json' },
- ...options.headers,
- },
- queryParameters: {
- ...auth.queryParameters(),
- ...options.queryParameters,
- },
- });
- return addMethods({ appId: options.appId, transporter }, options.methods);
- };
- const getPersonalizationStrategy = (base) => {
- return (requestOptions) => {
- return base.transporter.read({
- method: MethodEnum.Get,
- path: '1/strategies/personalization',
- }, requestOptions);
- };
- };
- const setPersonalizationStrategy = (base) => {
- return (personalizationStrategy, requestOptions) => {
- return base.transporter.write({
- method: MethodEnum.Post,
- path: '1/strategies/personalization',
- data: personalizationStrategy,
- }, requestOptions);
- };
- };
- export { createPersonalizationClient, getPersonalizationStrategy, setPersonalizationStrategy };
|