"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.buildDefaultEventEntity = buildDefaultEventEntity;
exports.buildDefaultEventRecord = buildDefaultEventRecord;
const getDefaultEventDatesAndTimes_1 = require("./_internal/getDefaultEventDatesAndTimes");
const orval_events_1 = require("./api/orval/api/orval-events");
const hubEventAttendanceType_1 = require("./enums/hubEventAttendanceType");
const hubEventCapacityType_1 = require("./enums/hubEventCapacityType");
/**
 * Builds a partial IHubEvent (entity) with default values
 */
function buildDefaultEventEntity() {
    const dates = (0, getDefaultEventDatesAndTimes_1.getDefaultEventDatesAndTimes)();
    return Object.assign(Object.assign({ access: "private", allowRegistration: true, attendanceType: hubEventAttendanceType_1.HubEventAttendanceType.InPerson, catalog: { schemaVersion: 0 }, categories: [], inPersonCapacity: null, inPersonCapacityType: hubEventCapacityType_1.HubEventCapacityType.Unlimited, isAllDay: false, isCanceled: false, isDiscussable: true, isPlanned: true, isRemoved: false, name: "", notifyAttendees: true, onlineCapacity: null, onlineCapacityType: hubEventCapacityType_1.HubEventCapacityType.Unlimited, onlineDetails: null, onlineUrl: null, referencedContentIds: [], referencedContentIdsByType: [], schemaVersion: 1, tags: [], readGroupIds: [], editGroupIds: [] }, dates), { view: {
            heroActions: [],
            showMap: false,
        }, location: {
            type: "none",
        } });
}
/**
 * Builds a partial IEvent (record) with default values
 */
function buildDefaultEventRecord() {
    const { startDateTime, endDateTime } = (0, getDefaultEventDatesAndTimes_1.getDefaultEventDatesAndTimes)();
    return {
        access: orval_events_1.EventAccess.PRIVATE,
        allDay: false,
        allowRegistration: true,
        associations: [],
        attendanceType: [orval_events_1.EventAttendanceType.IN_PERSON],
        categories: [],
        inPersonCapacity: null,
        editGroups: [],
        endDateTime: endDateTime.toISOString(),
        notifyAttendees: true,
        readGroups: [],
        startDateTime: startDateTime.toISOString(),
        status: orval_events_1.EventStatus.PLANNED,
        tags: [],
        title: "",
        location: null,
    };
}
//# sourceMappingURL=defaults.js.map