Skip to content
This repository has been archived by the owner on Jan 23, 2024. It is now read-only.

Commit

Permalink
feat(app-store): add facetime app to app-store (calcom#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 calcom#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 and fritterhoff committed Feb 26, 2023
1 parent d70d972 commit 4cd3ed1
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 4cd3ed1

Please sign in to comment.