Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 | 19x 19x 19x | import * as yup from 'yup';
import { MESSAGES } from '../../config/messages';
import { BaseRequestParams, OptionalBaseRequestParams } from '../../types';
import { isValidDocumentIdForYup, isValidIPAddress, validateSessionIdGenerator } from '../../utils';
import { GlobalRequestOptions } from './main.request.type';
// @ts-ignore
export const optionalBaseRequestSchema: yup.SchemaOf<OptionalBaseRequestParams> = yup.object()
.shape({
sessionId: yup.string().optional(),
userId: yup.string().optional().test('test-id', MESSAGES.INVALID_USER_ID, isValidDocumentIdForYup),
userIp: yup.string().optional().test('test-ip', MESSAGES.INVALID_IP_ADDRESS, isValidIPAddress),
userCountry: yup.string().length(2, MESSAGES.COUNTRY_NAME_LENGTH_IS_INVALID).optional().uppercase(),
sessionIdGenerator: yup.mixed().test('test-type', MESSAGES.SESSION_ID_GENERATOR_TYPE_ERROR, validateSessionIdGenerator)
});
// @ts-ignore
export const mainRequestSchema: yup.SchemaOf<GlobalRequestOptions> =
optionalBaseRequestSchema.concat(
// @ts-ignore
yup.object()
.shape({
APIKey: yup.string().optional(),
indexingAPIKey: yup.string().optional(),
platformName: yup.string().optional(),
indexName: yup.string().optional(),
searchHandler: yup.string().optional(),
autocompleteHandler: yup.string().optional(),
recommendHandler: yup.string().optional(),
})
);
// @ts-ignore
export const baseRequestSchema: yup.SchemaOf<BaseRequestParams> =
optionalBaseRequestSchema.concat(
yup.object()
.shape({
platformName: yup.string().required(MESSAGES.PLATFORM_NAME_IS_REQUIRED),
indexName: yup.string().required(MESSAGES.INDEX_NAME_IS_REQUIRED),
indexingAPIKey: yup.string().optional(),
APIKey: yup.string().optional(),
})
);
|