@simpleapps-com/augur-api
Version:
TypeScript client library for Augur microservices API endpoints
40 lines • 1.76 kB
JavaScript
import { z } from 'zod';
import { BaseResponseSchema } from '../../../core/schemas';
/** Search type enumeration */
export const SearchTypeSchema = z.enum(['query', 'similarity']);
/** Search operator enumeration */
export const OperatorSchema = z.enum(['AND', 'OR']);
/** Brand folder document usage */
export const UseBrandFolderDocSchema = z.enum(['Y', 'N']);
/** Item search request params */
export const ItemSearchParamsSchema = z.object({
q: z.string().min(1).describe('Search query (required)'),
searchType: SearchTypeSchema.optional(),
cacheSiteId: z.string().optional(),
cacheTtl: z.number().int().min(0).optional().default(0),
classId5ExcludeList: z.string().optional(),
classId5List: z.string().optional(),
fields: z.string().optional(),
filters: z.string().optional(),
from: z.number().int().min(0).optional(),
itemCategoryUidList: z.string().optional(),
operator: OperatorSchema.optional().default('OR'),
parentCategoryUid: z.number().int().optional(),
size: z.number().int().min(1).optional(),
sort: z.string().optional(),
sourceFieldsList: z.string().optional(),
tags: z.string().optional(),
useBrandFolderDoc: UseBrandFolderDocSchema.optional().default('N'),
});
/** Search item - key field only, passthrough for API flexibility */
export const SearchItemSchema = z.object({ invMastUid: z.number().int() }).passthrough();
/** Item search data - passthrough for API flexibility */
export const ItemSearchDataSchema = z
.object({
items: z.array(SearchItemSchema),
totalResults: z.number().int(),
})
.passthrough();
/** Item search response */
export const ItemSearchResponseSchema = BaseResponseSchema(ItemSearchDataSchema);
//# sourceMappingURL=itemSearch.js.map