@simpleapps-com/augur-api
Version:
TypeScript client library for Augur microservices API endpoints
54 lines • 2.23 kB
JavaScript
import { z } from 'zod';
import { BaseResponseSchema, BaseGetParamsSchema } from '../../../core/schemas';
import { mysqlDatetimeSchema } from '../../../core/schema-utils';
// Item FAQ Schema based on InvMastFaq.json
export const ItemFaqSchema = z.object({
invMastFaqUid: z.coerce.number(),
invMastUid: z.coerce.number(),
question: z.string().max(500),
answer: z.string().max(2000),
category: z.string().max(100).optional(),
displayOrder: z.coerce.number().optional(),
isActive: z.string().max(1).optional(),
isPublic: z.string().max(1).optional(),
viewCount: z.coerce.number().optional(),
helpfulCount: z.coerce.number().optional(),
dateCreated: mysqlDatetimeSchema().optional(),
dateLastModified: mysqlDatetimeSchema().optional(),
createdBy: z.string().max(255).optional(),
lastMaintainedBy: z.string().max(255).optional(),
});
// Create FAQ Request Schema
export const CreateItemFaqRequestSchema = z.object({
question: z.string().max(500),
answer: z.string().max(2000),
category: z.string().max(100).optional(),
displayOrder: z.coerce.number().optional(),
isActive: z.string().max(1).optional(),
isPublic: z.string().max(1).optional(),
});
// Update FAQ Request Schema
export const UpdateItemFaqRequestSchema = z.object({
question: z.string().max(500).optional(),
answer: z.string().max(2000).optional(),
category: z.string().max(100).optional(),
displayOrder: z.coerce.number().optional(),
isActive: z.string().max(1).optional(),
isPublic: z.string().max(1).optional(),
});
// FAQ List Parameters Schema
export const ItemFaqListParamsSchema = BaseGetParamsSchema.extend({
category: z.string().optional(),
isActive: z.string().optional(),
isPublic: z.string().optional(),
q: z.string().optional(), // Search in questions and answers
orderBy: z.string().optional(),
});
// FAQ Vote Request Schema (for helpful voting)
export const ItemFaqVoteRequestSchema = z.object({
isHelpful: z.boolean(),
});
// Response Schemas
export const ItemFaqResponseSchema = BaseResponseSchema(ItemFaqSchema);
export const ItemFaqListResponseSchema = BaseResponseSchema(z.array(ItemFaqSchema));
//# sourceMappingURL=faq.js.map