UNPKG

@simpleapps-com/augur-api

Version:

TypeScript client library for Augur microservices API endpoints

54 lines 2.21 kB
import { z } from 'zod'; import { BaseResponseSchema, BaseGetParamsSchema } from '../../../core/schemas'; import { SearchTypeSchema, OperatorSchema } from './common'; // Item search schemas export const ItemSearchParamsSchema = BaseGetParamsSchema.extend({ q: z.string().min(1, 'Search query is required'), searchType: SearchTypeSchema, cacheSiteId: z.string().optional(), cacheTtl: z.coerce.number().optional().default(0), classId5ExcludeList: z.string().optional(), classId5List: z.string().optional(), fields: z.string().optional(), filters: z.string().optional(), from: z.coerce.number().optional(), itemCategoryUidList: z.string().optional(), operator: OperatorSchema, parentCategoryUid: z.coerce.number().optional(), size: z.coerce.number().optional(), sort: z.string().optional(), sourceFieldsList: z.string().optional(), tags: z.string().optional(), useBrandFolderDoc: z.union([z.literal('Y'), z.literal('N')]).default('N'), }); export const SearchItemSchema = z.object({ invMastUid: z.number(), itemId: z.string().max(40).nullable().optional(), itemDesc: z.string().max(40).nullable().optional(), score: z.number().nullable().optional(), scoreInt: z.number(), sourceFields: z.union([z.record(z.unknown()), z.array(z.unknown())]).optional(), brandFolder: z .object({ assets: z .array(z.object({ id: z.union([z.string(), z.number()]).optional(), name: z.string().nullable().optional(), attachmentName: z.string().nullable().optional(), cdnLink: z.string().nullable().optional(), layout: z.record(z.unknown()).nullable().optional(), })) .optional(), }) .optional(), }); export const ItemSearchDataSchema = z.object({ items: z.array(SearchItemSchema), totalResults: z.number(), maxScore: z.number(), took: z.number(), queryStringUid: z.number().nullable().optional(), queryStringRedirectLink: z.union([z.string(), z.boolean()]).optional(), }); export const ItemSearchResponseSchema = BaseResponseSchema(ItemSearchDataSchema); //# sourceMappingURL=search.js.map