/**
 * @private
 * Returns an Array of IPropertyMap objects
 * that define the projection of properties from an IEvent to an IHubEvent
 * @returns an IPropertyMap array
 */
export function getPropertyMap() {
    const commonPropNames = [
        "orgId",
        "description",
        "id",
        "tags",
        "categories",
        "timeZone",
        "summary",
        "notifyAttendees",
        "allowRegistration",
        "startDate",
        "startTime",
        "endDate",
        "endTime",
        "thumbnailUrl",
    ];
    return commonPropNames.reduce((acc, propName) => [...acc, { entityKey: propName, storeKey: propName }], [
        { entityKey: "isAllDay", storeKey: "allDay" },
        { entityKey: "name", storeKey: "title" },
        { entityKey: "owner", storeKey: "creator.username" },
        { entityKey: "canEdit", storeKey: "permission.canEdit" },
        { entityKey: "canDelete", storeKey: "permission.canDelete" },
        {
            entityKey: "canChangeAccessOrg",
            storeKey: "permission.canSetAccessToOrg",
        },
        {
            entityKey: "canChangeAccessPrivate",
            storeKey: "permission.canSetAccessToPrivate",
        },
        {
            entityKey: "canChangeAccessPublic",
            storeKey: "permission.canSetAccessToPublic",
        },
        {
            entityKey: "canChangeStatusCancelled",
            storeKey: "permission.canSetStatusToCancelled",
        },
        {
            entityKey: "canChangeStatusRemoved",
            storeKey: "permission.canSetStatusToRemoved",
        },
        {
            entityKey: "readGroupIds",
            storeKey: "readGroups",
        },
        {
            entityKey: "editGroupIds",
            storeKey: "editGroups",
        },
        {
            entityKey: "inPersonRegistrationCount",
            storeKey: "registrationCount.inPerson",
        },
        {
            entityKey: "onlineRegistrationCount",
            storeKey: "registrationCount.virtual",
        },
        {
            entityKey: "catalog",
            storeKey: "capabilities.catalog",
        },
    ]);
}
//# sourceMappingURL=getPropertyMap.js.map