"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 = {
    bookingId: {
        label: 'Booking ID',
        id: 'bookingId',
        type: extensions_core_1.FieldType.STRING,
        required: true,
        description: 'The ID of a Booking in Cal.com',
    },
    title: {
        label: 'Title',
        id: 'title',
        type: extensions_core_1.FieldType.STRING,
        required: false,
        description: 'Title of Booking event',
    },
    description: {
        label: 'Description',
        id: 'description',
        type: extensions_core_1.FieldType.STRING,
        required: false,
        description: 'Description of the meeting',
    },
    start: {
        label: 'Start',
        id: 'start',
        // STRING because it needs new DATE_TIME type
        type: extensions_core_1.FieldType.STRING,
        required: false,
        description: "Start time of the Event in ISO 8601 format, e.g. 2023-05-24T13:00:00.000Z. Please note that start/end time must be within user's availability hours.",
    },
    end: {
        label: 'End',
        id: 'end',
        // STRING because it needs new DATE_TIME type
        type: extensions_core_1.FieldType.STRING,
        required: false,
        description: "End time of the Event in ISO 8601 format, e.g. 2023-05-24T13:00:00.000Z. Please note that start/end time must be within user's availability hours.",
    },
    status: {
        label: 'Status',
        id: 'status',
        type: extensions_core_1.FieldType.STRING,
        required: false,
        description: 'Status of the meeting to be set. Possible values: "ACCEPTED", "PENDING", "CANCELLED", "REJECTED".',
    },
};
const statusEnum = zod_1.z.enum(['ACCEPTED', 'PENDING', 'CANCELLED', 'REJECTED']);
exports.FieldsValidationSchema = zod_1.z.object({
    bookingId: zod_1.z.string().nonempty(),
    title: (0, extensions_core_1.makeStringOptional)(zod_1.z.string()),
    description: (0, extensions_core_1.makeStringOptional)(zod_1.z.string()),
    status: (0, extensions_core_1.makeStringOptional)(statusEnum),
    start: extensions_core_1.DateTimeOptionalSchema,
    end: extensions_core_1.DateTimeOptionalSchema,
});
//# sourceMappingURL=fields.js.map