@simpleapps-com/augur-api
Version:
TypeScript client library for Augur microservices API endpoints
58 lines • 2.47 kB
JavaScript
import { z } from 'zod';
import { BaseResponseSchema } from '../../../core/schemas';
import { mysqlDatetimeSchema } from '../../../core/schema-utils';
// Attribute Group schemas based on AttributeGroup.json
export const AttributeGroupSchema = z.object({
attributeGroupUid: z.number(),
attributeGroupId: z.string().max(255),
attributeGroupDesc: z.string().max(255).nullable().optional(),
rowStatusFlag: z.number(),
dateCreated: mysqlDatetimeSchema(),
createdBy: z.string().max(255),
dateLastModified: mysqlDatetimeSchema(),
lastMaintainedBy: z.string().max(255),
attributeGroupType: z.number(),
updateCd: z.number().default(1185),
processCd: z.number().default(704),
statusCd: z.number().default(704),
typeCd: z.number().default(3526),
searchableCd: z.number().default(704),
});
export const AttributeGroupSummarySchema = z.object({
attributeGroupUid: z.number(),
attributeGroupId: z.string(),
attributeGroupDesc: z.string().nullable(),
typeCd: z.number(),
attributeGroupType: z.number(),
});
export const CreateAttributeGroupRequestSchema = z.object({
attributeGroupDesc: z.string().max(255).min(1),
attributeGroupType: z.number().default(3526),
typeCd: z.number().default(3526),
searchableCd: z.number().default(704),
statusCd: z.number().default(704),
});
export const UpdateAttributeGroupRequestSchema = z.object({
attributeGroupDesc: z.string().max(255).nullable().optional(),
statusCd: z.number().min(0).optional(),
attributeGroupType: z.number().min(0).optional(),
typeCd: z.number().min(0).optional(),
searchableCd: z.number().min(0).optional(),
processCd: z.number().min(0).optional(),
updateCd: z.number().min(0).optional(),
});
export const AttributeGroupListParamsSchema = z.object({
limit: z.number().int().positive().optional(),
offset: z.number().int().min(0).optional(),
q: z.string().optional(),
statusCd: z.number().optional(),
attributeGroupType: z.number().optional(),
orderBy: z.string().optional(),
});
export const AttributeGroupDetailParamsSchema = z.object({
attributeGroupUid: z.number(),
});
// Response schemas using BaseResponseSchema (8-field format)
export const AttributeGroupResponseSchema = BaseResponseSchema(AttributeGroupSchema);
export const AttributeGroupListResponseSchema = BaseResponseSchema(z.array(AttributeGroupSummarySchema));
//# sourceMappingURL=attributeGroups.js.map