All files / request/main main.request.schema.ts

100% Statements 3/3
100% Branches 0/0
100% Functions 0/0
100% Lines 3/3

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(),
 
            })
    );