diff --git a/packages/app-store/apps.metadata.generated.ts b/packages/app-store/apps.metadata.generated.ts index 5bf5cf5637fa42..3733ff0d8d38bd 100644 --- a/packages/app-store/apps.metadata.generated.ts +++ b/packages/app-store/apps.metadata.generated.ts @@ -13,6 +13,7 @@ import routing_forms_config_json from "./ee/routing-forms/config.json"; import { metadata as exchange2013calendar__metadata_ts } from "./exchange2013calendar/_metadata"; import { metadata as exchange2016calendar__metadata_ts } from "./exchange2016calendar/_metadata"; import exchangecalendar_config_json from "./exchangecalendar/config.json"; +import facetime_config_json from "./facetime/config.json"; import fathom_config_json from "./fathom/config.json"; import ga4_config_json from "./ga4/config.json"; import { metadata as giphy__metadata_ts } from "./giphy/_metadata"; @@ -68,6 +69,7 @@ export const appStoreMetadata = { exchange2013calendar: exchange2013calendar__metadata_ts, exchange2016calendar: exchange2016calendar__metadata_ts, exchangecalendar: exchangecalendar_config_json, + facetime: facetime_config_json, fathom: fathom_config_json, ga4: ga4_config_json, giphy: giphy__metadata_ts, diff --git a/packages/app-store/apps.server.generated.ts b/packages/app-store/apps.server.generated.ts index 66ed6541b83bc4..9ea61df5633898 100644 --- a/packages/app-store/apps.server.generated.ts +++ b/packages/app-store/apps.server.generated.ts @@ -13,6 +13,7 @@ export const apiHandlers = { exchange2013calendar: import("./exchange2013calendar/api"), exchange2016calendar: import("./exchange2016calendar/api"), exchangecalendar: import("./exchangecalendar/api"), + facetime: import("./facetime/api"), fathom: import("./fathom/api"), ga4: import("./ga4/api"), giphy: import("./giphy/api"), diff --git a/packages/app-store/facetime/DESCRIPTION.md b/packages/app-store/facetime/DESCRIPTION.md new file mode 100644 index 00000000000000..6dbf65a2d2a379 --- /dev/null +++ b/packages/app-store/facetime/DESCRIPTION.md @@ -0,0 +1,7 @@ +--- +items: + - /api/app-store/facetime/facetime1.png + - /api/app-store/facetime/facetime2.png +--- + +With FaceTime, it’s easy to stay in touch. You can make audio and video calls with up to 32 people, share your screen, enjoy films and music together, and more. diff --git a/packages/app-store/facetime/api/add.ts b/packages/app-store/facetime/api/add.ts new file mode 100644 index 00000000000000..44d56bb0fa6d87 --- /dev/null +++ b/packages/app-store/facetime/api/add.ts @@ -0,0 +1,16 @@ +import type { AppDeclarativeHandler } from "@calcom/types/AppHandler"; + +import { createDefaultInstallation } from "../../_utils/installation"; +import appConfig from "../config.json"; + +const handler: AppDeclarativeHandler = { + appType: appConfig.type, + variant: appConfig.variant, + slug: appConfig.slug, + supportsMultipleInstalls: false, + handlerType: "add", + createCredential: ({ appType, user, slug }) => + createDefaultInstallation({ appType, userId: user.id, slug, key: {} }), +}; + +export default handler; diff --git a/packages/app-store/facetime/api/index.ts b/packages/app-store/facetime/api/index.ts new file mode 100644 index 00000000000000..4c0d2ead01e1f9 --- /dev/null +++ b/packages/app-store/facetime/api/index.ts @@ -0,0 +1 @@ +export { default as add } from "./add"; diff --git a/packages/app-store/facetime/config.json b/packages/app-store/facetime/config.json new file mode 100644 index 00000000000000..d652a2451995c5 --- /dev/null +++ b/packages/app-store/facetime/config.json @@ -0,0 +1,26 @@ +{ + "/*": "Don't modify slug - If required, do it using cli edit command", + "name": "Facetime", + "title": "Facetime", + "slug": "facetime", + "type": "facetime_video", + "imageSrc": "/api/app-store/facetime/icon.svg", + "logo": "/api/app-store/facetime/icon.svg", + "url": "https://cal.com/apps/facetime", + "variant": "conferencing", + "categories": ["video"], + "publisher": "Mythie", + "email": "help@cal.com", + "description": "Facetime makes it super simple for collaborating teams to jump on a video call.", + "__createdUsingCli": true, + "appData": { + "location": { + "linkType": "static", + "type": "integrations:facetime_video", + "label": "Facetime", + "organizerInputPlaceholder": "https://facetime.apple.com/join... link copied from the FaceTime app", + "urlRegExp": "^https?:\\/\\/facetime\\.apple\\.com\\/join.+$" + } + }, + "isTemplate": false +} diff --git a/packages/app-store/facetime/index.ts b/packages/app-store/facetime/index.ts new file mode 100644 index 00000000000000..d7f36022040096 --- /dev/null +++ b/packages/app-store/facetime/index.ts @@ -0,0 +1 @@ +export * as api from "./api"; diff --git a/packages/app-store/facetime/package.json b/packages/app-store/facetime/package.json new file mode 100644 index 00000000000000..7157e96e021da4 --- /dev/null +++ b/packages/app-store/facetime/package.json @@ -0,0 +1,14 @@ +{ + "$schema": "https://json.schemastore.org/package.json", + "private": true, + "name": "@calcom/facetime", + "version": "0.0.0", + "main": "./index.ts", + "description": "Facetime makes it super simple for collaborating teams to jump on a video call.", + "dependencies": { + "@calcom/lib": "*" + }, + "devDependencies": { + "@calcom/types": "*" + } +} diff --git a/packages/app-store/facetime/static/facetime1.png b/packages/app-store/facetime/static/facetime1.png new file mode 100644 index 00000000000000..53f91dd46ddba9 Binary files /dev/null and b/packages/app-store/facetime/static/facetime1.png differ diff --git a/packages/app-store/facetime/static/facetime2.png b/packages/app-store/facetime/static/facetime2.png new file mode 100644 index 00000000000000..84684665a4e940 Binary files /dev/null and b/packages/app-store/facetime/static/facetime2.png differ diff --git a/packages/app-store/facetime/static/icon.svg b/packages/app-store/facetime/static/icon.svg new file mode 100644 index 00000000000000..48de5172eb60ff --- /dev/null +++ b/packages/app-store/facetime/static/icon.svg @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/packages/app-store/facetime/static/logo.svg b/packages/app-store/facetime/static/logo.svg new file mode 100644 index 00000000000000..48de5172eb60ff --- /dev/null +++ b/packages/app-store/facetime/static/logo.svg @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/packages/app-store/index.ts b/packages/app-store/index.ts index 0d8277a07cc216..f639df57b9c713 100644 --- a/packages/app-store/index.ts +++ b/packages/app-store/index.ts @@ -6,6 +6,7 @@ import * as dailyvideo from "./dailyvideo"; import * as exchange2013calendar from "./exchange2013calendar"; import * as exchange2016calendar from "./exchange2016calendar"; import * as exchangecalendar from "./exchangecalendar"; +import * as facetime from "./facetime"; import * as giphy from "./giphy"; import * as googlecalendar from "./googlecalendar"; import * as googlevideo from "./googlevideo"; @@ -52,6 +53,7 @@ const appStore = { exchange2013calendar, exchange2016calendar, exchangecalendar, + facetime, }; export default appStore; diff --git a/packages/prisma/seed-app-store.config.json b/packages/prisma/seed-app-store.config.json index e0c669cb61edaf..f93db4f144874a 100644 --- a/packages/prisma/seed-app-store.config.json +++ b/packages/prisma/seed-app-store.config.json @@ -197,5 +197,12 @@ "slug": "basic", "type": "basic_other", "isTemplate": true + }, + { + "dirName": "facetime", + "categories": ["video"], + "slug": "facetime", + "type": "facetime_video", + "isTemplate": false } ]