export async function addEvent()

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,
  };
}