@lableb/javascript-sdk
Version:
Lableb cloud search client for javascript
51 lines (33 loc) • 1.64 kB
text/typescript
import { LablebHttpClient } from "../../http-client";
import { BatchSearchFeedbackRequestParams, SingleSearchFeedbackRequestParams } from "../../request/search-feedback/search-feedback.request.type";
import { camelCaseToSnackCaseObject } from "../../utils";
import { LablebAPIResponseWrapper, LablebSDKContext } from "../lableb-client/lableb-client.type";
import { SearchFeedbackResponse } from "./search-feedback.type";
export async function lablebClientSingleSearchFeedback(
this: LablebSDKContext,
singleSearchFeedbackOptions: SingleSearchFeedbackRequestParams
): Promise<LablebAPIResponseWrapper<SearchFeedbackResponse>> {
const { url, headers, method, params, body } = await this.requestBuilder.feedback.search.single(singleSearchFeedbackOptions);
const interceptedRequestParams = ({
method,
url,
headers,
params: camelCaseToSnackCaseObject(params),
body: body.map(camelCaseToSnackCaseObject),
});
return await LablebHttpClient(interceptedRequestParams);
}
export async function lablebClientBatchSearchFeedback(
this: LablebSDKContext,
batchSearchFeedbackOptions: BatchSearchFeedbackRequestParams
): Promise<LablebAPIResponseWrapper<SearchFeedbackResponse>> {
const { url, headers, method, params, body } = await this.requestBuilder.feedback.search.batch(batchSearchFeedbackOptions);
const interceptedRequestParams = ({
method,
url,
headers,
params: camelCaseToSnackCaseObject(params),
body: body.map(camelCaseToSnackCaseObject),
});
return await LablebHttpClient(interceptedRequestParams);
}