@simpleapps-com/augur-api
Version:
TypeScript client library for Augur microservices API endpoints
88 lines • 2.85 kB
JavaScript
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