@chubbyts/chubbyts-api
Version:
[](https://github.com/chubbyts/chubbyts-api/actions?query=workflow%3ACI) [ • 880 B
JavaScript
import { createBadRequest } from '@chubbyts/chubbyts-http-error/dist/http-error';
import { stringifyResponseBody, valueToData } from '../response.js';
import { zodToInvalidParameters } from '../zod-to-invalid-parameters.js';
export const createListHandler = (inputModelListSchema, resolveModelList, responseFactory, enrichedModelListSchema, encoder, enrichModelList = async (list) => list) => {
return async (request) => {
const inputListResult = inputModelListSchema.safeParse(request.uri.query);
if (!inputListResult.success) {
throw createBadRequest({ invalidParameters: zodToInvalidParameters(inputListResult.error) });
}
return stringifyResponseBody(request, responseFactory(200), encoder, valueToData(enrichedModelListSchema.parse(await enrichModelList(await resolveModelList(inputListResult.data), { request }))));
};
};