forked from Progyssey/Calmerge
Compare commits
No commits in common. "5b3a47a1225dbebdb30f2d332307805bf61c7649" and "6c9fb1139f86e816aaddf27da2a942017befe7b8" have entirely different histories.
5b3a47a122
...
6c9fb1139f
34 changed files with 1139 additions and 19 deletions
2
.gitignore
vendored
2
.gitignore
vendored
|
@ -1,2 +1,2 @@
|
||||||
node_modules/
|
node_modules/
|
||||||
test/calendar/
|
tests/calendar/
|
||||||
|
|
|
@ -2,18 +2,22 @@ import request from 'supertest';
|
||||||
import express from 'express';
|
import express from 'express';
|
||||||
import fs from 'fs';
|
import fs from 'fs';
|
||||||
import path from 'path';
|
import path from 'path';
|
||||||
|
import app from './server';
|
||||||
|
|
||||||
const CALENDARS_DIR = path.join(__dirname, 'calendar')
|
const TEST_MERGED_CALENDARS_DIR = path.join(__dirname, 'tests');
|
||||||
const TEST_CALENDARS_DIR = path.join(__dirname, 'test_calendars');
|
const TEST_CALENDARS_DIR = path.join(__dirname, 'tests', 'test_calendars');
|
||||||
const EXPECTED_OUTPUTS_DIR = path.join(__dirname, 'expected_outputs');
|
const EXPECTED_OUTPUTS_DIR = path.join(__dirname,'test', 'expected_outputs');
|
||||||
|
|
||||||
let server;
|
let server;
|
||||||
process.chdir(__dirname)
|
|
||||||
console.log(process.cwd());
|
|
||||||
const app = require('../server').default;
|
|
||||||
|
|
||||||
describe('Calendar Merging API', () => {
|
describe('Calendar Merging API', () => {
|
||||||
beforeAll(async () => {
|
beforeAll(async () => {
|
||||||
|
console.log(`Test Merged Calendars Directory: ${TEST_MERGED_CALENDARS_DIR}`);
|
||||||
|
// Ensure the test merged calendars directory exists
|
||||||
|
if (!fs.existsSync(TEST_MERGED_CALENDARS_DIR)) {
|
||||||
|
fs.mkdirSync(TEST_MERGED_CALENDARS_DIR, { recursive: true });
|
||||||
|
}
|
||||||
|
// Change the working directory to the test-specific directory
|
||||||
|
process.chdir(TEST_MERGED_CALENDARS_DIR);
|
||||||
|
console.log(process.cwd());
|
||||||
// Start the server
|
// Start the server
|
||||||
server = app.listen(0);
|
server = app.listen(0);
|
||||||
});
|
});
|
||||||
|
@ -56,7 +60,7 @@ describe('Calendar Merging API', () => {
|
||||||
expect(response.body.url).toMatch(new RegExp(`calendar/Date_Based_Calendar`));
|
expect(response.body.url).toMatch(new RegExp(`calendar/Date_Based_Calendar`));
|
||||||
|
|
||||||
// Check if the file was created in the test directory
|
// Check if the file was created in the test directory
|
||||||
const filePath = path.join(CALENDARS_DIR, 'Date_Based_Calendar.ics');
|
const filePath = path.join(TEST_MERGED_CALENDARS_DIR, 'calendar', 'Date_Based_Calendar.ics');
|
||||||
console.log('Checking if file exists at:', filePath);
|
console.log('Checking if file exists at:', filePath);
|
||||||
expect(fs.existsSync(filePath)).toBe(true);
|
expect(fs.existsSync(filePath)).toBe(true);
|
||||||
|
|
||||||
|
@ -89,7 +93,7 @@ describe('Calendar Merging API', () => {
|
||||||
expect(response.body.url).toMatch(/calendar\/Time_Based_Calendar/);
|
expect(response.body.url).toMatch(/calendar\/Time_Based_Calendar/);
|
||||||
|
|
||||||
// Check if the file was created in the test directory
|
// Check if the file was created in the test directory
|
||||||
const filePath = path.join(CALENDARS_DIR, 'Time_Based_Calendar.ics');
|
const filePath = path.join(TEST_MERGED_CALENDARS_DIR, 'calendar','Time_Based_Calendar.ics');
|
||||||
expect(fs.existsSync(filePath)).toBe(true);
|
expect(fs.existsSync(filePath)).toBe(true);
|
||||||
|
|
||||||
// // Load expected output and compare
|
// // Load expected output and compare
|
||||||
|
@ -116,7 +120,7 @@ describe('Calendar Merging API', () => {
|
||||||
expect(response.body.url).toMatch(/calendar\/No_Prefix_Calendar/);
|
expect(response.body.url).toMatch(/calendar\/No_Prefix_Calendar/);
|
||||||
|
|
||||||
// Check if the file was created in the test directory
|
// Check if the file was created in the test directory
|
||||||
const filePath = path.join(CALENDARS_DIR, 'No_Prefix_Calendar.ics');
|
const filePath = path.join(TEST_MERGED_CALENDARS_DIR, 'calendar', 'No_Prefix_Calendar.ics');
|
||||||
expect(fs.existsSync(filePath)).toBe(true);
|
expect(fs.existsSync(filePath)).toBe(true);
|
||||||
|
|
||||||
// // Load expected output and compare
|
// // Load expected output and compare
|
||||||
|
@ -143,7 +147,7 @@ describe('Calendar Merging API', () => {
|
||||||
expect(response.body.url).toMatch(/calendar\/Override_Calendar/);
|
expect(response.body.url).toMatch(/calendar\/Override_Calendar/);
|
||||||
|
|
||||||
// Check if the file was created in the test directory
|
// Check if the file was created in the test directory
|
||||||
const filePath = path.join(CALENDARS_DIR, 'Override_Calendar.ics');
|
const filePath = path.join(TEST_MERGED_CALENDARS_DIR, 'calendar', 'Override_Calendar.ics');
|
||||||
expect(fs.existsSync(filePath)).toBe(true);
|
expect(fs.existsSync(filePath)).toBe(true);
|
||||||
|
|
||||||
// // Load expected output and compare
|
// // Load expected output and compare
|
336
calendar/Date_Based_Calendar.ics
Normal file
336
calendar/Date_Based_Calendar.ics
Normal file
|
@ -0,0 +1,336 @@
|
||||||
|
BEGIN:VCALENDAR
|
||||||
|
VERSION:2.0
|
||||||
|
PRODID:-//sebbo.net//ical-generator//EN
|
||||||
|
NAME:Date Based Calendar
|
||||||
|
X-WR-CALNAME:Date Based Calendar
|
||||||
|
BEGIN:VEVENT
|
||||||
|
UID:62yw@Ryan-jr
|
||||||
|
SEQUENCE:0
|
||||||
|
DTSTAMP:20241107T004037Z
|
||||||
|
DTSTART;VALUE=DATE:20230219
|
||||||
|
DTEND;VALUE=DATE:20230224
|
||||||
|
X-MICROSOFT-CDO-ALLDAYEVENT:TRUE
|
||||||
|
X-MICROSOFT-MSNCALENDAR-ALLDAYEVENT:TRUE
|
||||||
|
SUMMARY:Ferien_Bayern_2023 Winterferien 2023 Bayern
|
||||||
|
END:VEVENT
|
||||||
|
BEGIN:VEVENT
|
||||||
|
UID:2w28@Ryan-jr
|
||||||
|
SEQUENCE:0
|
||||||
|
DTSTAMP:20241107T004037Z
|
||||||
|
DTSTART;VALUE=DATE:20230402
|
||||||
|
DTEND;VALUE=DATE:20230415
|
||||||
|
X-MICROSOFT-CDO-ALLDAYEVENT:TRUE
|
||||||
|
X-MICROSOFT-MSNCALENDAR-ALLDAYEVENT:TRUE
|
||||||
|
SUMMARY:Ferien_Bayern_2023 Osterferien 2023 Bayern
|
||||||
|
END:VEVENT
|
||||||
|
BEGIN:VEVENT
|
||||||
|
UID:ljtg@Ryan-jr
|
||||||
|
SEQUENCE:0
|
||||||
|
DTSTAMP:20241107T004037Z
|
||||||
|
DTSTART;VALUE=DATE:20230529
|
||||||
|
DTEND;VALUE=DATE:20230609
|
||||||
|
X-MICROSOFT-CDO-ALLDAYEVENT:TRUE
|
||||||
|
X-MICROSOFT-MSNCALENDAR-ALLDAYEVENT:TRUE
|
||||||
|
SUMMARY:Ferien_Bayern_2023 Pfingstferien 2023 Bayern
|
||||||
|
END:VEVENT
|
||||||
|
BEGIN:VEVENT
|
||||||
|
UID:7d5m@Ryan-jr
|
||||||
|
SEQUENCE:0
|
||||||
|
DTSTAMP:20241107T004037Z
|
||||||
|
DTSTART;VALUE=DATE:20230730
|
||||||
|
DTEND;VALUE=DATE:20230911
|
||||||
|
X-MICROSOFT-CDO-ALLDAYEVENT:TRUE
|
||||||
|
X-MICROSOFT-MSNCALENDAR-ALLDAYEVENT:TRUE
|
||||||
|
SUMMARY:Ferien_Bayern_2023 Sommerferien 2023 Bayern
|
||||||
|
END:VEVENT
|
||||||
|
BEGIN:VEVENT
|
||||||
|
UID:2bya@Ryan-jr
|
||||||
|
SEQUENCE:0
|
||||||
|
DTSTAMP:20241107T004037Z
|
||||||
|
DTSTART;VALUE=DATE:20231029
|
||||||
|
DTEND;VALUE=DATE:20231103
|
||||||
|
X-MICROSOFT-CDO-ALLDAYEVENT:TRUE
|
||||||
|
X-MICROSOFT-MSNCALENDAR-ALLDAYEVENT:TRUE
|
||||||
|
SUMMARY:Ferien_Bayern_2023 Herbstferien 2023 Bayern
|
||||||
|
END:VEVENT
|
||||||
|
BEGIN:VEVENT
|
||||||
|
UID:i3r6@Ryan-jr
|
||||||
|
SEQUENCE:0
|
||||||
|
DTSTAMP:20241107T004037Z
|
||||||
|
DTSTART;VALUE=DATE:20231121
|
||||||
|
DTEND;VALUE=DATE:20231122
|
||||||
|
X-MICROSOFT-CDO-ALLDAYEVENT:TRUE
|
||||||
|
X-MICROSOFT-MSNCALENDAR-ALLDAYEVENT:TRUE
|
||||||
|
SUMMARY:Ferien_Bayern_2023 Herbstferien 2023 Bayern
|
||||||
|
END:VEVENT
|
||||||
|
BEGIN:VEVENT
|
||||||
|
UID:042o@Ryan-jr
|
||||||
|
SEQUENCE:0
|
||||||
|
DTSTAMP:20241107T004037Z
|
||||||
|
DTSTART;VALUE=DATE:20231222
|
||||||
|
DTEND;VALUE=DATE:20240105
|
||||||
|
X-MICROSOFT-CDO-ALLDAYEVENT:TRUE
|
||||||
|
X-MICROSOFT-MSNCALENDAR-ALLDAYEVENT:TRUE
|
||||||
|
SUMMARY:Ferien_Bayern_2023 Weihnachtsferien 2023 Bayern
|
||||||
|
END:VEVENT
|
||||||
|
BEGIN:VEVENT
|
||||||
|
UID:vr5n@Ryan-jr
|
||||||
|
SEQUENCE:0
|
||||||
|
DTSTAMP:20241107T004037Z
|
||||||
|
DTSTART;VALUE=DATE:20231231
|
||||||
|
DTEND;VALUE=DATE:20231231
|
||||||
|
X-MICROSOFT-CDO-ALLDAYEVENT:TRUE
|
||||||
|
X-MICROSOFT-MSNCALENDAR-ALLDAYEVENT:TRUE
|
||||||
|
SUMMARY:US_holidays New Year's Day
|
||||||
|
END:VEVENT
|
||||||
|
BEGIN:VEVENT
|
||||||
|
UID:gk19@Ryan-jr
|
||||||
|
SEQUENCE:0
|
||||||
|
DTSTAMP:20241107T004037Z
|
||||||
|
DTSTART;VALUE=DATE:20240114
|
||||||
|
DTEND;VALUE=DATE:20240114
|
||||||
|
X-MICROSOFT-CDO-ALLDAYEVENT:TRUE
|
||||||
|
X-MICROSOFT-MSNCALENDAR-ALLDAYEVENT:TRUE
|
||||||
|
SUMMARY:US_holidays M L King Day
|
||||||
|
END:VEVENT
|
||||||
|
BEGIN:VEVENT
|
||||||
|
UID:sqva@Ryan-jr
|
||||||
|
SEQUENCE:0
|
||||||
|
DTSTAMP:20241107T004037Z
|
||||||
|
DTSTART;VALUE=DATE:20240218
|
||||||
|
DTEND;VALUE=DATE:20240218
|
||||||
|
X-MICROSOFT-CDO-ALLDAYEVENT:TRUE
|
||||||
|
X-MICROSOFT-MSNCALENDAR-ALLDAYEVENT:TRUE
|
||||||
|
SUMMARY:US_holidays Presidents' Day
|
||||||
|
END:VEVENT
|
||||||
|
BEGIN:VEVENT
|
||||||
|
UID:1xf8@Ryan-jr
|
||||||
|
SEQUENCE:0
|
||||||
|
DTSTAMP:20241107T004037Z
|
||||||
|
DTSTART;VALUE=DATE:20240328
|
||||||
|
DTEND;VALUE=DATE:20240328
|
||||||
|
X-MICROSOFT-CDO-ALLDAYEVENT:TRUE
|
||||||
|
X-MICROSOFT-MSNCALENDAR-ALLDAYEVENT:TRUE
|
||||||
|
SUMMARY:US_holidays Good Friday
|
||||||
|
END:VEVENT
|
||||||
|
BEGIN:VEVENT
|
||||||
|
UID:5mmn@Ryan-jr
|
||||||
|
SEQUENCE:0
|
||||||
|
DTSTAMP:20241107T004037Z
|
||||||
|
DTSTART;VALUE=DATE:20240330
|
||||||
|
DTEND;VALUE=DATE:20240330
|
||||||
|
X-MICROSOFT-CDO-ALLDAYEVENT:TRUE
|
||||||
|
X-MICROSOFT-MSNCALENDAR-ALLDAYEVENT:TRUE
|
||||||
|
SUMMARY:US_holidays Easter Sunday
|
||||||
|
END:VEVENT
|
||||||
|
BEGIN:VEVENT
|
||||||
|
UID:rsdk@Ryan-jr
|
||||||
|
SEQUENCE:0
|
||||||
|
DTSTAMP:20241107T004037Z
|
||||||
|
DTSTART;VALUE=DATE:20240526
|
||||||
|
DTEND;VALUE=DATE:20240526
|
||||||
|
X-MICROSOFT-CDO-ALLDAYEVENT:TRUE
|
||||||
|
X-MICROSOFT-MSNCALENDAR-ALLDAYEVENT:TRUE
|
||||||
|
SUMMARY:US_holidays Memorial Day
|
||||||
|
END:VEVENT
|
||||||
|
BEGIN:VEVENT
|
||||||
|
UID:kat5@Ryan-jr
|
||||||
|
SEQUENCE:0
|
||||||
|
DTSTAMP:20241107T004037Z
|
||||||
|
DTSTART;VALUE=DATE:20240618
|
||||||
|
DTEND;VALUE=DATE:20240618
|
||||||
|
X-MICROSOFT-CDO-ALLDAYEVENT:TRUE
|
||||||
|
X-MICROSOFT-MSNCALENDAR-ALLDAYEVENT:TRUE
|
||||||
|
SUMMARY:US_holidays Juneteenth
|
||||||
|
END:VEVENT
|
||||||
|
BEGIN:VEVENT
|
||||||
|
UID:ppvd@Ryan-jr
|
||||||
|
SEQUENCE:0
|
||||||
|
DTSTAMP:20241107T004037Z
|
||||||
|
DTSTART;VALUE=DATE:20240703
|
||||||
|
DTEND;VALUE=DATE:20240703
|
||||||
|
X-MICROSOFT-CDO-ALLDAYEVENT:TRUE
|
||||||
|
X-MICROSOFT-MSNCALENDAR-ALLDAYEVENT:TRUE
|
||||||
|
SUMMARY:US_holidays Independence Day
|
||||||
|
END:VEVENT
|
||||||
|
BEGIN:VEVENT
|
||||||
|
UID:sjo7@Ryan-jr
|
||||||
|
SEQUENCE:0
|
||||||
|
DTSTAMP:20241107T004037Z
|
||||||
|
DTSTART;VALUE=DATE:20240901
|
||||||
|
DTEND;VALUE=DATE:20240901
|
||||||
|
X-MICROSOFT-CDO-ALLDAYEVENT:TRUE
|
||||||
|
X-MICROSOFT-MSNCALENDAR-ALLDAYEVENT:TRUE
|
||||||
|
SUMMARY:US_holidays Labor Day
|
||||||
|
END:VEVENT
|
||||||
|
BEGIN:VEVENT
|
||||||
|
UID:b3bo@Ryan-jr
|
||||||
|
SEQUENCE:0
|
||||||
|
DTSTAMP:20241107T004037Z
|
||||||
|
DTSTART;VALUE=DATE:20241013
|
||||||
|
DTEND;VALUE=DATE:20241013
|
||||||
|
X-MICROSOFT-CDO-ALLDAYEVENT:TRUE
|
||||||
|
X-MICROSOFT-MSNCALENDAR-ALLDAYEVENT:TRUE
|
||||||
|
SUMMARY:US_holidays Columbus Day
|
||||||
|
END:VEVENT
|
||||||
|
BEGIN:VEVENT
|
||||||
|
UID:haf8@Ryan-jr
|
||||||
|
SEQUENCE:0
|
||||||
|
DTSTAMP:20241107T004037Z
|
||||||
|
DTSTART;VALUE=DATE:20241110
|
||||||
|
DTEND;VALUE=DATE:20241110
|
||||||
|
X-MICROSOFT-CDO-ALLDAYEVENT:TRUE
|
||||||
|
X-MICROSOFT-MSNCALENDAR-ALLDAYEVENT:TRUE
|
||||||
|
SUMMARY:US_holidays Veterans Day
|
||||||
|
END:VEVENT
|
||||||
|
BEGIN:VEVENT
|
||||||
|
UID:33iv@Ryan-jr
|
||||||
|
SEQUENCE:0
|
||||||
|
DTSTAMP:20241107T004037Z
|
||||||
|
DTSTART;VALUE=DATE:20241127
|
||||||
|
DTEND;VALUE=DATE:20241127
|
||||||
|
X-MICROSOFT-CDO-ALLDAYEVENT:TRUE
|
||||||
|
X-MICROSOFT-MSNCALENDAR-ALLDAYEVENT:TRUE
|
||||||
|
SUMMARY:US_holidays Thanksgiving Day
|
||||||
|
END:VEVENT
|
||||||
|
BEGIN:VEVENT
|
||||||
|
UID:8ygs@Ryan-jr
|
||||||
|
SEQUENCE:0
|
||||||
|
DTSTAMP:20241107T004037Z
|
||||||
|
DTSTART;VALUE=DATE:20241224
|
||||||
|
DTEND;VALUE=DATE:20241224
|
||||||
|
X-MICROSOFT-CDO-ALLDAYEVENT:TRUE
|
||||||
|
X-MICROSOFT-MSNCALENDAR-ALLDAYEVENT:TRUE
|
||||||
|
SUMMARY:US_holidays Christmas
|
||||||
|
END:VEVENT
|
||||||
|
BEGIN:VEVENT
|
||||||
|
UID:upph@Ryan-jr
|
||||||
|
SEQUENCE:0
|
||||||
|
DTSTAMP:20241107T004037Z
|
||||||
|
DTSTART;VALUE=DATE:20241231
|
||||||
|
DTEND;VALUE=DATE:20241231
|
||||||
|
X-MICROSOFT-CDO-ALLDAYEVENT:TRUE
|
||||||
|
X-MICROSOFT-MSNCALENDAR-ALLDAYEVENT:TRUE
|
||||||
|
SUMMARY:US_holidays New Year's Day
|
||||||
|
END:VEVENT
|
||||||
|
BEGIN:VEVENT
|
||||||
|
UID:t7p7@Ryan-jr
|
||||||
|
SEQUENCE:0
|
||||||
|
DTSTAMP:20241107T004037Z
|
||||||
|
DTSTART;VALUE=DATE:20250119
|
||||||
|
DTEND;VALUE=DATE:20250119
|
||||||
|
X-MICROSOFT-CDO-ALLDAYEVENT:TRUE
|
||||||
|
X-MICROSOFT-MSNCALENDAR-ALLDAYEVENT:TRUE
|
||||||
|
SUMMARY:US_holidays M L King Day
|
||||||
|
END:VEVENT
|
||||||
|
BEGIN:VEVENT
|
||||||
|
UID:es1h@Ryan-jr
|
||||||
|
SEQUENCE:0
|
||||||
|
DTSTAMP:20241107T004037Z
|
||||||
|
DTSTART;VALUE=DATE:20250216
|
||||||
|
DTEND;VALUE=DATE:20250216
|
||||||
|
X-MICROSOFT-CDO-ALLDAYEVENT:TRUE
|
||||||
|
X-MICROSOFT-MSNCALENDAR-ALLDAYEVENT:TRUE
|
||||||
|
SUMMARY:US_holidays Presidents' Day
|
||||||
|
END:VEVENT
|
||||||
|
BEGIN:VEVENT
|
||||||
|
UID:c0ie@Ryan-jr
|
||||||
|
SEQUENCE:0
|
||||||
|
DTSTAMP:20241107T004037Z
|
||||||
|
DTSTART;VALUE=DATE:20250417
|
||||||
|
DTEND;VALUE=DATE:20250417
|
||||||
|
X-MICROSOFT-CDO-ALLDAYEVENT:TRUE
|
||||||
|
X-MICROSOFT-MSNCALENDAR-ALLDAYEVENT:TRUE
|
||||||
|
SUMMARY:US_holidays Good Friday
|
||||||
|
END:VEVENT
|
||||||
|
BEGIN:VEVENT
|
||||||
|
UID:s944@Ryan-jr
|
||||||
|
SEQUENCE:0
|
||||||
|
DTSTAMP:20241107T004037Z
|
||||||
|
DTSTART;VALUE=DATE:20250419
|
||||||
|
DTEND;VALUE=DATE:20250419
|
||||||
|
X-MICROSOFT-CDO-ALLDAYEVENT:TRUE
|
||||||
|
X-MICROSOFT-MSNCALENDAR-ALLDAYEVENT:TRUE
|
||||||
|
SUMMARY:US_holidays Easter Sunday
|
||||||
|
END:VEVENT
|
||||||
|
BEGIN:VEVENT
|
||||||
|
UID:r33k@Ryan-jr
|
||||||
|
SEQUENCE:0
|
||||||
|
DTSTAMP:20241107T004037Z
|
||||||
|
DTSTART;VALUE=DATE:20250525
|
||||||
|
DTEND;VALUE=DATE:20250525
|
||||||
|
X-MICROSOFT-CDO-ALLDAYEVENT:TRUE
|
||||||
|
X-MICROSOFT-MSNCALENDAR-ALLDAYEVENT:TRUE
|
||||||
|
SUMMARY:US_holidays Memorial Day
|
||||||
|
END:VEVENT
|
||||||
|
BEGIN:VEVENT
|
||||||
|
UID:q7bi@Ryan-jr
|
||||||
|
SEQUENCE:0
|
||||||
|
DTSTAMP:20241107T004037Z
|
||||||
|
DTSTART;VALUE=DATE:20250618
|
||||||
|
DTEND;VALUE=DATE:20250618
|
||||||
|
X-MICROSOFT-CDO-ALLDAYEVENT:TRUE
|
||||||
|
X-MICROSOFT-MSNCALENDAR-ALLDAYEVENT:TRUE
|
||||||
|
SUMMARY:US_holidays Juneteenth
|
||||||
|
END:VEVENT
|
||||||
|
BEGIN:VEVENT
|
||||||
|
UID:tzx2@Ryan-jr
|
||||||
|
SEQUENCE:0
|
||||||
|
DTSTAMP:20241107T004037Z
|
||||||
|
DTSTART;VALUE=DATE:20250703
|
||||||
|
DTEND;VALUE=DATE:20250703
|
||||||
|
X-MICROSOFT-CDO-ALLDAYEVENT:TRUE
|
||||||
|
X-MICROSOFT-MSNCALENDAR-ALLDAYEVENT:TRUE
|
||||||
|
SUMMARY:US_holidays Independence Day
|
||||||
|
END:VEVENT
|
||||||
|
BEGIN:VEVENT
|
||||||
|
UID:a75o@Ryan-jr
|
||||||
|
SEQUENCE:0
|
||||||
|
DTSTAMP:20241107T004037Z
|
||||||
|
DTSTART;VALUE=DATE:20250831
|
||||||
|
DTEND;VALUE=DATE:20250831
|
||||||
|
X-MICROSOFT-CDO-ALLDAYEVENT:TRUE
|
||||||
|
X-MICROSOFT-MSNCALENDAR-ALLDAYEVENT:TRUE
|
||||||
|
SUMMARY:US_holidays Labor Day
|
||||||
|
END:VEVENT
|
||||||
|
BEGIN:VEVENT
|
||||||
|
UID:3p4f@Ryan-jr
|
||||||
|
SEQUENCE:0
|
||||||
|
DTSTAMP:20241107T004037Z
|
||||||
|
DTSTART;VALUE=DATE:20251012
|
||||||
|
DTEND;VALUE=DATE:20251012
|
||||||
|
X-MICROSOFT-CDO-ALLDAYEVENT:TRUE
|
||||||
|
X-MICROSOFT-MSNCALENDAR-ALLDAYEVENT:TRUE
|
||||||
|
SUMMARY:US_holidays Columbus Day
|
||||||
|
END:VEVENT
|
||||||
|
BEGIN:VEVENT
|
||||||
|
UID:1fsh@Ryan-jr
|
||||||
|
SEQUENCE:0
|
||||||
|
DTSTAMP:20241107T004037Z
|
||||||
|
DTSTART;VALUE=DATE:20251110
|
||||||
|
DTEND;VALUE=DATE:20251110
|
||||||
|
X-MICROSOFT-CDO-ALLDAYEVENT:TRUE
|
||||||
|
X-MICROSOFT-MSNCALENDAR-ALLDAYEVENT:TRUE
|
||||||
|
SUMMARY:US_holidays Veterans Day
|
||||||
|
END:VEVENT
|
||||||
|
BEGIN:VEVENT
|
||||||
|
UID:m3ak@Ryan-jr
|
||||||
|
SEQUENCE:0
|
||||||
|
DTSTAMP:20241107T004037Z
|
||||||
|
DTSTART;VALUE=DATE:20251126
|
||||||
|
DTEND;VALUE=DATE:20251126
|
||||||
|
X-MICROSOFT-CDO-ALLDAYEVENT:TRUE
|
||||||
|
X-MICROSOFT-MSNCALENDAR-ALLDAYEVENT:TRUE
|
||||||
|
SUMMARY:US_holidays Thanksgiving Day
|
||||||
|
END:VEVENT
|
||||||
|
BEGIN:VEVENT
|
||||||
|
UID:fjjf@Ryan-jr
|
||||||
|
SEQUENCE:0
|
||||||
|
DTSTAMP:20241107T004037Z
|
||||||
|
DTSTART;VALUE=DATE:20251224
|
||||||
|
DTEND;VALUE=DATE:20251224
|
||||||
|
X-MICROSOFT-CDO-ALLDAYEVENT:TRUE
|
||||||
|
X-MICROSOFT-MSNCALENDAR-ALLDAYEVENT:TRUE
|
||||||
|
SUMMARY:US_holidays Christmas
|
||||||
|
END:VEVENT
|
||||||
|
END:VCALENDAR
|
16
calendar/Date_Based_Calendar.json
Normal file
16
calendar/Date_Based_Calendar.json
Normal file
|
@ -0,0 +1,16 @@
|
||||||
|
{
|
||||||
|
"id": "Date_Based_Calendar",
|
||||||
|
"linkGroupName": "Date Based Calendar",
|
||||||
|
"calendars": [
|
||||||
|
{
|
||||||
|
"url": "C:\\Users\\user\\OneDrive\\Desktop\\Internship_tasks\\final calmerg\\tests\\test_calendars\\ferien_bayern_2023.ics",
|
||||||
|
"prefix": "Ferien_Bayern_2023",
|
||||||
|
"override": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"url": "C:\\Users\\user\\OneDrive\\Desktop\\Internship_tasks\\final calmerg\\tests\\test_calendars\\US_Holidays.ics",
|
||||||
|
"prefix": "US_holidays",
|
||||||
|
"override": false
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
266
calendar/No_Prefix_Calendar.ics
Normal file
266
calendar/No_Prefix_Calendar.ics
Normal file
|
@ -0,0 +1,266 @@
|
||||||
|
BEGIN:VCALENDAR
|
||||||
|
VERSION:2.0
|
||||||
|
PRODID:-//sebbo.net//ical-generator//EN
|
||||||
|
NAME:No Prefix Calendar
|
||||||
|
X-WR-CALNAME:No Prefix Calendar
|
||||||
|
BEGIN:VEVENT
|
||||||
|
UID:x9il@Ryan-jr
|
||||||
|
SEQUENCE:0
|
||||||
|
DTSTAMP:20241107T004037Z
|
||||||
|
DTSTART;VALUE=DATE:20231231
|
||||||
|
DTEND;VALUE=DATE:20231231
|
||||||
|
X-MICROSOFT-CDO-ALLDAYEVENT:TRUE
|
||||||
|
X-MICROSOFT-MSNCALENDAR-ALLDAYEVENT:TRUE
|
||||||
|
SUMMARY: New Year's Day
|
||||||
|
END:VEVENT
|
||||||
|
BEGIN:VEVENT
|
||||||
|
UID:teh8@Ryan-jr
|
||||||
|
SEQUENCE:0
|
||||||
|
DTSTAMP:20241107T004037Z
|
||||||
|
DTSTART;VALUE=DATE:20240101
|
||||||
|
DTEND;VALUE=DATE:20240101
|
||||||
|
X-MICROSOFT-CDO-ALLDAYEVENT:TRUE
|
||||||
|
X-MICROSOFT-MSNCALENDAR-ALLDAYEVENT:TRUE
|
||||||
|
SUMMARY: New Year's Day Holiday
|
||||||
|
END:VEVENT
|
||||||
|
BEGIN:VEVENT
|
||||||
|
UID:ivxs@Ryan-jr
|
||||||
|
SEQUENCE:0
|
||||||
|
DTSTAMP:20241107T004037Z
|
||||||
|
DTSTART;VALUE=DATE:20240102
|
||||||
|
DTEND;VALUE=DATE:20240102
|
||||||
|
X-MICROSOFT-CDO-ALLDAYEVENT:TRUE
|
||||||
|
X-MICROSOFT-MSNCALENDAR-ALLDAYEVENT:TRUE
|
||||||
|
SUMMARY: New Year's Day Holiday
|
||||||
|
END:VEVENT
|
||||||
|
BEGIN:VEVENT
|
||||||
|
UID:wewc@Ryan-jr
|
||||||
|
SEQUENCE:0
|
||||||
|
DTSTAMP:20241107T004037Z
|
||||||
|
DTSTART;VALUE=DATE:20240103
|
||||||
|
DTEND;VALUE=DATE:20240103
|
||||||
|
X-MICROSOFT-CDO-ALLDAYEVENT:TRUE
|
||||||
|
X-MICROSOFT-MSNCALENDAR-ALLDAYEVENT:TRUE
|
||||||
|
SUMMARY: New Year's Day Holiday
|
||||||
|
END:VEVENT
|
||||||
|
BEGIN:VEVENT
|
||||||
|
UID:wa7f@Ryan-jr
|
||||||
|
SEQUENCE:0
|
||||||
|
DTSTAMP:20241107T004037Z
|
||||||
|
DTSTART;VALUE=DATE:20240104
|
||||||
|
DTEND;VALUE=DATE:20240104
|
||||||
|
X-MICROSOFT-CDO-ALLDAYEVENT:TRUE
|
||||||
|
X-MICROSOFT-MSNCALENDAR-ALLDAYEVENT:TRUE
|
||||||
|
SUMMARY: New Year's Day Holiday
|
||||||
|
END:VEVENT
|
||||||
|
BEGIN:VEVENT
|
||||||
|
UID:zcyl@Ryan-jr
|
||||||
|
SEQUENCE:0
|
||||||
|
DTSTAMP:20241107T004037Z
|
||||||
|
DTSTART;VALUE=DATE:20240106
|
||||||
|
DTEND;VALUE=DATE:20240106
|
||||||
|
X-MICROSOFT-CDO-ALLDAYEVENT:TRUE
|
||||||
|
X-MICROSOFT-MSNCALENDAR-ALLDAYEVENT:TRUE
|
||||||
|
SUMMARY: Orthodox Christmas
|
||||||
|
END:VEVENT
|
||||||
|
BEGIN:VEVENT
|
||||||
|
UID:khsh@Ryan-jr
|
||||||
|
SEQUENCE:0
|
||||||
|
DTSTAMP:20241107T004037Z
|
||||||
|
DTSTART;VALUE=DATE:20240107
|
||||||
|
DTEND;VALUE=DATE:20240107
|
||||||
|
X-MICROSOFT-CDO-ALLDAYEVENT:TRUE
|
||||||
|
X-MICROSOFT-MSNCALENDAR-ALLDAYEVENT:TRUE
|
||||||
|
SUMMARY: Orthodox Christmas Holiday
|
||||||
|
END:VEVENT
|
||||||
|
BEGIN:VEVENT
|
||||||
|
UID:f4di@Ryan-jr
|
||||||
|
SEQUENCE:0
|
||||||
|
DTSTAMP:20241107T004037Z
|
||||||
|
DTSTART;VALUE=DATE:20240222
|
||||||
|
DTEND;VALUE=DATE:20240222
|
||||||
|
X-MICROSOFT-CDO-ALLDAYEVENT:TRUE
|
||||||
|
X-MICROSOFT-MSNCALENDAR-ALLDAYEVENT:TRUE
|
||||||
|
SUMMARY: Defender of the Fatherland
|
||||||
|
END:VEVENT
|
||||||
|
BEGIN:VEVENT
|
||||||
|
UID:qj03@Ryan-jr
|
||||||
|
SEQUENCE:0
|
||||||
|
DTSTAMP:20241107T004037Z
|
||||||
|
DTSTART;VALUE=DATE:20240307
|
||||||
|
DTEND;VALUE=DATE:20240307
|
||||||
|
X-MICROSOFT-CDO-ALLDAYEVENT:TRUE
|
||||||
|
X-MICROSOFT-MSNCALENDAR-ALLDAYEVENT:TRUE
|
||||||
|
SUMMARY: Intl. Women's Day
|
||||||
|
END:VEVENT
|
||||||
|
BEGIN:VEVENT
|
||||||
|
UID:7bvf@Ryan-jr
|
||||||
|
SEQUENCE:0
|
||||||
|
DTSTAMP:20241107T004037Z
|
||||||
|
DTSTART;VALUE=DATE:20240430
|
||||||
|
DTEND;VALUE=DATE:20240430
|
||||||
|
X-MICROSOFT-CDO-ALLDAYEVENT:TRUE
|
||||||
|
X-MICROSOFT-MSNCALENDAR-ALLDAYEVENT:TRUE
|
||||||
|
SUMMARY: Spring and Labor Day
|
||||||
|
END:VEVENT
|
||||||
|
BEGIN:VEVENT
|
||||||
|
UID:l26b@Ryan-jr
|
||||||
|
SEQUENCE:0
|
||||||
|
DTSTAMP:20241107T004037Z
|
||||||
|
DTSTART;VALUE=DATE:20240508
|
||||||
|
DTEND;VALUE=DATE:20240508
|
||||||
|
X-MICROSOFT-CDO-ALLDAYEVENT:TRUE
|
||||||
|
X-MICROSOFT-MSNCALENDAR-ALLDAYEVENT:TRUE
|
||||||
|
SUMMARY: Victory Day
|
||||||
|
END:VEVENT
|
||||||
|
BEGIN:VEVENT
|
||||||
|
UID:exnx@Ryan-jr
|
||||||
|
SEQUENCE:0
|
||||||
|
DTSTAMP:20241107T004037Z
|
||||||
|
DTSTART;VALUE=DATE:20240611
|
||||||
|
DTEND;VALUE=DATE:20240611
|
||||||
|
X-MICROSOFT-CDO-ALLDAYEVENT:TRUE
|
||||||
|
X-MICROSOFT-MSNCALENDAR-ALLDAYEVENT:TRUE
|
||||||
|
SUMMARY: Russia Day
|
||||||
|
END:VEVENT
|
||||||
|
BEGIN:VEVENT
|
||||||
|
UID:fqo9@Ryan-jr
|
||||||
|
SEQUENCE:0
|
||||||
|
DTSTAMP:20241107T004037Z
|
||||||
|
DTSTART;VALUE=DATE:20241103
|
||||||
|
DTEND;VALUE=DATE:20241103
|
||||||
|
X-MICROSOFT-CDO-ALLDAYEVENT:TRUE
|
||||||
|
X-MICROSOFT-MSNCALENDAR-ALLDAYEVENT:TRUE
|
||||||
|
SUMMARY: Civil Unity Day
|
||||||
|
END:VEVENT
|
||||||
|
BEGIN:VEVENT
|
||||||
|
UID:vvrh@Ryan-jr
|
||||||
|
SEQUENCE:0
|
||||||
|
DTSTAMP:20241107T004037Z
|
||||||
|
DTSTART;VALUE=DATE:20241231
|
||||||
|
DTEND;VALUE=DATE:20241231
|
||||||
|
X-MICROSOFT-CDO-ALLDAYEVENT:TRUE
|
||||||
|
X-MICROSOFT-MSNCALENDAR-ALLDAYEVENT:TRUE
|
||||||
|
SUMMARY: New Year's Day
|
||||||
|
END:VEVENT
|
||||||
|
BEGIN:VEVENT
|
||||||
|
UID:glq6@Ryan-jr
|
||||||
|
SEQUENCE:0
|
||||||
|
DTSTAMP:20241107T004037Z
|
||||||
|
DTSTART;VALUE=DATE:20250101
|
||||||
|
DTEND;VALUE=DATE:20250101
|
||||||
|
X-MICROSOFT-CDO-ALLDAYEVENT:TRUE
|
||||||
|
X-MICROSOFT-MSNCALENDAR-ALLDAYEVENT:TRUE
|
||||||
|
SUMMARY: New Year's Day Holiday
|
||||||
|
END:VEVENT
|
||||||
|
BEGIN:VEVENT
|
||||||
|
UID:k4g5@Ryan-jr
|
||||||
|
SEQUENCE:0
|
||||||
|
DTSTAMP:20241107T004037Z
|
||||||
|
DTSTART;VALUE=DATE:20250102
|
||||||
|
DTEND;VALUE=DATE:20250102
|
||||||
|
X-MICROSOFT-CDO-ALLDAYEVENT:TRUE
|
||||||
|
X-MICROSOFT-MSNCALENDAR-ALLDAYEVENT:TRUE
|
||||||
|
SUMMARY: New Year's Day Holiday
|
||||||
|
END:VEVENT
|
||||||
|
BEGIN:VEVENT
|
||||||
|
UID:spcf@Ryan-jr
|
||||||
|
SEQUENCE:0
|
||||||
|
DTSTAMP:20241107T004037Z
|
||||||
|
DTSTART;VALUE=DATE:20250103
|
||||||
|
DTEND;VALUE=DATE:20250103
|
||||||
|
X-MICROSOFT-CDO-ALLDAYEVENT:TRUE
|
||||||
|
X-MICROSOFT-MSNCALENDAR-ALLDAYEVENT:TRUE
|
||||||
|
SUMMARY: New Year's Day Holiday
|
||||||
|
END:VEVENT
|
||||||
|
BEGIN:VEVENT
|
||||||
|
UID:dop6@Ryan-jr
|
||||||
|
SEQUENCE:0
|
||||||
|
DTSTAMP:20241107T004037Z
|
||||||
|
DTSTART;VALUE=DATE:20250104
|
||||||
|
DTEND;VALUE=DATE:20250104
|
||||||
|
X-MICROSOFT-CDO-ALLDAYEVENT:TRUE
|
||||||
|
X-MICROSOFT-MSNCALENDAR-ALLDAYEVENT:TRUE
|
||||||
|
SUMMARY: New Year's Day Holiday
|
||||||
|
END:VEVENT
|
||||||
|
BEGIN:VEVENT
|
||||||
|
UID:083t@Ryan-jr
|
||||||
|
SEQUENCE:0
|
||||||
|
DTSTAMP:20241107T004037Z
|
||||||
|
DTSTART;VALUE=DATE:20250106
|
||||||
|
DTEND;VALUE=DATE:20250106
|
||||||
|
X-MICROSOFT-CDO-ALLDAYEVENT:TRUE
|
||||||
|
X-MICROSOFT-MSNCALENDAR-ALLDAYEVENT:TRUE
|
||||||
|
SUMMARY: Orthodox Christmas
|
||||||
|
END:VEVENT
|
||||||
|
BEGIN:VEVENT
|
||||||
|
UID:n2o3@Ryan-jr
|
||||||
|
SEQUENCE:0
|
||||||
|
DTSTAMP:20241107T004037Z
|
||||||
|
DTSTART;VALUE=DATE:20250107
|
||||||
|
DTEND;VALUE=DATE:20250107
|
||||||
|
X-MICROSOFT-CDO-ALLDAYEVENT:TRUE
|
||||||
|
X-MICROSOFT-MSNCALENDAR-ALLDAYEVENT:TRUE
|
||||||
|
SUMMARY: Orthodox Christmas Holiday
|
||||||
|
END:VEVENT
|
||||||
|
BEGIN:VEVENT
|
||||||
|
UID:kxe2@Ryan-jr
|
||||||
|
SEQUENCE:0
|
||||||
|
DTSTAMP:20241107T004037Z
|
||||||
|
DTSTART;VALUE=DATE:20250223
|
||||||
|
DTEND;VALUE=DATE:20250223
|
||||||
|
X-MICROSOFT-CDO-ALLDAYEVENT:TRUE
|
||||||
|
X-MICROSOFT-MSNCALENDAR-ALLDAYEVENT:TRUE
|
||||||
|
SUMMARY: Defender of the Fatherland
|
||||||
|
END:VEVENT
|
||||||
|
BEGIN:VEVENT
|
||||||
|
UID:gd00@Ryan-jr
|
||||||
|
SEQUENCE:0
|
||||||
|
DTSTAMP:20241107T004037Z
|
||||||
|
DTSTART;VALUE=DATE:20250309
|
||||||
|
DTEND;VALUE=DATE:20250309
|
||||||
|
X-MICROSOFT-CDO-ALLDAYEVENT:TRUE
|
||||||
|
X-MICROSOFT-MSNCALENDAR-ALLDAYEVENT:TRUE
|
||||||
|
SUMMARY: Intl. Women's Day
|
||||||
|
END:VEVENT
|
||||||
|
BEGIN:VEVENT
|
||||||
|
UID:efw8@Ryan-jr
|
||||||
|
SEQUENCE:0
|
||||||
|
DTSTAMP:20241107T004037Z
|
||||||
|
DTSTART;VALUE=DATE:20250430
|
||||||
|
DTEND;VALUE=DATE:20250430
|
||||||
|
X-MICROSOFT-CDO-ALLDAYEVENT:TRUE
|
||||||
|
X-MICROSOFT-MSNCALENDAR-ALLDAYEVENT:TRUE
|
||||||
|
SUMMARY: Spring and Labor Day
|
||||||
|
END:VEVENT
|
||||||
|
BEGIN:VEVENT
|
||||||
|
UID:fqrx@Ryan-jr
|
||||||
|
SEQUENCE:0
|
||||||
|
DTSTAMP:20241107T004037Z
|
||||||
|
DTSTART;VALUE=DATE:20250508
|
||||||
|
DTEND;VALUE=DATE:20250508
|
||||||
|
X-MICROSOFT-CDO-ALLDAYEVENT:TRUE
|
||||||
|
X-MICROSOFT-MSNCALENDAR-ALLDAYEVENT:TRUE
|
||||||
|
SUMMARY: Victory Day
|
||||||
|
END:VEVENT
|
||||||
|
BEGIN:VEVENT
|
||||||
|
UID:f3wq@Ryan-jr
|
||||||
|
SEQUENCE:0
|
||||||
|
DTSTAMP:20241107T004037Z
|
||||||
|
DTSTART;VALUE=DATE:20250611
|
||||||
|
DTEND;VALUE=DATE:20250611
|
||||||
|
X-MICROSOFT-CDO-ALLDAYEVENT:TRUE
|
||||||
|
X-MICROSOFT-MSNCALENDAR-ALLDAYEVENT:TRUE
|
||||||
|
SUMMARY: Russia Day
|
||||||
|
END:VEVENT
|
||||||
|
BEGIN:VEVENT
|
||||||
|
UID:nw1a@Ryan-jr
|
||||||
|
SEQUENCE:0
|
||||||
|
DTSTAMP:20241107T004037Z
|
||||||
|
DTSTART;VALUE=DATE:20251103
|
||||||
|
DTEND;VALUE=DATE:20251103
|
||||||
|
X-MICROSOFT-CDO-ALLDAYEVENT:TRUE
|
||||||
|
X-MICROSOFT-MSNCALENDAR-ALLDAYEVENT:TRUE
|
||||||
|
SUMMARY: Civil Unity Day
|
||||||
|
END:VEVENT
|
||||||
|
END:VCALENDAR
|
11
calendar/No_Prefix_Calendar.json
Normal file
11
calendar/No_Prefix_Calendar.json
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
{
|
||||||
|
"id": "No_Prefix_Calendar",
|
||||||
|
"linkGroupName": "No Prefix Calendar",
|
||||||
|
"calendars": [
|
||||||
|
{
|
||||||
|
"url": "C:\\Users\\user\\OneDrive\\Desktop\\Internship_tasks\\final calmerg\\tests\\test_calendars\\San_Francisco_Public_Holidays.ics",
|
||||||
|
"prefix": "",
|
||||||
|
"override": false
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
266
calendar/Override_Calendar.ics
Normal file
266
calendar/Override_Calendar.ics
Normal file
|
@ -0,0 +1,266 @@
|
||||||
|
BEGIN:VCALENDAR
|
||||||
|
VERSION:2.0
|
||||||
|
PRODID:-//sebbo.net//ical-generator//EN
|
||||||
|
NAME:Override Calendar
|
||||||
|
X-WR-CALNAME:Override Calendar
|
||||||
|
BEGIN:VEVENT
|
||||||
|
UID:esp0@Ryan-jr
|
||||||
|
SEQUENCE:0
|
||||||
|
DTSTAMP:20241107T004037Z
|
||||||
|
DTSTART;VALUE=DATE:20231231
|
||||||
|
DTEND;VALUE=DATE:20231231
|
||||||
|
X-MICROSOFT-CDO-ALLDAYEVENT:TRUE
|
||||||
|
X-MICROSOFT-MSNCALENDAR-ALLDAYEVENT:TRUE
|
||||||
|
SUMMARY:Override Event
|
||||||
|
END:VEVENT
|
||||||
|
BEGIN:VEVENT
|
||||||
|
UID:wo7i@Ryan-jr
|
||||||
|
SEQUENCE:0
|
||||||
|
DTSTAMP:20241107T004037Z
|
||||||
|
DTSTART;VALUE=DATE:20240101
|
||||||
|
DTEND;VALUE=DATE:20240101
|
||||||
|
X-MICROSOFT-CDO-ALLDAYEVENT:TRUE
|
||||||
|
X-MICROSOFT-MSNCALENDAR-ALLDAYEVENT:TRUE
|
||||||
|
SUMMARY:Override Event
|
||||||
|
END:VEVENT
|
||||||
|
BEGIN:VEVENT
|
||||||
|
UID:d2d1@Ryan-jr
|
||||||
|
SEQUENCE:0
|
||||||
|
DTSTAMP:20241107T004037Z
|
||||||
|
DTSTART;VALUE=DATE:20240102
|
||||||
|
DTEND;VALUE=DATE:20240102
|
||||||
|
X-MICROSOFT-CDO-ALLDAYEVENT:TRUE
|
||||||
|
X-MICROSOFT-MSNCALENDAR-ALLDAYEVENT:TRUE
|
||||||
|
SUMMARY:Override Event
|
||||||
|
END:VEVENT
|
||||||
|
BEGIN:VEVENT
|
||||||
|
UID:9wmf@Ryan-jr
|
||||||
|
SEQUENCE:0
|
||||||
|
DTSTAMP:20241107T004037Z
|
||||||
|
DTSTART;VALUE=DATE:20240103
|
||||||
|
DTEND;VALUE=DATE:20240103
|
||||||
|
X-MICROSOFT-CDO-ALLDAYEVENT:TRUE
|
||||||
|
X-MICROSOFT-MSNCALENDAR-ALLDAYEVENT:TRUE
|
||||||
|
SUMMARY:Override Event
|
||||||
|
END:VEVENT
|
||||||
|
BEGIN:VEVENT
|
||||||
|
UID:34va@Ryan-jr
|
||||||
|
SEQUENCE:0
|
||||||
|
DTSTAMP:20241107T004037Z
|
||||||
|
DTSTART;VALUE=DATE:20240104
|
||||||
|
DTEND;VALUE=DATE:20240104
|
||||||
|
X-MICROSOFT-CDO-ALLDAYEVENT:TRUE
|
||||||
|
X-MICROSOFT-MSNCALENDAR-ALLDAYEVENT:TRUE
|
||||||
|
SUMMARY:Override Event
|
||||||
|
END:VEVENT
|
||||||
|
BEGIN:VEVENT
|
||||||
|
UID:ujj9@Ryan-jr
|
||||||
|
SEQUENCE:0
|
||||||
|
DTSTAMP:20241107T004037Z
|
||||||
|
DTSTART;VALUE=DATE:20240106
|
||||||
|
DTEND;VALUE=DATE:20240106
|
||||||
|
X-MICROSOFT-CDO-ALLDAYEVENT:TRUE
|
||||||
|
X-MICROSOFT-MSNCALENDAR-ALLDAYEVENT:TRUE
|
||||||
|
SUMMARY:Override Event
|
||||||
|
END:VEVENT
|
||||||
|
BEGIN:VEVENT
|
||||||
|
UID:cwbo@Ryan-jr
|
||||||
|
SEQUENCE:0
|
||||||
|
DTSTAMP:20241107T004037Z
|
||||||
|
DTSTART;VALUE=DATE:20240107
|
||||||
|
DTEND;VALUE=DATE:20240107
|
||||||
|
X-MICROSOFT-CDO-ALLDAYEVENT:TRUE
|
||||||
|
X-MICROSOFT-MSNCALENDAR-ALLDAYEVENT:TRUE
|
||||||
|
SUMMARY:Override Event
|
||||||
|
END:VEVENT
|
||||||
|
BEGIN:VEVENT
|
||||||
|
UID:6fi6@Ryan-jr
|
||||||
|
SEQUENCE:0
|
||||||
|
DTSTAMP:20241107T004037Z
|
||||||
|
DTSTART;VALUE=DATE:20240222
|
||||||
|
DTEND;VALUE=DATE:20240222
|
||||||
|
X-MICROSOFT-CDO-ALLDAYEVENT:TRUE
|
||||||
|
X-MICROSOFT-MSNCALENDAR-ALLDAYEVENT:TRUE
|
||||||
|
SUMMARY:Override Event
|
||||||
|
END:VEVENT
|
||||||
|
BEGIN:VEVENT
|
||||||
|
UID:7iu4@Ryan-jr
|
||||||
|
SEQUENCE:0
|
||||||
|
DTSTAMP:20241107T004037Z
|
||||||
|
DTSTART;VALUE=DATE:20240307
|
||||||
|
DTEND;VALUE=DATE:20240307
|
||||||
|
X-MICROSOFT-CDO-ALLDAYEVENT:TRUE
|
||||||
|
X-MICROSOFT-MSNCALENDAR-ALLDAYEVENT:TRUE
|
||||||
|
SUMMARY:Override Event
|
||||||
|
END:VEVENT
|
||||||
|
BEGIN:VEVENT
|
||||||
|
UID:n6ic@Ryan-jr
|
||||||
|
SEQUENCE:0
|
||||||
|
DTSTAMP:20241107T004037Z
|
||||||
|
DTSTART;VALUE=DATE:20240430
|
||||||
|
DTEND;VALUE=DATE:20240430
|
||||||
|
X-MICROSOFT-CDO-ALLDAYEVENT:TRUE
|
||||||
|
X-MICROSOFT-MSNCALENDAR-ALLDAYEVENT:TRUE
|
||||||
|
SUMMARY:Override Event
|
||||||
|
END:VEVENT
|
||||||
|
BEGIN:VEVENT
|
||||||
|
UID:a97h@Ryan-jr
|
||||||
|
SEQUENCE:0
|
||||||
|
DTSTAMP:20241107T004037Z
|
||||||
|
DTSTART;VALUE=DATE:20240508
|
||||||
|
DTEND;VALUE=DATE:20240508
|
||||||
|
X-MICROSOFT-CDO-ALLDAYEVENT:TRUE
|
||||||
|
X-MICROSOFT-MSNCALENDAR-ALLDAYEVENT:TRUE
|
||||||
|
SUMMARY:Override Event
|
||||||
|
END:VEVENT
|
||||||
|
BEGIN:VEVENT
|
||||||
|
UID:17gv@Ryan-jr
|
||||||
|
SEQUENCE:0
|
||||||
|
DTSTAMP:20241107T004037Z
|
||||||
|
DTSTART;VALUE=DATE:20240611
|
||||||
|
DTEND;VALUE=DATE:20240611
|
||||||
|
X-MICROSOFT-CDO-ALLDAYEVENT:TRUE
|
||||||
|
X-MICROSOFT-MSNCALENDAR-ALLDAYEVENT:TRUE
|
||||||
|
SUMMARY:Override Event
|
||||||
|
END:VEVENT
|
||||||
|
BEGIN:VEVENT
|
||||||
|
UID:uy33@Ryan-jr
|
||||||
|
SEQUENCE:0
|
||||||
|
DTSTAMP:20241107T004037Z
|
||||||
|
DTSTART;VALUE=DATE:20241103
|
||||||
|
DTEND;VALUE=DATE:20241103
|
||||||
|
X-MICROSOFT-CDO-ALLDAYEVENT:TRUE
|
||||||
|
X-MICROSOFT-MSNCALENDAR-ALLDAYEVENT:TRUE
|
||||||
|
SUMMARY:Override Event
|
||||||
|
END:VEVENT
|
||||||
|
BEGIN:VEVENT
|
||||||
|
UID:ilt7@Ryan-jr
|
||||||
|
SEQUENCE:0
|
||||||
|
DTSTAMP:20241107T004037Z
|
||||||
|
DTSTART;VALUE=DATE:20241231
|
||||||
|
DTEND;VALUE=DATE:20241231
|
||||||
|
X-MICROSOFT-CDO-ALLDAYEVENT:TRUE
|
||||||
|
X-MICROSOFT-MSNCALENDAR-ALLDAYEVENT:TRUE
|
||||||
|
SUMMARY:Override Event
|
||||||
|
END:VEVENT
|
||||||
|
BEGIN:VEVENT
|
||||||
|
UID:m38p@Ryan-jr
|
||||||
|
SEQUENCE:0
|
||||||
|
DTSTAMP:20241107T004037Z
|
||||||
|
DTSTART;VALUE=DATE:20250101
|
||||||
|
DTEND;VALUE=DATE:20250101
|
||||||
|
X-MICROSOFT-CDO-ALLDAYEVENT:TRUE
|
||||||
|
X-MICROSOFT-MSNCALENDAR-ALLDAYEVENT:TRUE
|
||||||
|
SUMMARY:Override Event
|
||||||
|
END:VEVENT
|
||||||
|
BEGIN:VEVENT
|
||||||
|
UID:kg4t@Ryan-jr
|
||||||
|
SEQUENCE:0
|
||||||
|
DTSTAMP:20241107T004037Z
|
||||||
|
DTSTART;VALUE=DATE:20250102
|
||||||
|
DTEND;VALUE=DATE:20250102
|
||||||
|
X-MICROSOFT-CDO-ALLDAYEVENT:TRUE
|
||||||
|
X-MICROSOFT-MSNCALENDAR-ALLDAYEVENT:TRUE
|
||||||
|
SUMMARY:Override Event
|
||||||
|
END:VEVENT
|
||||||
|
BEGIN:VEVENT
|
||||||
|
UID:t313@Ryan-jr
|
||||||
|
SEQUENCE:0
|
||||||
|
DTSTAMP:20241107T004037Z
|
||||||
|
DTSTART;VALUE=DATE:20250103
|
||||||
|
DTEND;VALUE=DATE:20250103
|
||||||
|
X-MICROSOFT-CDO-ALLDAYEVENT:TRUE
|
||||||
|
X-MICROSOFT-MSNCALENDAR-ALLDAYEVENT:TRUE
|
||||||
|
SUMMARY:Override Event
|
||||||
|
END:VEVENT
|
||||||
|
BEGIN:VEVENT
|
||||||
|
UID:q0tz@Ryan-jr
|
||||||
|
SEQUENCE:0
|
||||||
|
DTSTAMP:20241107T004037Z
|
||||||
|
DTSTART;VALUE=DATE:20250104
|
||||||
|
DTEND;VALUE=DATE:20250104
|
||||||
|
X-MICROSOFT-CDO-ALLDAYEVENT:TRUE
|
||||||
|
X-MICROSOFT-MSNCALENDAR-ALLDAYEVENT:TRUE
|
||||||
|
SUMMARY:Override Event
|
||||||
|
END:VEVENT
|
||||||
|
BEGIN:VEVENT
|
||||||
|
UID:952w@Ryan-jr
|
||||||
|
SEQUENCE:0
|
||||||
|
DTSTAMP:20241107T004037Z
|
||||||
|
DTSTART;VALUE=DATE:20250106
|
||||||
|
DTEND;VALUE=DATE:20250106
|
||||||
|
X-MICROSOFT-CDO-ALLDAYEVENT:TRUE
|
||||||
|
X-MICROSOFT-MSNCALENDAR-ALLDAYEVENT:TRUE
|
||||||
|
SUMMARY:Override Event
|
||||||
|
END:VEVENT
|
||||||
|
BEGIN:VEVENT
|
||||||
|
UID:oa4m@Ryan-jr
|
||||||
|
SEQUENCE:0
|
||||||
|
DTSTAMP:20241107T004037Z
|
||||||
|
DTSTART;VALUE=DATE:20250107
|
||||||
|
DTEND;VALUE=DATE:20250107
|
||||||
|
X-MICROSOFT-CDO-ALLDAYEVENT:TRUE
|
||||||
|
X-MICROSOFT-MSNCALENDAR-ALLDAYEVENT:TRUE
|
||||||
|
SUMMARY:Override Event
|
||||||
|
END:VEVENT
|
||||||
|
BEGIN:VEVENT
|
||||||
|
UID:lf4s@Ryan-jr
|
||||||
|
SEQUENCE:0
|
||||||
|
DTSTAMP:20241107T004037Z
|
||||||
|
DTSTART;VALUE=DATE:20250223
|
||||||
|
DTEND;VALUE=DATE:20250223
|
||||||
|
X-MICROSOFT-CDO-ALLDAYEVENT:TRUE
|
||||||
|
X-MICROSOFT-MSNCALENDAR-ALLDAYEVENT:TRUE
|
||||||
|
SUMMARY:Override Event
|
||||||
|
END:VEVENT
|
||||||
|
BEGIN:VEVENT
|
||||||
|
UID:i9e9@Ryan-jr
|
||||||
|
SEQUENCE:0
|
||||||
|
DTSTAMP:20241107T004037Z
|
||||||
|
DTSTART;VALUE=DATE:20250309
|
||||||
|
DTEND;VALUE=DATE:20250309
|
||||||
|
X-MICROSOFT-CDO-ALLDAYEVENT:TRUE
|
||||||
|
X-MICROSOFT-MSNCALENDAR-ALLDAYEVENT:TRUE
|
||||||
|
SUMMARY:Override Event
|
||||||
|
END:VEVENT
|
||||||
|
BEGIN:VEVENT
|
||||||
|
UID:t8ex@Ryan-jr
|
||||||
|
SEQUENCE:0
|
||||||
|
DTSTAMP:20241107T004037Z
|
||||||
|
DTSTART;VALUE=DATE:20250430
|
||||||
|
DTEND;VALUE=DATE:20250430
|
||||||
|
X-MICROSOFT-CDO-ALLDAYEVENT:TRUE
|
||||||
|
X-MICROSOFT-MSNCALENDAR-ALLDAYEVENT:TRUE
|
||||||
|
SUMMARY:Override Event
|
||||||
|
END:VEVENT
|
||||||
|
BEGIN:VEVENT
|
||||||
|
UID:5g1p@Ryan-jr
|
||||||
|
SEQUENCE:0
|
||||||
|
DTSTAMP:20241107T004037Z
|
||||||
|
DTSTART;VALUE=DATE:20250508
|
||||||
|
DTEND;VALUE=DATE:20250508
|
||||||
|
X-MICROSOFT-CDO-ALLDAYEVENT:TRUE
|
||||||
|
X-MICROSOFT-MSNCALENDAR-ALLDAYEVENT:TRUE
|
||||||
|
SUMMARY:Override Event
|
||||||
|
END:VEVENT
|
||||||
|
BEGIN:VEVENT
|
||||||
|
UID:w7fa@Ryan-jr
|
||||||
|
SEQUENCE:0
|
||||||
|
DTSTAMP:20241107T004037Z
|
||||||
|
DTSTART;VALUE=DATE:20250611
|
||||||
|
DTEND;VALUE=DATE:20250611
|
||||||
|
X-MICROSOFT-CDO-ALLDAYEVENT:TRUE
|
||||||
|
X-MICROSOFT-MSNCALENDAR-ALLDAYEVENT:TRUE
|
||||||
|
SUMMARY:Override Event
|
||||||
|
END:VEVENT
|
||||||
|
BEGIN:VEVENT
|
||||||
|
UID:wwi5@Ryan-jr
|
||||||
|
SEQUENCE:0
|
||||||
|
DTSTAMP:20241107T004037Z
|
||||||
|
DTSTART;VALUE=DATE:20251103
|
||||||
|
DTEND;VALUE=DATE:20251103
|
||||||
|
X-MICROSOFT-CDO-ALLDAYEVENT:TRUE
|
||||||
|
X-MICROSOFT-MSNCALENDAR-ALLDAYEVENT:TRUE
|
||||||
|
SUMMARY:Override Event
|
||||||
|
END:VEVENT
|
||||||
|
END:VCALENDAR
|
11
calendar/Override_Calendar.json
Normal file
11
calendar/Override_Calendar.json
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
{
|
||||||
|
"id": "Override_Calendar",
|
||||||
|
"linkGroupName": "Override Calendar",
|
||||||
|
"calendars": [
|
||||||
|
{
|
||||||
|
"url": "C:\\Users\\user\\OneDrive\\Desktop\\Internship_tasks\\final calmerg\\tests\\test_calendars\\San_Francisco_Public_Holidays.ics",
|
||||||
|
"prefix": "Override Event",
|
||||||
|
"override": true
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
46
calendar/Time_Based_Calendar.ics
Normal file
46
calendar/Time_Based_Calendar.ics
Normal file
|
@ -0,0 +1,46 @@
|
||||||
|
BEGIN:VCALENDAR
|
||||||
|
VERSION:2.0
|
||||||
|
PRODID:-//sebbo.net//ical-generator//EN
|
||||||
|
NAME:Time Based Calendar
|
||||||
|
X-WR-CALNAME:Time Based Calendar
|
||||||
|
BEGIN:VEVENT
|
||||||
|
UID:4pz8@Ryan-jr
|
||||||
|
SEQUENCE:0
|
||||||
|
DTSTAMP:20241107T004037Z
|
||||||
|
DTSTART:20241001T183000Z
|
||||||
|
DTEND:20241001T193000Z
|
||||||
|
SUMMARY:other_work calmerge
|
||||||
|
END:VEVENT
|
||||||
|
BEGIN:VEVENT
|
||||||
|
UID:wlgj@Ryan-jr
|
||||||
|
SEQUENCE:0
|
||||||
|
DTSTAMP:20241107T004037Z
|
||||||
|
DTSTART:20241010T173000Z
|
||||||
|
DTEND:20241010T183000Z
|
||||||
|
SUMMARY:other_work to do
|
||||||
|
END:VEVENT
|
||||||
|
BEGIN:VEVENT
|
||||||
|
UID:g5xa@Ryan-jr
|
||||||
|
SEQUENCE:0
|
||||||
|
DTSTAMP:20241107T004037Z
|
||||||
|
DTSTART:20240930T113000Z
|
||||||
|
DTEND:20240930T123000Z
|
||||||
|
SUMMARY:work other work
|
||||||
|
END:VEVENT
|
||||||
|
BEGIN:VEVENT
|
||||||
|
UID:oncs@Ryan-jr
|
||||||
|
SEQUENCE:0
|
||||||
|
DTSTAMP:20241107T004037Z
|
||||||
|
DTSTART:20241003T190000Z
|
||||||
|
DTEND:20241003T200000Z
|
||||||
|
SUMMARY:work progodessey
|
||||||
|
END:VEVENT
|
||||||
|
BEGIN:VEVENT
|
||||||
|
UID:n4eg@Ryan-jr
|
||||||
|
SEQUENCE:0
|
||||||
|
DTSTAMP:20241107T004037Z
|
||||||
|
DTSTART:20241009T173000Z
|
||||||
|
DTEND:20241009T183000Z
|
||||||
|
SUMMARY:work do
|
||||||
|
END:VEVENT
|
||||||
|
END:VCALENDAR
|
16
calendar/Time_Based_Calendar.json
Normal file
16
calendar/Time_Based_Calendar.json
Normal file
|
@ -0,0 +1,16 @@
|
||||||
|
{
|
||||||
|
"id": "Time_Based_Calendar",
|
||||||
|
"linkGroupName": "Time Based Calendar",
|
||||||
|
"calendars": [
|
||||||
|
{
|
||||||
|
"url": "C:\\Users\\user\\OneDrive\\Desktop\\Internship_tasks\\final calmerg\\tests\\test_calendars\\other_work.ics",
|
||||||
|
"prefix": "other_work",
|
||||||
|
"override": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"url": "C:\\Users\\user\\OneDrive\\Desktop\\Internship_tasks\\final calmerg\\tests\\test_calendars\\work.ics",
|
||||||
|
"prefix": "work",
|
||||||
|
"override": false
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
30
calendar/test.ics
Normal file
30
calendar/test.ics
Normal file
|
@ -0,0 +1,30 @@
|
||||||
|
BEGIN:VCALENDAR
|
||||||
|
VERSION:2.0
|
||||||
|
PRODID:-//sebbo.net//ical-generator//EN
|
||||||
|
NAME:test
|
||||||
|
X-WR-CALNAME:test
|
||||||
|
BEGIN:VEVENT
|
||||||
|
UID:4t6i@Ryan-jr
|
||||||
|
SEQUENCE:0
|
||||||
|
DTSTAMP:20241107T002033Z
|
||||||
|
DTSTART:20240930T113000Z
|
||||||
|
DTEND:20240930T123000Z
|
||||||
|
SUMMARY:work other work
|
||||||
|
END:VEVENT
|
||||||
|
BEGIN:VEVENT
|
||||||
|
UID:3yag@Ryan-jr
|
||||||
|
SEQUENCE:0
|
||||||
|
DTSTAMP:20241107T002033Z
|
||||||
|
DTSTART:20241003T190000Z
|
||||||
|
DTEND:20241003T200000Z
|
||||||
|
SUMMARY:work progodessey
|
||||||
|
END:VEVENT
|
||||||
|
BEGIN:VEVENT
|
||||||
|
UID:k6p3@Ryan-jr
|
||||||
|
SEQUENCE:0
|
||||||
|
DTSTAMP:20241107T002033Z
|
||||||
|
DTSTART:20241009T173000Z
|
||||||
|
DTEND:20241009T183000Z
|
||||||
|
SUMMARY:work do
|
||||||
|
END:VEVENT
|
||||||
|
END:VCALENDAR
|
11
calendar/test.json
Normal file
11
calendar/test.json
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
{
|
||||||
|
"id": "test",
|
||||||
|
"linkGroupName": "test",
|
||||||
|
"calendars": [
|
||||||
|
{
|
||||||
|
"prefix": "work",
|
||||||
|
"override": false,
|
||||||
|
"url": "https://calendar.google.com/calendar/ical/b4c66eb4bb2cc15257d071bab3f935385778b042112ea1aaedada47f3f1a6e3a%40group.calendar.google.com/public/basic.ics"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
38
directory_tree.txt
Normal file
38
directory_tree.txt
Normal file
|
@ -0,0 +1,38 @@
|
||||||
|
.
|
||||||
|
./.babelrc
|
||||||
|
./.git
|
||||||
|
./.git/COMMIT_EDITMSG
|
||||||
|
./.git/config
|
||||||
|
./.git/description
|
||||||
|
./.git/FETCH_HEAD
|
||||||
|
./.git/HEAD
|
||||||
|
./.git/hooks
|
||||||
|
./.git/index
|
||||||
|
./.git/info
|
||||||
|
./.git/logs
|
||||||
|
./.git/objects
|
||||||
|
./.git/ORIG_HEAD
|
||||||
|
./.git/refs
|
||||||
|
./.gitignore
|
||||||
|
./calendar
|
||||||
|
./calendar.test.js
|
||||||
|
./directory_tree.txt
|
||||||
|
./index.html
|
||||||
|
./jest.config.cjs
|
||||||
|
./node_modules
|
||||||
|
./package-lock.json
|
||||||
|
./package.json
|
||||||
|
./README.md
|
||||||
|
./script.js
|
||||||
|
./server.js
|
||||||
|
./styles.css
|
||||||
|
./temp_test_calendar
|
||||||
|
./temp_test_calendar/Date_Based_Calendar.json
|
||||||
|
./temp_test_calendar/No_Prefix_Calendar.ics
|
||||||
|
./temp_test_calendar/No_Prefix_Calendar.json
|
||||||
|
./temp_test_calendar/Override_Calendar.json
|
||||||
|
./temp_test_calendar/Time_Based_Calendar.json
|
||||||
|
./tests
|
||||||
|
./tests/expected_outputs
|
||||||
|
./tests/test_calendars
|
||||||
|
./__snapshots__
|
5
jest.config.cjs
Normal file
5
jest.config.cjs
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
module.exports = {
|
||||||
|
transform: {
|
||||||
|
'^.+\\.jsx?$': 'babel-jest',
|
||||||
|
},
|
||||||
|
};
|
|
@ -4,7 +4,7 @@
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"start": "node server.js",
|
"start": "node server.js",
|
||||||
"test": "jest ./test"
|
"test": "jest"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"axios": "^1.7.7",
|
"axios": "^1.7.7",
|
||||||
|
|
12
server.js
12
server.js
|
@ -9,7 +9,7 @@ const app = express();
|
||||||
app.use(express.json());
|
app.use(express.json());
|
||||||
|
|
||||||
// Determine the merged calendars directory based on the environment
|
// Determine the merged calendars directory based on the environment
|
||||||
const MERGED_CALENDARS_DIR = path.join(process.cwd(), 'calendar');
|
const MERGED_CALENDARS_DIR = path.join(__dirname, 'calendar');
|
||||||
console.log(`Merged calendars directory: ${MERGED_CALENDARS_DIR} under ${process.cwd()}`);
|
console.log(`Merged calendars directory: ${MERGED_CALENDARS_DIR} under ${process.cwd()}`);
|
||||||
|
|
||||||
// Ensure the merged calendars directory exists
|
// Ensure the merged calendars directory exists
|
||||||
|
@ -56,9 +56,10 @@ app.post('/merge', async (req, res) => {
|
||||||
prefix: calendar.prefix,
|
prefix: calendar.prefix,
|
||||||
override: calendar.override,
|
override: calendar.override,
|
||||||
});
|
});
|
||||||
|
|
||||||
} catch (error){
|
} catch (error){
|
||||||
console.error(`Error reading calendar file ${calendar.url}: ${error}`);
|
console.error(`Error reading calendar file ${calendar.url}:`, error);
|
||||||
return Promise.reject(error)
|
return Promise.resolve(null);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
// Fetch calendar data from URL
|
// Fetch calendar data from URL
|
||||||
|
@ -78,11 +79,14 @@ app.post('/merge', async (req, res) => {
|
||||||
});
|
});
|
||||||
|
|
||||||
const results = await Promise.all(promises);
|
const results = await Promise.all(promises);
|
||||||
|
// Filter out any failed requests
|
||||||
|
const validResults = results.filter((result) => result !== null);
|
||||||
|
|
||||||
// Create a new iCalendar instance
|
// Create a new iCalendar instance
|
||||||
const calendar = icalGenerator({ name: linkGroupName });
|
const calendar = icalGenerator({ name: linkGroupName });
|
||||||
|
|
||||||
// Parse calendar data
|
// Parse calendar data
|
||||||
results.forEach((result) => {
|
validResults.forEach((result) => {
|
||||||
const parsed = ICAL.parse(result.data);
|
const parsed = ICAL.parse(result.data);
|
||||||
const component = new ICAL.Component(parsed);
|
const component = new ICAL.Component(parsed);
|
||||||
const events = component.getAllSubcomponents('vevent');
|
const events = component.getAllSubcomponents('vevent');
|
||||||
|
|
16
temp_test_calendar/Date_Based_Calendar.json
Normal file
16
temp_test_calendar/Date_Based_Calendar.json
Normal file
|
@ -0,0 +1,16 @@
|
||||||
|
{
|
||||||
|
"id": "Date_Based_Calendar",
|
||||||
|
"linkGroupName": "Date Based Calendar",
|
||||||
|
"calendars": [
|
||||||
|
{
|
||||||
|
"url": "C:\\Users\\user\\OneDrive\\Desktop\\Internship_tasks\\final calmerg\\test_calendars\\ferien_bayern_2023.ics",
|
||||||
|
"prefix": "Ferien_Bayern_2023",
|
||||||
|
"override": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"url": "C:\\Users\\user\\OneDrive\\Desktop\\Internship_tasks\\final calmerg\\test_calendars\\US_Holidays.ics",
|
||||||
|
"prefix": "US_holidays",
|
||||||
|
"override": false
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
6
temp_test_calendar/No_Prefix_Calendar.ics
Normal file
6
temp_test_calendar/No_Prefix_Calendar.ics
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
BEGIN:VCALENDAR
|
||||||
|
VERSION:2.0
|
||||||
|
PRODID:-//sebbo.net//ical-generator//EN
|
||||||
|
NAME:No Prefix Calendar
|
||||||
|
X-WR-CALNAME:No Prefix Calendar
|
||||||
|
END:VCALENDAR
|
11
temp_test_calendar/No_Prefix_Calendar.json
Normal file
11
temp_test_calendar/No_Prefix_Calendar.json
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
{
|
||||||
|
"id": "No_Prefix_Calendar",
|
||||||
|
"linkGroupName": "No Prefix Calendar",
|
||||||
|
"calendars": [
|
||||||
|
{
|
||||||
|
"url": "C:\\Users\\user\\OneDrive\\Desktop\\Internship_tasks\\final calmerg\\test_calendars\\San_Francisco_Public_Holidays.ics",
|
||||||
|
"prefix": "",
|
||||||
|
"override": false
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
11
temp_test_calendar/Override_Calendar.json
Normal file
11
temp_test_calendar/Override_Calendar.json
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
{
|
||||||
|
"id": "Override_Calendar",
|
||||||
|
"linkGroupName": "Override Calendar",
|
||||||
|
"calendars": [
|
||||||
|
{
|
||||||
|
"url": "C:\\Users\\user\\OneDrive\\Desktop\\Internship_tasks\\final calmerg\\test_calendars\\San_Francisco_Public_Holidays.ics",
|
||||||
|
"prefix": "Override Event",
|
||||||
|
"override": true
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
16
temp_test_calendar/Time_Based_Calendar.json
Normal file
16
temp_test_calendar/Time_Based_Calendar.json
Normal file
|
@ -0,0 +1,16 @@
|
||||||
|
{
|
||||||
|
"id": "Time_Based_Calendar",
|
||||||
|
"linkGroupName": "Time Based Calendar",
|
||||||
|
"calendars": [
|
||||||
|
{
|
||||||
|
"url": "C:\\Users\\user\\OneDrive\\Desktop\\Internship_tasks\\final calmerg\\test_calendars\\other_work.ics",
|
||||||
|
"prefix": "other_work",
|
||||||
|
"override": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"url": "C:\\Users\\user\\OneDrive\\Desktop\\Internship_tasks\\final calmerg\\test_calendars\\work.ics",
|
||||||
|
"prefix": "work",
|
||||||
|
"override": false
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
Loading…
Add table
Reference in a new issue