calcom/lib/integrations.ts
Philipp Dormann 20d2955e68
Add Jitsi Meet Integration (#1674)
* basic integration structure

* jitsi logo

* add jitsi meet description to event settings page

* add JitsiVideoApiAdapter

ref #1445

* add LocationType.Jitsi to BookingPage

ref #1445

* add LocationType.Jitsi to event-types

ref #1445

* add meet.jit.si/cal/uuid support to BookingPage

ref #1445

* add basic "cal_provide_jitsi_meeting_url" translation strings

ref #1445

* generate meeting id

ref #1445

* implement direct jitsi link in /success page

ref #1445

* cleanup location link duplicate

ref #1445

* full JitsiVideoApiAdapter implementation

ref #1445

* check integration availability in /pages/event-types/[type]

ref #1445

* add video conferencing link as calendar event location

ref #1445

* PR feedback

* Update components/booking/pages/BookingPage.tsx

don't know - wouldn't do this myself for future proofing but fine...

Co-authored-by: Omar López <zomars@me.com>

* Update components/booking/pages/BookingPage.tsx

🤷‍♂️

Co-authored-by: Omar López <zomars@me.com>

* cleanup: props.type === "jitsi_video"

ref #1445

Co-authored-by: zomars <zomars@me.com>
2022-02-08 15:12:28 -07:00

34 lines
815 B
TypeScript

export function getIntegrationName(name: string) {
switch (name) {
case "google_calendar":
return "Google Calendar";
case "office365_calendar":
return "Office 365 Calendar";
case "zoom_video":
return "Zoom";
case "caldav_calendar":
return "CalDav Server";
case "stripe_payment":
return "Stripe";
case "apple_calendar":
return "Apple Calendar";
case "daily_video":
return "Daily";
case "jitsi_video":
return "Jitsi Meet";
case "huddle01_video":
return "Huddle01";
case "tandem_video":
return "Tandem";
}
}
export function getIntegrationType(name: string): string {
if (name.endsWith("_calendar")) {
return "Calendar";
}
if (name.endsWith("_payment")) {
return "Payment";
}
return "Unknown";
}