class_docstr: A class for handling connections and interactions with the Google Calendar API.
docstr: Update event or events in the calendar.
  Args:
      params (dict): query parameters
  Returns:
      DataFrame
docstr_tok: ["Update","event","or","events","in","the","calendar",".","Args",":","params","(","dict",")",":","query","parameters","Returns",":","DataFrame"]
code: def update_event(self, params: dict = None) -> pd.DataFrame:
      """
      Update event or events in the calendar.
      Args:
          params (dict): query parameters
      Returns:
          DataFrame
      """
      service = self.connect()
      df = pd.DataFrame(columns=["eventId", "status"])
      if params["event_id"]:
          start_id = int(params["event_id"])
          end_id = start_id + 1
      elif not params["start_id"]:
          start_id = int(params["end_id"]) - 10
      elif not params["end_id"]:
          end_id = int(params["start_id"]) + 10
      else:
          start_id = int(params["start_id"])
          end_id = int(params["end_id"])
  
      for i in range(start_id, end_id):
          event = (
              service.events()
              .get(calendarId="primary", eventId=i)
              .execute()
          )
          if params["summary"]:
              event["summary"] = params["summary"]
          if params["location"]:
              event["location"] = params["location"]
          if params["description"]:
              event["description"] = params["description"]
          if params["start"]:
              event["start"]["dateTime"] = params["start"]["dateTime"]
              event["start"]["timeZone"] = params["start"]["timeZone"]
          if params["end"]:
              event["end"]["dateTime"] = params["end"]["dateTime"]
              event["end"]["timeZone"] = params["end"]["timeZone"]
          if params["attendees"]:
              event["attendees"] = [
                  {"email": attendee}
                  for attendee in params["attendees"].split(",")
              ]
          updated_event = (
              service.events()
              .update(
                  calendarId="primary", eventId=event["id"], body=event
              )
              .execute()
          )
          df = pd.concat(
              [
                  df,
                  pd.DataFrame(
                      [
                          {
                              "eventId": updated_event["id"],
                              "status": "updated",
                          }
                      ]
                  ),
              ],
              ignore_index=True,
          )
  
      return df
  
imports: import os
  from collections import OrderedDict
  import pandas
  from google.auth.transport.requests import Request
  from google.oauth2.credentials import Credentials
  from googleapiclient.discovery import build
  from mindsdb.api.executor.data_types.response_type import RESPONSE_TYPE
  from mindsdb.integrations.libs.const import HANDLER_CONNECTION_ARG_TYPE
  from mindsdb.integrations.libs.api_handler import APIHandler, FuncParser
  from mindsdb.integrations.libs.response import HandlerStatusResponse, HandlerResponse
  from mindsdb.utilities import log
  from mindsdb.integrations.handlers.gmail_handler.utils import AuthException, google_auth_flow, save_creds_to_file
  from .google_calendar_tables import GoogleCalendarEventsTable
label_desc: Use image node_id 7 for calling the GoogleCalendarHandler obj's underlying member method code with example usage: obj.update_event(params) and returns: df