Skip to content

Commit

Permalink
feat(app-store): add facetime app to app-store (#7174)
Browse files Browse the repository at this point in the history
* feat(app-store): add facetime app to app-store

Add the facetime app to the app-store allowing for facetime web links and facetime app link schemes.

fixes #6965

* Update packages/app-store/facetime/config.json

* Remove unneeded files and make app follow the new app rules

* fix(app-store): update facetime app config

Update the regex and placeholder for the facetime app to reflect the decisions to only accept https://facetime.apple.com links. This was decided as it means that all participants can join a meeting even in the event that they don't have an Apple device.

---------

Co-authored-by: Peer Richelsen <peer@cal.com>
Co-authored-by: Hariom Balhara <hariombalhara@gmail.com>
  • Loading branch information
3 people authored Feb 18, 2023
1 parent af018f0 commit 3c7fc85
Show file tree
Hide file tree
Showing 14 changed files with 93 additions and 0 deletions.
2 changes: 2 additions & 0 deletions packages/app-store/apps.metadata.generated.ts
Original file line number Diff line number Diff line change
Expand Up @@ -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";
Expand Down Expand Up @@ -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,
Expand Down
1 change: 1 addition & 0 deletions packages/app-store/apps.server.generated.ts
Original file line number Diff line number Diff line change
Expand Up @@ -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"),
Expand Down
7 changes: 7 additions & 0 deletions packages/app-store/facetime/DESCRIPTION.md
Original file line number Diff line number Diff line change
@@ -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.
16 changes: 16 additions & 0 deletions packages/app-store/facetime/api/add.ts
Original file line number Diff line number Diff line change
@@ -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;
1 change: 1 addition & 0 deletions packages/app-store/facetime/api/index.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
export { default as add } from "./add";
26 changes: 26 additions & 0 deletions packages/app-store/facetime/config.json
Original file line number Diff line number Diff line change
@@ -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
}
1 change: 1 addition & 0 deletions packages/app-store/facetime/index.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
export * as api from "./api";
14 changes: 14 additions & 0 deletions packages/app-store/facetime/package.json
Original file line number Diff line number Diff line change
@@ -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": "*"
}
}
Binary file added packages/app-store/facetime/static/facetime1.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added packages/app-store/facetime/static/facetime2.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
8 changes: 8 additions & 0 deletions packages/app-store/facetime/static/icon.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
8 changes: 8 additions & 0 deletions packages/app-store/facetime/static/logo.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 2 additions & 0 deletions packages/app-store/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -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";
Expand Down Expand Up @@ -52,6 +53,7 @@ const appStore = {
exchange2013calendar,
exchange2016calendar,
exchangecalendar,
facetime,
};

export default appStore;
7 changes: 7 additions & 0 deletions packages/prisma/seed-app-store.config.json
Original file line number Diff line number Diff line change
Expand Up @@ -197,5 +197,12 @@
"slug": "basic",
"type": "basic_other",
"isTemplate": true
},
{
"dirName": "facetime",
"categories": ["video"],
"slug": "facetime",
"type": "facetime_video",
"isTemplate": false
}
]

0 comments on commit 3c7fc85

Please sign in to comment.