@simpleapps-com/augur-api
Version:
TypeScript client library for Augur microservices API endpoints
78 lines • 3.58 kB
JavaScript
import { z } from 'zod';
import { BaseResponseSchema, BaseGetParamsSchema } from '../../../core/schemas';
import { mysqlDatetimeSchema } from '../../../core/schema-utils';
// Item Wishlist Header Schema based on ItemWishlistHdr.json
export const ItemWishlistHeaderSchema = z.object({
itemWishlistHdrUid: z.coerce.number(),
usersId: z.coerce.number(),
wishlistName: z.string().max(100),
wishlistDescription: z.string().max(500).optional(),
isPublic: z.string().max(1).optional(),
shareCode: z.string().max(50).optional(),
dateCreated: mysqlDatetimeSchema().optional(),
dateLastModified: mysqlDatetimeSchema().optional(),
createdBy: z.string().max(255).optional(),
lastMaintainedBy: z.string().max(255).optional(),
});
// Item Wishlist Line Schema based on ItemWishlistLine.json
export const ItemWishlistLineSchema = z.object({
itemWishlistLineUid: z.coerce.number(),
itemWishlistHdrUid: z.coerce.number(),
invMastUid: z.coerce.number(),
itemId: z.string().max(40),
itemDesc: z.string().max(255).optional(),
qtyDesired: z.coerce.number().optional(),
priority: z.coerce.number().optional(),
notes: z.string().max(1000).optional(),
dateCreated: mysqlDatetimeSchema().optional(),
dateLastModified: mysqlDatetimeSchema().optional(),
createdBy: z.string().max(255).optional(),
lastMaintainedBy: z.string().max(255).optional(),
});
// Complete Wishlist with Lines Schema
export const ItemWishlistDetailSchema = ItemWishlistHeaderSchema.extend({
lines: z.array(ItemWishlistLineSchema).optional(),
});
// Create Wishlist Header Request Schema
export const CreateItemWishlistHeaderRequestSchema = z.object({
wishlistName: z.string().max(100),
wishlistDescription: z.string().max(500).optional(),
isPublic: z.string().max(1).optional(),
});
// Update Wishlist Header Request Schema
export const UpdateItemWishlistHeaderRequestSchema = z.object({
wishlistName: z.string().max(100).optional(),
wishlistDescription: z.string().max(500).optional(),
isPublic: z.string().max(1).optional(),
});
// Create Wishlist Line Request Schema
export const CreateItemWishlistLineRequestSchema = z.object({
invMastUid: z.coerce.number(),
qtyDesired: z.coerce.number().optional(),
priority: z.coerce.number().optional(),
notes: z.string().max(1000).optional(),
});
// Update Wishlist Line Request Schema
export const UpdateItemWishlistLineRequestSchema = z.object({
qtyDesired: z.coerce.number().optional(),
priority: z.coerce.number().optional(),
notes: z.string().max(1000).optional(),
});
// Wishlist List Parameters Schema
export const ItemWishlistListParamsSchema = BaseGetParamsSchema.extend({
isPublic: z.string().optional(),
shareCode: z.string().optional(),
orderBy: z.string().optional(),
});
// Wishlist Line List Parameters Schema
export const ItemWishlistLineListParamsSchema = BaseGetParamsSchema.extend({
priority: z.coerce.number().optional(),
orderBy: z.string().optional(),
});
// Response Schemas
export const ItemWishlistHeaderResponseSchema = BaseResponseSchema(ItemWishlistHeaderSchema);
export const ItemWishlistHeaderListResponseSchema = BaseResponseSchema(z.array(ItemWishlistHeaderSchema));
export const ItemWishlistLineResponseSchema = BaseResponseSchema(ItemWishlistLineSchema);
export const ItemWishlistLineListResponseSchema = BaseResponseSchema(z.array(ItemWishlistLineSchema));
export const ItemWishlistDetailResponseSchema = BaseResponseSchema(ItemWishlistDetailSchema);
//# sourceMappingURL=wishlists.js.map