mirror of
https://github.com/urosran/cally.git
synced 2025-07-10 15:17:17 +00:00
New calendar
This commit is contained in:
@ -1144,12 +1144,14 @@ exports.cleanupTokenRefreshFlags = functions.pubsub
|
||||
|
||||
async function fetchAndSaveGoogleEvents({token, refreshToken, email, familyId, creatorId}) {
|
||||
const baseDate = new Date();
|
||||
const timeMin = new Date(baseDate.setMonth(baseDate.getMonth() - 1)).toISOString();
|
||||
const timeMax = new Date(baseDate.setMonth(baseDate.getMonth() + 2)).toISOString();
|
||||
const oneYearAgo = new Date(baseDate);
|
||||
oneYearAgo.setFullYear(oneYearAgo.getFullYear() - 1);
|
||||
const oneYearAhead = new Date(baseDate);
|
||||
oneYearAhead.setFullYear(oneYearAhead.getFullYear() + 1);
|
||||
|
||||
let totalEvents = 0;
|
||||
let pageToken = null;
|
||||
const batchSize = 50;
|
||||
const batchSize = 250;
|
||||
|
||||
try {
|
||||
console.log(`[FETCH] Starting event fetch for user: ${email}`);
|
||||
@ -1158,12 +1160,12 @@ async function fetchAndSaveGoogleEvents({token, refreshToken, email, familyId, c
|
||||
let events = [];
|
||||
const url = new URL(`https://www.googleapis.com/calendar/v3/calendars/primary/events`);
|
||||
url.searchParams.set("singleEvents", "true");
|
||||
url.searchParams.set("timeMin", timeMin);
|
||||
url.searchParams.set("timeMax", timeMax);
|
||||
url.searchParams.set("timeMin", oneYearAgo.toISOString());
|
||||
url.searchParams.set("timeMax", oneYearAhead.toISOString());
|
||||
url.searchParams.set("maxResults", batchSize.toString());
|
||||
if (pageToken) url.searchParams.set("pageToken", pageToken);
|
||||
|
||||
console.log(`[FETCH] Making request with token: ${token.substring(0, 10)}...`);
|
||||
console.log(`[FETCH] Making request with token: ${token?.substring(0, 10)}...`);
|
||||
|
||||
let response = await fetch(url.toString(), {
|
||||
headers: {
|
||||
@ -1178,12 +1180,10 @@ async function fetchAndSaveGoogleEvents({token, refreshToken, email, familyId, c
|
||||
console.log(`[TOKEN] Token refreshed successfully during fetch`);
|
||||
token = refreshedGoogleToken;
|
||||
|
||||
// Update token in Firestore
|
||||
await db.collection("Profiles").doc(creatorId).update({
|
||||
[`googleAccounts.${email}.accessToken`]: refreshedGoogleToken
|
||||
});
|
||||
|
||||
// Retry the request with new token
|
||||
response = await fetch(url.toString(), {
|
||||
headers: {
|
||||
Authorization: `Bearer ${refreshedGoogleToken}`,
|
||||
|
Reference in New Issue
Block a user