@simpleapps-com/augur-api
Version:
TypeScript client library for Augur microservices API endpoints
30 lines • 1.3 kB
JavaScript
import { z } from 'zod';
import { StandardPaginationParamsSchema, EdgeCacheParamsSchema } from './common-schemas';
/**
* Schema factory utilities for creating consistent, reusable schema patterns
* across all microservices. These factories reduce duplication and ensure
* standardization of common API patterns.
*/
/**
* Create a standardized list parameters schema with pagination, search, and caching
*
* @param extensions Additional service-specific parameters to merge
* @returns Combined schema with standard list parameters plus service extensions
*/
export const createListParamsSchema = (extensions) => {
const baseSchema = StandardPaginationParamsSchema.merge(EdgeCacheParamsSchema).extend({
q: z.string().optional(), // Universal search parameter
});
return extensions ? baseSchema.extend(extensions) : baseSchema;
};
/**
* Create a standardized get parameters schema with caching support
*
* @param extensions Additional service-specific parameters to merge
* @returns Combined schema with caching parameters plus service extensions
*/
export const createGetParamsSchema = (extensions) => {
const baseSchema = EdgeCacheParamsSchema;
return extensions ? baseSchema.extend(extensions) : baseSchema;
};
//# sourceMappingURL=schema-factories.js.map