letrelevantEventsRows=awaitconn.query('SELECT DISTINCT(entry_id) FROM rapla_changes WHERE new_start > ? AND new_start < DATE_ADD(?, INTERVAL 7 DAY)',[week,week]);
letrows=awaitconn.query('SELECT c.change_id, c.entry_id, c.change_timestamp, c.isDeleted, c.new_summary, c.new_description, c.new_start, c.new_last_modified, c.new_end, c.new_created, c.new_location, c.new_organizer, c.new_categories, e.uid FROM rapla_changes c LEFT OUTER JOIN rapla_entries e ON c.entry_id = e.entry_id WHERE c.entry_id IN (?) ORDER BY c.change_id',[relevantEventIds]);
leteventsMap=newMap();
for(letrowofrows){
letchange: Change={
change_id: row.change_id,
event_id: row.event_id,
change_timestamp: row.change_timestamp,
is_deleted: row.isDeleted,
new_summary: row.new_summary,
new_description: row.new_description,
new_start: row.new_start,
new_end: row.new_end,
new_last_modified: row.new_last_modified,
new_created: row.new_created,
new_location: row.new_location,
new_organizer: row.new_organizer,
new_categories: row.new_categories,
new_recurring: row.new_recurring
};
if(eventsMap.has(row.entry_id)){
letevent=eventsMap.get(row.entry_id);
// Only adjust these fields if the event is not deleted as otherwise they would be null
letrows=awaitconn.query('SELECT c.change_id, c.entry_id, c.change_timestamp, c.isDeleted, c.new_summary, c.new_description, c.new_start, c.new_last_modified, c.new_end, c.new_created, c.new_location, c.new_organizer, c.new_categories, e.uid FROM rapla_changes c LEFT OUTER JOIN rapla_entries e ON c.entry_id = e.entry_id WHERE e.uid = ? ORDER BY c.change_id',id);
leteventsMap=newMap();
for(letrowofrows){
letchange: Change={
change_id: row.change_id,
event_id: row.event_id,
change_timestamp: row.change_timestamp,
is_deleted: row.isDeleted,
new_summary: row.new_summary,
new_description: row.new_description,
new_start: row.new_start,
new_end: row.new_end,
new_last_modified: row.new_last_modified,
new_created: row.new_created,
new_location: row.new_location,
new_organizer: row.new_organizer,
new_categories: row.new_categories,
new_recurring: row.new_recurring
};
if(eventsMap.has(row.entry_id)){
letevent=eventsMap.get(row.entry_id);
// Only adjust these fields if the event is not deleted as otherwise they would be null