Skip to content

Commit efd7a17

Browse files
committed
Add BigBlueButton conferencing app
1 parent 180ede2 commit efd7a17

23 files changed

Lines changed: 282 additions & 0 deletions

File tree

apps/api/v2/src/platform/bookings/2024-08-13/services/booking-video.service.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -93,6 +93,7 @@ export class BookingVideoService_2024_08_13 {
9393
const integrationToCredentialTypeMap = {
9494
zoom: "zoom_video",
9595
"whereby-video": "whereby_video",
96+
"bigbluebutton-video": "bigbluebutton_video",
9697
"webex-video": "webex_video",
9798
tandem: "tandem_video",
9899
jitsi: "jitsi_video",

apps/api/v2/src/platform/event-types/event-types_2024_06_14/transformers/api-to-internal/locations.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ import type {
1414
export const apiToInternalintegrationsMapping = {
1515
"cal-video": "integrations:daily",
1616
"google-meet": "integrations:google:meet",
17+
"bigbluebutton-video": "integrations:bigbluebutton_video",
1718
"office365-video": "integrations:office365_video",
1819
zoom: "integrations:zoom",
1920
"whereby-video": "integrations:whereby_video",

apps/api/v2/src/platform/event-types/event-types_2024_06_14/transformers/internal-to-api/locations.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ import type { InternalLocation } from "../internal/locations";
1717
const internalToApiIntegrationsMapping: Record<string, OutputIntegration_2024_06_14> = {
1818
"integrations:daily": "cal-video",
1919
"integrations:google:meet": "google-meet",
20+
"integrations:bigbluebutton_video": "bigbluebutton-video",
2021
"integrations:zoom": "zoom",
2122
"integrations:whereby_video": "whereby-video",
2223
"integrations:whatsapp_video": "whatsapp-video",

apps/api/v2/src/platform/event-types/event-types_2024_06_14/transformers/internal/locations.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ import { z } from "zod";
33
const integrationsApiAvailable = {
44
"cal-video": z.literal("integrations:daily"),
55
"google-meet": z.literal("integrations:google:meet"),
6+
"bigbluebutton-video": z.literal("integrations:bigbluebutton_video"),
67
zoom: z.literal("integrations:zoom"),
78
"office365-video": z.literal("integrations:office365_video"),
89
};
@@ -47,6 +48,7 @@ const OrganizerIntegrationSchema = z.object({
4748
type: z.union([
4849
integrationsApiToInternalMappingSchema["cal-video"],
4950
integrationsApiToInternalMappingSchema["google-meet"],
51+
integrationsApiToInternalMappingSchema["bigbluebutton-video"],
5052
integrationsApiToInternalMappingSchema["zoom"],
5153
integrationsApiToInternalMappingSchema["whereby-video"],
5254
integrationsApiToInternalMappingSchema["whatsapp-video"],

packages/app-store/apps.keys-schemas.generated.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
**/
55
import { appKeysSchema as alby_zod_ts } from "./alby/zod";
66
import { appKeysSchema as basecamp3_zod_ts } from "./basecamp3/zod";
7+
import { appKeysSchema as bigbluebutton_zod_ts } from "./bigbluebutton/zod";
78
import { appKeysSchema as btcpayserver_zod_ts } from "./btcpayserver/zod";
89
import { appKeysSchema as closecom_zod_ts } from "./closecom/zod";
910
import { appKeysSchema as dailyvideo_zod_ts } from "./dailyvideo/zod";
@@ -55,6 +56,7 @@ import { appKeysSchema as zoomvideo_zod_ts } from "./zoomvideo/zod";
5556
export const appKeysSchemas = {
5657
alby: alby_zod_ts,
5758
basecamp3: basecamp3_zod_ts,
59+
bigbluebutton: bigbluebutton_zod_ts,
5860
btcpayserver: btcpayserver_zod_ts,
5961
closecom: closecom_zod_ts,
6062
dailyvideo: dailyvideo_zod_ts,

packages/app-store/apps.metadata.generated.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ import attio_config_json from "./attio/config.json";
99
import autocheckin_config_json from "./autocheckin/config.json";
1010
import baa_for_hipaa_config_json from "./baa-for-hipaa/config.json";
1111
import basecamp3_config_json from "./basecamp3/config.json";
12+
import { metadata as bigbluebutton__metadata_ts } from "./bigbluebutton/_metadata";
1213
import bolna_config_json from "./bolna/config.json";
1314
import btcpayserver_config_json from "./btcpayserver/config.json";
1415
import { metadata as caldavcalendar__metadata_ts } from "./caldavcalendar/_metadata";
@@ -121,6 +122,7 @@ export const appStoreMetadata = {
121122
autocheckin: autocheckin_config_json,
122123
"baa-for-hipaa": baa_for_hipaa_config_json,
123124
basecamp3: basecamp3_config_json,
125+
bigbluebutton: bigbluebutton__metadata_ts,
124126
bolna: bolna_config_json,
125127
btcpayserver: btcpayserver_config_json,
126128
caldavcalendar: caldavcalendar__metadata_ts,

packages/app-store/apps.schemas.generated.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
**/
55
import { appDataSchema as alby_zod_ts } from "./alby/zod";
66
import { appDataSchema as basecamp3_zod_ts } from "./basecamp3/zod";
7+
import { appDataSchema as bigbluebutton_zod_ts } from "./bigbluebutton/zod";
78
import { appDataSchema as btcpayserver_zod_ts } from "./btcpayserver/zod";
89
import { appDataSchema as closecom_zod_ts } from "./closecom/zod";
910
import { appDataSchema as dailyvideo_zod_ts } from "./dailyvideo/zod";
@@ -55,6 +56,7 @@ import { appDataSchema as zoomvideo_zod_ts } from "./zoomvideo/zod";
5556
export const appDataSchemas = {
5657
alby: alby_zod_ts,
5758
basecamp3: basecamp3_zod_ts,
59+
bigbluebutton: bigbluebutton_zod_ts,
5860
btcpayserver: btcpayserver_zod_ts,
5961
closecom: closecom_zod_ts,
6062
dailyvideo: dailyvideo_zod_ts,

packages/app-store/apps.server.generated.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ export const apiHandlers = {
77
applecalendar: import("./applecalendar/api"),
88
attio: import("./attio/api"),
99
basecamp3: import("./basecamp3/api"),
10+
bigbluebutton: import("./bigbluebutton/api"),
1011
btcpayserver: import("./btcpayserver/api"),
1112
caldavcalendar: import("./caldavcalendar/api"),
1213
campfire: import("./campfire/api"),
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
BigBlueButton is an open source web conferencing system built for online learning and collaboration.
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
import type { AppMeta } from "@calcom/types/App";
2+
3+
export const metadata = {
4+
name: "BigBlueButton",
5+
description:
6+
"BigBlueButton is an open source web conferencing system built for online learning and collaboration.",
7+
installed: true,
8+
type: "bigbluebutton_video",
9+
variant: "conferencing",
10+
categories: ["conferencing"],
11+
logo: "icon.svg",
12+
publisher: "Cal.diy",
13+
url: "https://bigbluebutton.org/",
14+
slug: "bigbluebutton",
15+
title: "BigBlueButton",
16+
isGlobal: false,
17+
email: "help@cal.com",
18+
appData: {
19+
location: {
20+
linkType: "dynamic",
21+
type: "integrations:bigbluebutton_video",
22+
label: "BigBlueButton",
23+
},
24+
},
25+
dirName: "bigbluebutton",
26+
concurrentMeetings: true,
27+
isOAuth: false,
28+
} as AppMeta;
29+
30+
export default metadata;

0 commit comments

Comments
 (0)