@simpleapps-com/augur-api
Version:
TypeScript client library for Augur microservices API endpoints
35 lines • 1.57 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.createGetParamsSchema = exports.createListParamsSchema = void 0;
const zod_1 = require("zod");
const common_schemas_1 = require("./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
*/
const createListParamsSchema = (extensions) => {
const baseSchema = common_schemas_1.StandardPaginationParamsSchema.merge(common_schemas_1.EdgeCacheParamsSchema).extend({
q: zod_1.z.string().optional(), // Universal search parameter
});
return extensions ? baseSchema.extend(extensions) : baseSchema;
};
exports.createListParamsSchema = createListParamsSchema;
/**
* 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
*/
const createGetParamsSchema = (extensions) => {
const baseSchema = common_schemas_1.EdgeCacheParamsSchema;
return extensions ? baseSchema.extend(extensions) : baseSchema;
};
exports.createGetParamsSchema = createGetParamsSchema;
//# sourceMappingURL=schema-factories.js.map