@simpleapps-com/augur-api
Version:
TypeScript client library for Augur microservices API endpoints
85 lines • 3.74 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.ContactUserDefinedFieldsResponseSchema = exports.ContactCustomersResponseSchema = exports.ContactResponseSchema = exports.ContactListResponseSchema = exports.ContactUserDefinedFieldsSchema = exports.ContactUserDefinedFieldSchema = exports.ContactCustomersParamsSchema = exports.ContactListParamsSchema = exports.ContactCreateParamsSchema = exports.ContactSchema = void 0;
const zod_1 = require("zod");
const schemas_1 = require("../../../core/schemas");
// Contact schemas
exports.ContactSchema = zod_1.z.object({
contactId: zod_1.z.number(),
customerId: zod_1.z.number(),
firstName: zod_1.z.string(),
lastName: zod_1.z.string(),
email: zod_1.z.string(),
phoneNumber: zod_1.z.string().optional(),
title: zod_1.z.string().optional(),
role: zod_1.z.string().optional(),
isPrimary: zod_1.z.boolean().optional(),
webEnabled: zod_1.z.boolean().optional(),
dateCreated: zod_1.z.string().optional(),
dateLastModified: zod_1.z.string().optional(),
loginCredentials: zod_1.z
.object({
username: zod_1.z.string().optional(),
lastLogin: zod_1.z.string().optional(),
})
.optional(),
permissions: zod_1.z
.object({
canViewPricing: zod_1.z.boolean().optional(),
canPlaceOrders: zod_1.z.boolean().optional(),
canViewInvoices: zod_1.z.boolean().optional(),
})
.optional(),
});
exports.ContactCreateParamsSchema = zod_1.z.object({
firstName: zod_1.z.string().min(1),
lastName: zod_1.z.string().min(1),
email: zod_1.z.string().email(),
phoneNumber: zod_1.z.string().optional(),
title: zod_1.z.string().optional(),
role: zod_1.z.string().optional(),
isPrimary: zod_1.z.boolean().optional(),
webEnabled: zod_1.z.boolean().optional(),
permissions: zod_1.z
.object({
canViewPricing: zod_1.z.boolean().optional(),
canPlaceOrders: zod_1.z.boolean().optional(),
canViewInvoices: zod_1.z.boolean().optional(),
})
.optional(),
});
exports.ContactListParamsSchema = schemas_1.BaseGetParamsSchema.extend({
q: zod_1.z.string(),
limit: zod_1.z.coerce.number().optional(),
offset: zod_1.z.coerce.number().optional(),
});
exports.ContactCustomersParamsSchema = schemas_1.BaseGetParamsSchema.extend({
class5Id: zod_1.z.string().optional(),
limit: zod_1.z.coerce.number().optional(),
offset: zod_1.z.coerce.number().optional(),
q: zod_1.z.string().optional(),
});
// Contact user-defined fields schema
exports.ContactUserDefinedFieldSchema = zod_1.z.object({
fieldName: zod_1.z.string(),
fieldValue: zod_1.z.string(),
fieldType: zod_1.z.string(),
});
exports.ContactUserDefinedFieldsSchema = zod_1.z.object({
contactId: zod_1.z.number(),
customFields: zod_1.z.array(exports.ContactUserDefinedFieldSchema),
lastUpdated: zod_1.z.string(),
});
// Response schemas using BaseResponseSchema (8-field format)
exports.ContactListResponseSchema = (0, schemas_1.BaseResponseSchema)(zod_1.z.array(exports.ContactSchema));
exports.ContactResponseSchema = (0, schemas_1.BaseResponseSchema)(exports.ContactSchema);
exports.ContactCustomersResponseSchema = (0, schemas_1.BaseResponseSchema)(zod_1.z.array(zod_1.z.object({
customerId: zod_1.z.number(),
customerName: zod_1.z.string(),
class5Id: zod_1.z.string().optional(),
salesRepId: zod_1.z.string().optional(),
territoryId: zod_1.z.string().optional(),
lastOrderDate: zod_1.z.string().optional(),
})));
exports.ContactUserDefinedFieldsResponseSchema = (0, schemas_1.BaseResponseSchema)(exports.ContactUserDefinedFieldsSchema);
//# sourceMappingURL=contacts.js.map