UNPKG

@simpleapps-com/augur-api

Version:

TypeScript client library for Augur microservices API endpoints

82 lines 2.91 kB
import { z } from 'zod'; import { BaseResponseSchema, BaseGetParamsSchema } from '../../../core/schemas'; // Contact schemas export const ContactSchema = z.object({ contactId: z.number(), customerId: z.number(), firstName: z.string(), lastName: z.string(), email: z.string(), phoneNumber: z.string().optional(), title: z.string().optional(), role: z.string().optional(), isPrimary: z.boolean().optional(), webEnabled: z.boolean().optional(), dateCreated: z.string().optional(), dateLastModified: z.string().optional(), loginCredentials: z .object({ username: z.string().optional(), lastLogin: z.string().optional(), }) .optional(), permissions: z .object({ canViewPricing: z.boolean().optional(), canPlaceOrders: z.boolean().optional(), canViewInvoices: z.boolean().optional(), }) .optional(), }); export const ContactCreateParamsSchema = z.object({ firstName: z.string().min(1), lastName: z.string().min(1), email: z.string().email(), phoneNumber: z.string().optional(), title: z.string().optional(), role: z.string().optional(), isPrimary: z.boolean().optional(), webEnabled: z.boolean().optional(), permissions: z .object({ canViewPricing: z.boolean().optional(), canPlaceOrders: z.boolean().optional(), canViewInvoices: z.boolean().optional(), }) .optional(), }); export const ContactListParamsSchema = BaseGetParamsSchema.extend({ q: z.string(), limit: z.coerce.number().optional(), offset: z.coerce.number().optional(), }); export const ContactCustomersParamsSchema = BaseGetParamsSchema.extend({ class5Id: z.string().optional(), limit: z.coerce.number().optional(), offset: z.coerce.number().optional(), q: z.string().optional(), }); // Contact user-defined fields schema export const ContactUserDefinedFieldSchema = z.object({ fieldName: z.string(), fieldValue: z.string(), fieldType: z.string(), }); export const ContactUserDefinedFieldsSchema = z.object({ contactId: z.number(), customFields: z.array(ContactUserDefinedFieldSchema), lastUpdated: z.string(), }); // Response schemas using BaseResponseSchema (8-field format) export const ContactListResponseSchema = BaseResponseSchema(z.array(ContactSchema)); export const ContactResponseSchema = BaseResponseSchema(ContactSchema); export const ContactCustomersResponseSchema = BaseResponseSchema(z.array(z.object({ customerId: z.number(), customerName: z.string(), class5Id: z.string().optional(), salesRepId: z.string().optional(), territoryId: z.string().optional(), lastOrderDate: z.string().optional(), }))); export const ContactUserDefinedFieldsResponseSchema = BaseResponseSchema(ContactUserDefinedFieldsSchema); //# sourceMappingURL=contacts.js.map