UNPKG

@simpleapps-com/augur-api

Version:

TypeScript client library for Augur microservices API endpoints

88 lines 2.85 kB
import { z } from 'zod'; import { BaseResponseSchema, BaseGetParamsSchema } from '../../../core/schemas'; // Content schemas export const ContentSchema = z.object({ id: z.number(), title: z.string(), alias: z.string(), catid: z.number(), state: z.number().optional(), created: z.string(), modified: z.string(), introtext: z.string().optional(), fulltext: z.string().optional(), ordering: z.number().optional(), images: z .object({ image_intro: z.string().optional(), image_fulltext: z.string().optional(), float_intro: z.string().optional(), float_fulltext: z.string().optional(), }) .optional(), hits: z.number().optional(), metadata: z.unknown().optional(), }); export const ContentListParamsSchema = BaseGetParamsSchema.extend({ categoryIdList: z.string().optional(), limit: z.number().optional().default(12), offset: z.number().optional().default(0), orderBy: z.string().optional(), q: z.string().optional(), tagsList: z.string().optional(), }); export const ContentGetParamsSchema = BaseGetParamsSchema.extend({ alias: z.string().optional(), catid: z.number().optional(), }); // Response schemas using BaseResponseSchema (8-field format) export const ContentListResponseSchema = BaseResponseSchema(z.array(ContentSchema)); export const ContentResponseSchema = BaseResponseSchema(ContentSchema); // Content document schemas export const ContentDocumentDataSchema = z.object({ id: z.number(), title: z.string(), alias: z.string(), catid: z.number(), introtext: z.string(), fulltext: z.string(), ordering: z.number().optional(), images: z .object({ image_intro: z.string().optional(), image_fulltext: z.string().optional(), float_intro: z.string().optional(), float_fulltext: z.string().optional(), }) .optional(), fields: z .array(z.object({ id: z.number(), title: z.string(), name: z.string(), value: z.string(), type: z.string(), })) .optional(), }); export const ContentDocumentResponseSchema = BaseResponseSchema(ContentDocumentDataSchema); // Tag schemas export const TagSchema = z.object({ id: z.number(), title: z.string(), alias: z.string(), parentId: z.number(), level: z.number(), path: z.string(), note: z.string().optional(), hits: z.number(), }); export const TagListParamsSchema = BaseGetParamsSchema.extend({ catId: z.number().optional(), limit: z.number().optional().default(12), offset: z.number().optional().default(0), parentId: z.number().optional(), q: z.string().optional(), }); export const TagListResponseSchema = BaseResponseSchema(z.array(TagSchema)); //# sourceMappingURL=content.js.map