in gemini/autocal/frontend/libs/calendar/calendar.ts [26:74]
export async function addEvent(
event: CalendarEvent,
): Promise<CalendarResponse> {
// Get access token from session
const token = await getAccessToken();
if (!token) {
return {
ok: false,
error: "Access token error - check if you are logged in",
};
}
const response = await fetch(
"https://www.googleapis.com/calendar/v3/calendars/primary/events",
{
method: "POST",
headers: {
Authorization: `Bearer ${token.token}`,
"Content-Type": "application/json",
},
body: JSON.stringify({
summary: event.summary,
start: {
dateTime: new Date(event.start).toISOString(),
},
end: {
dateTime: new Date(event.end).toISOString(),
},
location: event.location,
description: event.description,
}),
},
);
if (!response.ok) {
const errorData = await response.json();
console.error("Error fetching calendar list:", errorData);
console.error(errorData["error"]);
return {
ok: false,
error: `${errorData["error"]["message"]}`,
};
}
return {
ok: true,
};
}