n8n-nodes-nextcloud-calendar
Version:
n8n Node für die Integration mit Nextcloud Calendar
58 lines • 1.93 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.getNextcloudHeaders = getNextcloudHeaders;
exports.formatNextcloudEvent = formatNextcloudEvent;
exports.parseNextcloudResponse = parseNextcloudResponse;
exports.getNextcloudCalendarConfig = getNextcloudCalendarConfig;
function getNextcloudHeaders() {
return {
'OCS-APIRequest': 'true',
'User-Agent': 'n8n-nodes-nextcloud-calendar/1.0',
'X-Requested-With': 'n8n'
};
}
function formatNextcloudEvent(eventData) {
const formattedEvent = {
...eventData,
'X-NC-GROUP-ID': eventData.uid || '',
CLASS: 'PUBLIC',
};
if (eventData.room) {
formattedEvent['X-NC-ROOM'] = eventData.room;
}
if (eventData.resources) {
formattedEvent['X-NC-RESOURCE'] = eventData.resources;
}
return formattedEvent;
}
function parseNextcloudResponse(response) {
if (!response) {
throw new Error('Keine Antwort vom Server erhalten');
}
if (typeof response !== 'object' || Object.keys(response).length === 0) {
throw new Error('Ungültige oder leere Antwort vom Server');
}
const parsedResponse = {
...response,
};
if (response['X-NC-GROUP-ID']) {
parsedResponse.groupId = response['X-NC-GROUP-ID'];
}
if (response['X-NC-ROOM']) {
parsedResponse.room = response['X-NC-ROOM'];
}
if (response['X-NC-RESOURCE']) {
parsedResponse.resources = response['X-NC-RESOURCE'];
}
return parsedResponse;
}
function getNextcloudCalendarConfig(config = {}) {
return {
hideEventExport: config.hideEventExport,
sendInvitations: config.sendInvitations,
enableNotifications: config.enableNotifications,
enablePushNotifications: config.enablePushNotifications,
forceEventAlarmType: config.forceEventAlarmType,
};
}
//# sourceMappingURL=nextcloud.js.map