UNPKG

@lableb/javascript-sdk

Version:

Lableb cloud search client for javascript

46 lines (36 loc) 1.58 kB
import { customIdentity, customPickBy } from '../../utils'; import { GlobalRequestOptions } from '../main/main.request.type'; import { SearchByIdRequestParams, SearchByIdRequestResult } from './search-by-id.request.type'; import { buildSearchByIdRequestSchema } from './search-by-id.schema'; export async function buildSearchByIdRequest(this: GlobalRequestOptions, params: SearchByIdRequestParams): Promise<SearchByIdRequestResult> { const validatedParams = await buildSearchByIdRequestSchema .validate( customPickBy({ ...params, indexName: params.indexName || this?.indexName || process.env.GLOBAL_DEFAULT_INDEX_NAME, platformName: params.platformName || this?.platformName, APIKey: params.APIKey || this?.APIKey, userCountry: params.userCountry || this?.userCountry, userId: params.userId || this?.userId, userIp: params.userIp || this?.userIp, sessionId: params.sessionId || this?.sessionId, sessionIdGenerator: params.sessionIdGenerator || this?.sessionIdGenerator, }, customIdentity) ); const { indexName, platformName, APIKey, id, ...restOfOptions } = validatedParams; return { method: 'GET', url: `${process.env.API_BASE_URL}/projects/${platformName}/indices/${indexName}/documents/${id}`, params: { apikey: APIKey, ...restOfOptions }, headers: {}, } }