"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.FieldsValidationSchema = exports.fields = void 0;
const zod_1 = require("zod");
const extensions_core_1 = require("@awell-health/extensions-core");
exports.fields = {
    patientId: {
        id: 'patientId',
        label: 'Patient ID',
        type: extensions_core_1.FieldType.NUMERIC,
        description: 'Patient ID',
        required: true,
    },
    physicianId: {
        id: 'physicianId',
        label: 'Physician ID',
        type: extensions_core_1.FieldType.NUMERIC,
        description: 'Physician ID',
        required: false,
    },
    practiceId: {
        id: 'practiceId',
        label: 'Practice ID',
        type: extensions_core_1.FieldType.NUMERIC,
        description: 'Practice ID',
        required: false,
    },
    from_date: {
        id: 'from_date',
        label: 'From Date',
        type: extensions_core_1.FieldType.DATE,
        description: 'Date from which to filter appointments',
        required: false,
    },
    to_date: {
        id: 'to_date',
        label: 'To date',
        type: extensions_core_1.FieldType.DATE,
        description: 'Date to which appointments are filtered',
        required: false,
    },
    event_type: {
        id: 'event_type',
        label: 'Event Type',
        type: extensions_core_1.FieldType.STRING,
        description: 'Event Type (`appointment` or leave empty)',
        required: false,
    },
};
exports.FieldsValidationSchema = zod_1.z.object({
    patientId: extensions_core_1.NumericIdSchema,
    physicianId: extensions_core_1.NumericIdSchema.optional(),
    practiceId: extensions_core_1.NumericIdSchema.optional(),
    from_date: zod_1.z.string().datetime().optional(),
    to_date: zod_1.z.string().datetime().optional(),
    event_type: zod_1.z.literal('appointment').optional(),
});
//# sourceMappingURL=fields.js.map