From 70461b2718582ba341304a8e25bcb5839a09fd6f Mon Sep 17 00:00:00 2001 From: Murtaja Ziad Date: Mon, 25 Sep 2023 11:34:37 +0300 Subject: [PATCH] feat: Zoho Calendar (#10429) Co-authored-by: Hariom Balhara Co-authored-by: alannnc Co-authored-by: Joe Au-Yeung <65426560+joeauyeung@users.noreply.github.com> Co-authored-by: Joe Au-Yeung Co-authored-by: Peer Richelsen Co-authored-by: aar2dee2 <85004512+aar2dee2@users.noreply.github.com> --- .env.appStore.example | 1 + README.md | 3 + .../app-store/apps.keys-schemas.generated.ts | 2 + packages/app-store/apps.metadata.generated.ts | 2 + packages/app-store/apps.schemas.generated.ts | 2 + packages/app-store/apps.server.generated.ts | 1 + packages/app-store/index.ts | 1 + .../app-store/zohocalendar/DESCRIPTION.md | 9 + packages/app-store/zohocalendar/README.md | 16 + packages/app-store/zohocalendar/api/add.ts | 42 ++ .../app-store/zohocalendar/api/callback.ts | 76 ++++ packages/app-store/zohocalendar/api/index.ts | 2 + packages/app-store/zohocalendar/config.json | 16 + packages/app-store/zohocalendar/index.ts | 2 + .../zohocalendar/lib/CalendarService.ts | 412 ++++++++++++++++++ packages/app-store/zohocalendar/lib/index.ts | 1 + packages/app-store/zohocalendar/package.json | 14 + .../app-store/zohocalendar/static/ZCal1.jpg | Bin 0 -> 60678 bytes .../app-store/zohocalendar/static/ZCal2.jpg | Bin 0 -> 53093 bytes .../app-store/zohocalendar/static/ZCal3.jpg | Bin 0 -> 58518 bytes .../app-store/zohocalendar/static/ZCal4.jpg | Bin 0 -> 24893 bytes .../app-store/zohocalendar/static/icon.svg | 1 + .../zohocalendar/types/ZohoCalendar.ts | 42 ++ packages/app-store/zohocalendar/zod.ts | 8 + packages/prisma/seed-app-store.ts | 1 + yarn.lock | 9 + 26 files changed, 663 insertions(+) create mode 100644 packages/app-store/zohocalendar/DESCRIPTION.md create mode 100644 packages/app-store/zohocalendar/README.md create mode 100644 packages/app-store/zohocalendar/api/add.ts create mode 100644 packages/app-store/zohocalendar/api/callback.ts create mode 100644 packages/app-store/zohocalendar/api/index.ts create mode 100644 packages/app-store/zohocalendar/config.json create mode 100644 packages/app-store/zohocalendar/index.ts create mode 100644 packages/app-store/zohocalendar/lib/CalendarService.ts create mode 100644 packages/app-store/zohocalendar/lib/index.ts create mode 100644 packages/app-store/zohocalendar/package.json create mode 100644 packages/app-store/zohocalendar/static/ZCal1.jpg create mode 100644 packages/app-store/zohocalendar/static/ZCal2.jpg create mode 100644 packages/app-store/zohocalendar/static/ZCal3.jpg create mode 100644 packages/app-store/zohocalendar/static/ZCal4.jpg create mode 100644 packages/app-store/zohocalendar/static/icon.svg create mode 100644 packages/app-store/zohocalendar/types/ZohoCalendar.ts create mode 100644 packages/app-store/zohocalendar/zod.ts diff --git a/.env.appStore.example b/.env.appStore.example index ca90618a53..2719175e4a 100644 --- a/.env.appStore.example +++ b/.env.appStore.example @@ -125,4 +125,5 @@ SALESFORCE_CONSUMER_SECRET="" ZOHOCRM_CLIENT_ID="" ZOHOCRM_CLIENT_SECRET="" + # ********************************************************************************************************* diff --git a/README.md b/README.md index 2a551a04cb..944c4c6764 100644 --- a/README.md +++ b/README.md @@ -504,6 +504,9 @@ For example, `Cal.com (support@cal.com)`. 9. Click the "Save"/ "UPDATE" button at the bottom footer. 10. You're good to go. Now you can easily add your ZohoCRM integration in the Cal.com settings. +### Obtaining Zoho Calendar Client ID and Secret + +[Follow these steps](./packages/app-store/zohocalendar/) ### Obtaining Zoho Bigin Client ID and Secret [Follow these steps](./packages/app-store/zoho-bigin/) diff --git a/packages/app-store/apps.keys-schemas.generated.ts b/packages/app-store/apps.keys-schemas.generated.ts index b3b679d8ed..8d889090f0 100644 --- a/packages/app-store/apps.keys-schemas.generated.ts +++ b/packages/app-store/apps.keys-schemas.generated.ts @@ -30,6 +30,7 @@ import { appKeysSchema as webex_zod_ts } from "./webex/zod"; import { appKeysSchema as wordpress_zod_ts } from "./wordpress/zod"; import { appKeysSchema as zapier_zod_ts } from "./zapier/zod"; import { appKeysSchema as zoho_bigin_zod_ts } from "./zoho-bigin/zod"; +import { appKeysSchema as zohocalendar_zod_ts } from "./zohocalendar/zod"; import { appKeysSchema as zohocrm_zod_ts } from "./zohocrm/zod"; import { appKeysSchema as zoomvideo_zod_ts } from "./zoomvideo/zod"; @@ -62,6 +63,7 @@ export const appKeysSchemas = { wordpress: wordpress_zod_ts, zapier: zapier_zod_ts, "zoho-bigin": zoho_bigin_zod_ts, + zohocalendar: zohocalendar_zod_ts, zohocrm: zohocrm_zod_ts, zoomvideo: zoomvideo_zod_ts, }; diff --git a/packages/app-store/apps.metadata.generated.ts b/packages/app-store/apps.metadata.generated.ts index 87b7ae5de3..c512487368 100644 --- a/packages/app-store/apps.metadata.generated.ts +++ b/packages/app-store/apps.metadata.generated.ts @@ -70,6 +70,7 @@ import { metadata as wipemycalother__metadata_ts } from "./wipemycalother/_metad import wordpress_config_json from "./wordpress/config.json"; import { metadata as zapier__metadata_ts } from "./zapier/_metadata"; import zoho_bigin_config_json from "./zoho-bigin/config.json"; +import zohocalendar_config_json from "./zohocalendar/config.json"; import zohocrm_config_json from "./zohocrm/config.json"; import { metadata as zoomvideo__metadata_ts } from "./zoomvideo/_metadata"; @@ -142,6 +143,7 @@ export const appStoreMetadata = { wordpress: wordpress_config_json, zapier: zapier__metadata_ts, "zoho-bigin": zoho_bigin_config_json, + zohocalendar: zohocalendar_config_json, zohocrm: zohocrm_config_json, zoomvideo: zoomvideo__metadata_ts, }; diff --git a/packages/app-store/apps.schemas.generated.ts b/packages/app-store/apps.schemas.generated.ts index 1801493d85..d4b15a93be 100644 --- a/packages/app-store/apps.schemas.generated.ts +++ b/packages/app-store/apps.schemas.generated.ts @@ -30,6 +30,7 @@ import { appDataSchema as webex_zod_ts } from "./webex/zod"; import { appDataSchema as wordpress_zod_ts } from "./wordpress/zod"; import { appDataSchema as zapier_zod_ts } from "./zapier/zod"; import { appDataSchema as zoho_bigin_zod_ts } from "./zoho-bigin/zod"; +import { appDataSchema as zohocalendar_zod_ts } from "./zohocalendar/zod"; import { appDataSchema as zohocrm_zod_ts } from "./zohocrm/zod"; import { appDataSchema as zoomvideo_zod_ts } from "./zoomvideo/zod"; @@ -62,6 +63,7 @@ export const appDataSchemas = { wordpress: wordpress_zod_ts, zapier: zapier_zod_ts, "zoho-bigin": zoho_bigin_zod_ts, + zohocalendar: zohocalendar_zod_ts, zohocrm: zohocrm_zod_ts, zoomvideo: zoomvideo_zod_ts, }; diff --git a/packages/app-store/apps.server.generated.ts b/packages/app-store/apps.server.generated.ts index 4f17a0f13b..1b4d268f6b 100644 --- a/packages/app-store/apps.server.generated.ts +++ b/packages/app-store/apps.server.generated.ts @@ -70,6 +70,7 @@ export const apiHandlers = { wordpress: import("./wordpress/api"), zapier: import("./zapier/api"), "zoho-bigin": import("./zoho-bigin/api"), + zohocalendar: import("./zohocalendar/api"), zohocrm: import("./zohocrm/api"), zoomvideo: import("./zoomvideo/api"), }; diff --git a/packages/app-store/index.ts b/packages/app-store/index.ts index 10046d5393..70a0db7817 100644 --- a/packages/app-store/index.ts +++ b/packages/app-store/index.ts @@ -32,6 +32,7 @@ const appStore = { exchangecalendar: () => import("./exchangecalendar"), facetime: () => import("./facetime"), sylapsvideo: () => import("./sylapsvideo"), + zohocalendar: () => import("./zohocalendar"), "zoho-bigin": () => import("./zoho-bigin"), basecamp3: () => import("./basecamp3"), telegramvideo: () => import("./telegram"), diff --git a/packages/app-store/zohocalendar/DESCRIPTION.md b/packages/app-store/zohocalendar/DESCRIPTION.md new file mode 100644 index 0000000000..153614e82e --- /dev/null +++ b/packages/app-store/zohocalendar/DESCRIPTION.md @@ -0,0 +1,9 @@ +--- +items: + - ZCal1.jpg + - ZCal2.jpg + - ZCal3.jpg + - ZCal4.jpg +--- + +Zoho Calendar is an online business calendar that makes scheduling easy for you. Use this app to sync your Cal bookings with your Zoho Calendar. \ No newline at end of file diff --git a/packages/app-store/zohocalendar/README.md b/packages/app-store/zohocalendar/README.md new file mode 100644 index 0000000000..5b22a522b9 --- /dev/null +++ b/packages/app-store/zohocalendar/README.md @@ -0,0 +1,16 @@ +## Zoho Calendar + +### Obtaining Zoho Calendar Client ID and Secret + +1. Open [Zoho API Console](https://api-console.zoho.com/) and sign into your account, or create a new one. +2. Create a "Server-based Applications", set the Redirect URL for OAuth `/api/integrations/zohocalendar/callback` replacing Cal.com URL with the URI at which your application runs. +4. Fill in any information you want in the "Client Details" tab +5. Go to tab "Client Secret" tab. +6. Now copy the Client ID and Client Secret into your app keys in the Cal.com admin panel (`/settings/admin/apps`). +7. Back in Zoho API Console, +8. In the "Settings" section check the "Multi-DC" option if you wish to use the same OAuth credentials for all data centers. +9. Click the "Save"/ "UPDATE" button at the bottom footer. +10. You're good to go. Now you can easily add your Zoho Calendar integration in the Cal.com settings at `/settings/my-account/calendars`. +11. You can access your Zoho calendar at [https://calendar.zoho.com/](https://calendar.zoho.com/) + +NOTE: If you use multiple calendars with Cal, make sure you enable the toggle to prevent double-bookings across calendar. This is in `/settings/my-account/calendars`. \ No newline at end of file diff --git a/packages/app-store/zohocalendar/api/add.ts b/packages/app-store/zohocalendar/api/add.ts new file mode 100644 index 0000000000..59a9868ff7 --- /dev/null +++ b/packages/app-store/zohocalendar/api/add.ts @@ -0,0 +1,42 @@ +import type { NextApiRequest, NextApiResponse } from "next"; +import { stringify } from "querystring"; + +import { WEBAPP_URL } from "@calcom/lib/constants"; +import { defaultHandler, defaultResponder } from "@calcom/lib/server"; + +import { encodeOAuthState } from "../../_utils/encodeOAuthState"; +import getAppKeysFromSlug from "../../_utils/getAppKeysFromSlug"; +import config from "../config.json"; +import { appKeysSchema as zohoKeysSchema } from "../zod"; + +const OAUTH_BASE_URL = "https://accounts.zoho.com/oauth/v2"; + +async function getHandler(req: NextApiRequest, res: NextApiResponse) { + const appKeys = await getAppKeysFromSlug(config.slug); + const { client_id } = zohoKeysSchema.parse(appKeys); + + const state = encodeOAuthState(req); + + const params = { + client_id, + response_type: "code", + redirect_uri: WEBAPP_URL + "/api/integrations/zohocalendar/callback", + scope: [ + "ZohoCalendar.calendar.ALL", + "ZohoCalendar.event.ALL", + "ZohoCalendar.freebusy.READ", + "AaaServer.profile.READ", + ], + access_type: "offline", + state, + prompt: "consent", + }; + + const query = stringify(params); + + res.status(200).json({ url: `${OAUTH_BASE_URL}/auth?${query}` }); +} + +export default defaultHandler({ + GET: Promise.resolve({ default: defaultResponder(getHandler) }), +}); diff --git a/packages/app-store/zohocalendar/api/callback.ts b/packages/app-store/zohocalendar/api/callback.ts new file mode 100644 index 0000000000..e46cd413ea --- /dev/null +++ b/packages/app-store/zohocalendar/api/callback.ts @@ -0,0 +1,76 @@ +import type { NextApiRequest, NextApiResponse } from "next"; +import { stringify } from "querystring"; + +import { WEBAPP_URL } from "@calcom/lib/constants"; +import { getSafeRedirectUrl } from "@calcom/lib/getSafeRedirectUrl"; +import logger from "@calcom/lib/logger"; +import { defaultHandler, defaultResponder } from "@calcom/lib/server"; + +import createOAuthAppCredential from "../../_utils/createOAuthAppCredential"; +import { decodeOAuthState } from "../../_utils/decodeOAuthState"; +import getAppKeysFromSlug from "../../_utils/getAppKeysFromSlug"; +import getInstalledAppPath from "../../_utils/getInstalledAppPath"; +import config from "../config.json"; +import type { ZohoAuthCredentials } from "../types/ZohoCalendar"; +import { appKeysSchema as zohoKeysSchema } from "../zod"; + +const log = logger.getChildLogger({ prefix: [`[[zohocalendar/api/callback]`] }); + +const OAUTH_BASE_URL = "https://accounts.zoho.com/oauth/v2"; + +async function getHandler(req: NextApiRequest, res: NextApiResponse) { + const { code } = req.query; + const state = decodeOAuthState(req); + + if (code && typeof code !== "string") { + res.status(400).json({ message: "`code` must be a string" }); + return; + } + + if (!req.session?.user?.id) { + return res.status(401).json({ message: "You must be logged in to do this" }); + } + + const appKeys = await getAppKeysFromSlug(config.slug); + const { client_id, client_secret } = zohoKeysSchema.parse(appKeys); + + const params = { + client_id, + grant_type: "authorization_code", + client_secret, + redirect_uri: `${WEBAPP_URL}/api/integrations/${config.slug}/callback`, + code, + }; + + const query = stringify(params); + + const response = await fetch(`${OAUTH_BASE_URL}/token?${query}`, { + method: "POST", + headers: { + "Content-Type": "application/json; charset=utf-8", + }, + }); + + const responseBody = await response.json(); + + if (!response.ok || responseBody.error) { + log.error("get access_token failed", responseBody); + return res.redirect("/apps/installed?error=" + JSON.stringify(responseBody)); + } + + const key: ZohoAuthCredentials = { + access_token: responseBody.access_token, + refresh_token: responseBody.refresh_token, + expires_in: Math.round(+new Date() / 1000 + responseBody.expires_in), + }; + + await createOAuthAppCredential({ appId: config.slug, type: config.type }, key, req); + + res.redirect( + getSafeRedirectUrl(state?.returnTo) ?? getInstalledAppPath({ variant: config.variant, slug: config.slug }) + ); +} + +export default defaultHandler({ + GET: Promise.resolve({ default: defaultResponder(getHandler) }), +}); diff --git a/packages/app-store/zohocalendar/api/index.ts b/packages/app-store/zohocalendar/api/index.ts new file mode 100644 index 0000000000..eb12c1b4ed --- /dev/null +++ b/packages/app-store/zohocalendar/api/index.ts @@ -0,0 +1,2 @@ +export { default as add } from "./add"; +export { default as callback } from "./callback"; diff --git a/packages/app-store/zohocalendar/config.json b/packages/app-store/zohocalendar/config.json new file mode 100644 index 0000000000..918050d971 --- /dev/null +++ b/packages/app-store/zohocalendar/config.json @@ -0,0 +1,16 @@ +{ + "name": "Zoho Calendar", + "description": "Zoho Calendar is an online business calendar that makes scheduling easy for you. You can use it to stay on top of your schedule and also share calendars with your team to keep everyone on the same page.", + "slug": "zohocalendar", + "type": "zoho_calendar", + "title": "Zoho Calendar", + "variant": "calendar", + "category": "calendar", + "categories": [ + "calendar" + ], + "logo": "icon.svg", + "publisher": "Cal.com", + "url": "https://cal.com/", + "email": "help@cal.com" +} \ No newline at end of file diff --git a/packages/app-store/zohocalendar/index.ts b/packages/app-store/zohocalendar/index.ts new file mode 100644 index 0000000000..e2e9d7b029 --- /dev/null +++ b/packages/app-store/zohocalendar/index.ts @@ -0,0 +1,2 @@ +export * as api from "./api"; +export * as lib from "./lib"; diff --git a/packages/app-store/zohocalendar/lib/CalendarService.ts b/packages/app-store/zohocalendar/lib/CalendarService.ts new file mode 100644 index 0000000000..82367f6443 --- /dev/null +++ b/packages/app-store/zohocalendar/lib/CalendarService.ts @@ -0,0 +1,412 @@ +import { stringify } from "querystring"; +import { z } from "zod"; + +import dayjs from "@calcom/dayjs"; +import { getLocation, getRichDescription } from "@calcom/lib/CalEventParser"; +import logger from "@calcom/lib/logger"; +import prisma from "@calcom/prisma"; +import type { + Calendar, + CalendarEvent, + EventBusyDate, + IntegrationCalendar, + NewCalendarEventType, +} from "@calcom/types/Calendar"; +import type { CredentialPayload } from "@calcom/types/Credential"; + +import getAppKeysFromSlug from "../../_utils/getAppKeysFromSlug"; +import type { ZohoAuthCredentials, FreeBusy, ZohoCalendarListResp } from "../types/ZohoCalendar"; + +const zohoKeysSchema = z.object({ + client_id: z.string(), + client_secret: z.string(), +}); + +export default class ZohoCalendarService implements Calendar { + private integrationName = ""; + private log: typeof logger; + auth: { getToken: () => Promise }; + + constructor(credential: CredentialPayload) { + this.integrationName = "zoho_calendar"; + this.auth = this.zohoAuth(credential); + this.log = logger.getChildLogger({ + prefix: [`[[lib] ${this.integrationName}`], + }); + } + + private zohoAuth = (credential: CredentialPayload) => { + let zohoCredentials = credential.key as ZohoAuthCredentials; + + const refreshAccessToken = async () => { + try { + const appKeys = await getAppKeysFromSlug("zohocalendar"); + const { client_id, client_secret } = zohoKeysSchema.parse(appKeys); + + const params = { + client_id, + grant_type: "refresh_token", + client_secret, + refresh_token: zohoCredentials.refresh_token, + }; + + const query = stringify(params); + + const res = await fetch(`https://accounts.zoho.com/oauth/v2/token?${query}`, { + method: "POST", + headers: { + "Content-Type": "application/json; charset=utf-8", + }, + }); + + const token = await res.json(); + + const key: ZohoAuthCredentials = { + access_token: token.access_token, + refresh_token: zohoCredentials.refresh_token, + expires_in: Math.round(+new Date() / 1000 + token.expires_in), + }; + await prisma.credential.update({ + where: { id: credential.id }, + data: { key }, + }); + zohoCredentials = key; + } catch (err) { + this.log.error("Error refreshing zoho token", err); + } + return zohoCredentials; + }; + + return { + getToken: async () => { + const isExpired = () => new Date(zohoCredentials.expires_in * 1000).getTime() <= new Date().getTime(); + return !isExpired() ? Promise.resolve(zohoCredentials) : refreshAccessToken(); + }, + }; + }; + + private fetcher = async (endpoint: string, init?: RequestInit | undefined) => { + const credentials = await this.auth.getToken(); + + return fetch(`https://calendar.zoho.com/api/v1${endpoint}`, { + method: "GET", + ...init, + headers: { + Authorization: "Bearer " + credentials.access_token, + "Content-Type": "application/json", + ...init?.headers, + }, + }); + }; + + private getUserInfo = async () => { + const credentials = await this.auth.getToken(); + + const response = await fetch(`https://accounts.zoho.com/oauth/user/info`, { + method: "GET", + headers: { + Authorization: "Bearer " + credentials.access_token, + "Content-Type": "application/json", + }, + }); + + return this.handleData(response, this.log); + }; + + async createEvent(event: CalendarEvent): Promise { + let eventId = ""; + let eventRespData; + const [mainHostDestinationCalendar] = event.destinationCalendar ?? []; + const calendarId = mainHostDestinationCalendar?.externalId; + if (!calendarId) { + throw new Error("no calendar id"); + } + + try { + const query = stringify({ + eventdata: JSON.stringify(this.translateEvent(event)), + }); + + const eventResponse = await this.fetcher(`/calendars/${calendarId}/events?${query}`, { + method: "POST", + }); + eventRespData = await this.handleData(eventResponse, this.log); + eventId = eventRespData.events[0].uid as string; + } catch (error) { + this.log.error(error); + throw error; + } + + try { + return { + ...eventRespData.events[0], + uid: eventRespData.events[0].uid as string, + id: eventRespData.events[0].uid as string, + type: "zoho_calendar", + password: "", + url: "", + additionalInfo: {}, + }; + } catch (error) { + this.log.error(error); + await this.deleteEvent(eventId, event, calendarId); + throw error; + } + } + + /** + * @param uid + * @param event + * @returns + */ + async updateEvent(uid: string, event: CalendarEvent, externalCalendarId?: string) { + const eventId = uid; + let eventRespData; + const [mainHostDestinationCalendar] = event.destinationCalendar ?? []; + const calendarId = externalCalendarId || mainHostDestinationCalendar?.externalId; + if (!calendarId) { + this.log.error("no calendar id provided in updateEvent"); + throw new Error("no calendar id provided in updateEvent"); + } + try { + // needed to fetch etag + const existingEventResponse = await this.fetcher(`/calendars/${calendarId}/events/${uid}`); + const existingEventData = await this.handleData(existingEventResponse, this.log); + + const query = stringify({ + eventdata: JSON.stringify({ + ...this.translateEvent(event), + etag: existingEventData.events[0].etag, + }), + }); + + const eventResponse = await this.fetcher(`/calendars/${calendarId}/events/${uid}?${query}`, { + method: "PUT", + }); + eventRespData = await this.handleData(eventResponse, this.log); + } catch (error) { + this.log.error(error); + throw error; + } + + try { + return { + ...eventRespData.events[0], + uid: eventRespData.events[0].uid as string, + id: eventRespData.events[0].uid as string, + type: "zoho_calendar", + password: "", + url: "", + additionalInfo: {}, + }; + } catch (error) { + this.log.error(error); + await this.deleteEvent(eventId, event); + throw error; + } + } + + /** + * @param uid + * @param event + * @returns + */ + async deleteEvent(uid: string, event: CalendarEvent, externalCalendarId?: string) { + const [mainHostDestinationCalendar] = event.destinationCalendar ?? []; + const calendarId = externalCalendarId || mainHostDestinationCalendar?.externalId; + if (!calendarId) { + this.log.error("no calendar id provided in deleteEvent"); + throw new Error("no calendar id provided in deleteEvent"); + } + try { + // needed to fetch etag + const existingEventResponse = await this.fetcher(`/calendars/${calendarId}/events/${uid}`); + const existingEventData = await this.handleData(existingEventResponse, this.log); + + const response = await this.fetcher(`/calendars/${calendarId}/events/${uid}`, { + method: "DELETE", + headers: { + etag: existingEventData.events[0].etag, + }, + }); + await this.handleData(response, this.log); + } catch (error) { + this.log.error(error); + throw error; + } + } + + private async getBusyData(dateFrom: string, dateTo: string, userEmail: string) { + const query = stringify({ + sdate: dateFrom, + edate: dateTo, + ftype: "eventbased", + uemail: userEmail, + }); + + const response = await this.fetcher(`/calendars/freebusy?${query}`, { + method: "GET", + }); + + const data = await this.handleData(response, this.log); + + if (data.fb_not_enabled || data.NODATA) return []; + + return ( + data.freebusy + .filter((freebusy: FreeBusy) => freebusy.fbtype === "busy") + .map((freebusy: FreeBusy) => ({ + // using dayjs utc plugin because by default, dayjs parses and displays in local time, which causes a mismatch + start: dayjs.utc(freebusy.startTime, "YYYYMMDD[T]HHmmss[Z]").toISOString(), + end: dayjs.utc(freebusy.endTime, "YYYYMMDD[T]HHmmss[Z]").toISOString(), + })) || [] + ); + } + + async getAvailability( + dateFrom: string, + dateTo: string, + selectedCalendars: IntegrationCalendar[] + ): Promise { + const selectedCalendarIds = selectedCalendars + .filter((e) => e.integration === this.integrationName) + .map((e) => e.externalId); + if (selectedCalendarIds.length === 0 && selectedCalendars.length > 0) { + // Only calendars of other integrations selected + return Promise.resolve([]); + } + + try { + let queryIds = selectedCalendarIds; + + if (queryIds.length === 0) { + queryIds = (await this.listCalendars()).map((e) => e.externalId) || []; + if (queryIds.length === 0) { + return Promise.resolve([]); + } + } + + if (!selectedCalendars[0]) return []; + + const userInfo = await this.getUserInfo(); + const originalStartDate = dayjs(dateFrom); + const originalEndDate = dayjs(dateTo); + const diff = originalEndDate.diff(originalStartDate, "days"); + + if (diff <= 30) { + const busyData = await this.getBusyData( + originalStartDate.format("YYYYMMDD[T]HHmmss[Z]"), + originalEndDate.format("YYYYMMDD[T]HHmmss[Z]"), + userInfo.Email + ); + return busyData; + } else { + // Zoho only supports 31 days of freebusy data + const busyData = []; + + const loopsNumber = Math.ceil(diff / 30); + + let startDate = originalStartDate; + let endDate = originalStartDate.add(30, "days"); + + for (let i = 0; i < loopsNumber; i++) { + if (endDate.isAfter(originalEndDate)) endDate = originalEndDate; + + busyData.push( + ...(await this.getBusyData( + startDate.format("YYYYMMDD[T]HHmmss[Z]"), + endDate.format("YYYYMMDD[T]HHmmss[Z]"), + userInfo.Email + )) + ); + + startDate = endDate.add(1, "minutes"); + endDate = startDate.add(30, "days"); + } + + return busyData; + } + } catch (error) { + this.log.error(error); + return []; + } + } + + async listCalendars(): Promise { + try { + const resp = await this.fetcher(`/calendars`); + const data = (await this.handleData(resp, this.log)) as ZohoCalendarListResp; + const result = data.calendars + .filter((cal) => { + if (cal.privilege === "owner") { + return true; + } + return false; + }) + .map((cal) => { + const calendar: IntegrationCalendar = { + externalId: cal.uid ?? "No Id", + integration: this.integrationName, + name: cal.name || "No calendar name", + primary: cal.isdefault, + email: cal.uid ?? "", + }; + return calendar; + }); + + if (result.some((cal) => !!cal.primary)) { + return result; + } + + // No primary calendar found, get primary calendar directly + const respPrimary = await this.fetcher(`/calendars?category=own`); + const dataPrimary = (await this.handleData(respPrimary, this.log)) as ZohoCalendarListResp; + return dataPrimary.calendars.map((cal) => { + const calendar: IntegrationCalendar = { + externalId: cal.uid ?? "No Id", + integration: this.integrationName, + name: cal.name || "No calendar name", + primary: cal.isdefault, + email: cal.uid ?? "", + }; + return calendar; + }); + } catch (err) { + this.log.error("There was an error contacting zoho calendar service: ", err); + throw err; + } + } + + async handleData(response: Response, log: typeof logger) { + const data = await response.json(); + if (!response.ok) { + log.debug("zoho request with data", data); + throw data; + } + log.debug("zoho request with data", data); + return data; + } + + private translateEvent = (event: CalendarEvent) => { + const zohoEvent = { + title: event.title, + description: getRichDescription(event), + dateandtime: { + start: dayjs(event.startTime).format("YYYYMMDDTHHmmssZZ"), + end: dayjs(event.endTime).format("YYYYMMDDTHHmmssZZ"), + timezone: event.organizer.timeZone, + }, + attendees: event.attendees.map((attendee) => ({ email: attendee.email })), + isprivate: event.seatsShowAttendees, + reminders: [ + { + minutes: "-15", + action: "popup", + }, + ], + location: event.location ? getLocation(event) : undefined, + }; + + return zohoEvent; + }; +} diff --git a/packages/app-store/zohocalendar/lib/index.ts b/packages/app-store/zohocalendar/lib/index.ts new file mode 100644 index 0000000000..e168c149df --- /dev/null +++ b/packages/app-store/zohocalendar/lib/index.ts @@ -0,0 +1 @@ +export { default as CalendarService } from "./CalendarService"; diff --git a/packages/app-store/zohocalendar/package.json b/packages/app-store/zohocalendar/package.json new file mode 100644 index 0000000000..066cd3b8bc --- /dev/null +++ b/packages/app-store/zohocalendar/package.json @@ -0,0 +1,14 @@ +{ + "$schema": "https://json.schemastore.org/package.json", + "private": true, + "name": "@calcom/zohocalendar", + "version": "0.0.0", + "main": "./index.ts", + "description": "Zoho Calendar is an online business calendar that makes scheduling easy for you. You can use it to stay on top of your schedule and also share calendars with your team to keep everyone on the same page.", + "dependencies": { + "@calcom/prisma": "*" + }, + "devDependencies": { + "@calcom/types": "*" + } +} diff --git a/packages/app-store/zohocalendar/static/ZCal1.jpg b/packages/app-store/zohocalendar/static/ZCal1.jpg new file mode 100644 index 0000000000000000000000000000000000000000..cc9e6c5460b67a287e1ba5563bea795fa58bfeff GIT binary patch literal 60678 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%0DKEEbb9U}A`BO%zl?B3D??BQ21) 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 X7b`WB9}HP5rGYFfYHRYx@<0FC5QX;U literal 0 HcmV?d00001 diff --git a/packages/app-store/zohocalendar/static/icon.svg b/packages/app-store/zohocalendar/static/icon.svg new file mode 100644 index 0000000000..3b1fb61c5d --- /dev/null +++ b/packages/app-store/zohocalendar/static/icon.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/app-store/zohocalendar/types/ZohoCalendar.ts b/packages/app-store/zohocalendar/types/ZohoCalendar.ts new file mode 100644 index 0000000000..0ebd9ea2c1 --- /dev/null +++ b/packages/app-store/zohocalendar/types/ZohoCalendar.ts @@ -0,0 +1,42 @@ +export type ZohoAuthCredentials = { + access_token: string; + refresh_token: string; + expires_in: number; +}; + +export type FreeBusy = { + fbtype: string; + startTime: string; + endTime: string; +}; + +export type ZohoCalendarListResp = { + calendars: { + name: string; + include_infreebusy: boolean; + textcolor: string; + isdefault: boolean; + status: boolean; + visibility: boolean; + timezone: string; + lastmodifiedtime: string; + color: string; + uid: string; + description: string; + privilege: string; + private: { + status: string; + icalurl: string; + htmlurl: string; + }; + public: { + icalurl: string; + privilege: string; + htmlurl: string; + }; + reminders: { + minutes: string; + action: string; + }[]; + }[]; +}; diff --git a/packages/app-store/zohocalendar/zod.ts b/packages/app-store/zohocalendar/zod.ts new file mode 100644 index 0000000000..0a84054ebe --- /dev/null +++ b/packages/app-store/zohocalendar/zod.ts @@ -0,0 +1,8 @@ +import { z } from "zod"; + +export const appDataSchema = z.object({}); + +export const appKeysSchema = z.object({ + client_id: z.string().min(1), + client_secret: z.string().min(1), +}); diff --git a/packages/prisma/seed-app-store.ts b/packages/prisma/seed-app-store.ts index d4bff45b70..eaf642a04e 100644 --- a/packages/prisma/seed-app-store.ts +++ b/packages/prisma/seed-app-store.ts @@ -316,6 +316,7 @@ export default async function main() { client_secret: process.env.ZOHOCRM_CLIENT_SECRET, }); } + await createApp("wipe-my-cal", "wipemycalother", ["automation"], "wipemycal_other"); if (process.env.GIPHY_API_KEY) { await createApp("giphy", "giphy", ["other"], "giphy_other", { diff --git a/yarn.lock b/yarn.lock index 4e58ba524d..b983921e19 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4488,6 +4488,15 @@ __metadata: languageName: unknown linkType: soft +"@calcom/zohocalendar@workspace:packages/app-store/zohocalendar": + version: 0.0.0-use.local + resolution: "@calcom/zohocalendar@workspace:packages/app-store/zohocalendar" + dependencies: + "@calcom/prisma": "*" + "@calcom/types": "*" + languageName: unknown + linkType: soft + "@calcom/zohocrm@workspace:packages/app-store/zohocrm": version: 0.0.0-use.local resolution: "@calcom/zohocrm@workspace:packages/app-store/zohocrm"