diff --git a/packages/app-store/apps.metadata.generated.ts b/packages/app-store/apps.metadata.generated.ts index 66023a079f..ed50360009 100644 --- a/packages/app-store/apps.metadata.generated.ts +++ b/packages/app-store/apps.metadata.generated.ts @@ -13,6 +13,7 @@ import campfire_config_json from "./campfire/config.json"; import closecom_config_json from "./closecom/config.json"; import cron_config_json from "./cron/config.json"; import { metadata as dailyvideo__metadata_ts } from "./dailyvideo/_metadata"; +import deel_config_json from "./deel/config.json"; import discord_config_json from "./discord/config.json"; import eightxeight_config_json from "./eightxeight/config.json"; import element_call_config_json from "./element-call/config.json"; @@ -88,6 +89,7 @@ export const appStoreMetadata = { closecom: closecom_config_json, cron: cron_config_json, dailyvideo: dailyvideo__metadata_ts, + deel: deel_config_json, discord: discord_config_json, eightxeight: eightxeight_config_json, "element-call": element_call_config_json, diff --git a/packages/app-store/apps.server.generated.ts b/packages/app-store/apps.server.generated.ts index 763f43b86f..23f3038bab 100644 --- a/packages/app-store/apps.server.generated.ts +++ b/packages/app-store/apps.server.generated.ts @@ -13,6 +13,7 @@ export const apiHandlers = { campfire: import("./campfire/api"), closecom: import("./closecom/api"), cron: import("./cron/api"), + deel: import("./deel/api"), discord: import("./discord/api"), eightxeight: import("./eightxeight/api"), "element-call": import("./element-call/api"), diff --git a/packages/app-store/deel/DESCRIPTION.md b/packages/app-store/deel/DESCRIPTION.md new file mode 100644 index 0000000000..a4b15502c3 --- /dev/null +++ b/packages/app-store/deel/DESCRIPTION.md @@ -0,0 +1,8 @@ +--- +items: + - 1.jpeg + - 2.jpeg + - 3.jpeg +--- + +{DESCRIPTION} diff --git a/packages/app-store/deel/api/add.ts b/packages/app-store/deel/api/add.ts new file mode 100644 index 0000000000..d01c11ee22 --- /dev/null +++ b/packages/app-store/deel/api/add.ts @@ -0,0 +1,20 @@ +import { createDefaultInstallation } from "@calcom/app-store/_utils/installation"; +import type { AppDeclarativeHandler } from "@calcom/types/AppHandler"; + +import appConfig from "../config.json"; + +const handler: AppDeclarativeHandler = { + appType: appConfig.type, + variant: appConfig.variant, + slug: appConfig.slug, + supportsMultipleInstalls: false, + handlerType: "add", + redirect: { + newTab: true, + url: "https://example.com/link", + }, + createCredential: ({ appType, user, slug, teamId }) => + createDefaultInstallation({ appType, userId: user.id, slug, key: {}, teamId }), +}; + +export default handler; diff --git a/packages/app-store/deel/api/index.ts b/packages/app-store/deel/api/index.ts new file mode 100644 index 0000000000..4c0d2ead01 --- /dev/null +++ b/packages/app-store/deel/api/index.ts @@ -0,0 +1 @@ +export { default as add } from "./add"; diff --git a/packages/app-store/deel/components/.gitkeep b/packages/app-store/deel/components/.gitkeep new file mode 100644 index 0000000000..e69de29bb2 diff --git a/packages/app-store/deel/config.json b/packages/app-store/deel/config.json new file mode 100644 index 0000000000..9691948db1 --- /dev/null +++ b/packages/app-store/deel/config.json @@ -0,0 +1,18 @@ +{ + "/*": "Don't modify slug - If required, do it using cli edit command", + "name": "Deel", + "slug": "deel", + "type": "deel_other", + "logo": "icon.svg", + "url": "https://app.deel.com/integrations-store?category=Calendar", + "variant": "other", + "categories": ["other"], + "dependencies": ["google-calendar"], + "publisher": "Deel.com", + "email": "support@deel.com", + "description": "Integrate Deel with your Calendar and get automatic updates on key employee dates like PTO, start days, public holidays, and birthdays. No manual entry. No errors. Just a calendar that's always in sync with your team.", + "isTemplate": false, + "__createdUsingCli": true, + "__template": "link-as-an-app", + "dirName": "deel" +} diff --git a/packages/app-store/deel/index.ts b/packages/app-store/deel/index.ts new file mode 100644 index 0000000000..d7f3602204 --- /dev/null +++ b/packages/app-store/deel/index.ts @@ -0,0 +1 @@ +export * as api from "./api"; diff --git a/packages/app-store/deel/package.json b/packages/app-store/deel/package.json new file mode 100644 index 0000000000..a5ce0b8ca3 --- /dev/null +++ b/packages/app-store/deel/package.json @@ -0,0 +1,14 @@ +{ + "$schema": "https://json.schemastore.org/package.json", + "private": true, + "name": "@calcom/deel", + "version": "0.0.0", + "main": "./index.ts", + "dependencies": { + "@calcom/lib": "*" + }, + "devDependencies": { + "@calcom/types": "*" + }, + "description": "Integrate Deel with your Calendar and get automatic updates on key employee dates like PTO, start days, public holidays, and birthdays. No manual entry. No errors. Just a calendar that's always in sync with your team." +} diff --git a/packages/app-store/deel/static/1.jpeg b/packages/app-store/deel/static/1.jpeg new file mode 100644 index 0000000000..d526c1a530 Binary files /dev/null and b/packages/app-store/deel/static/1.jpeg differ diff --git a/packages/app-store/deel/static/2.jpeg b/packages/app-store/deel/static/2.jpeg new file mode 100644 index 0000000000..d7efd602b6 Binary files /dev/null and b/packages/app-store/deel/static/2.jpeg differ diff --git a/packages/app-store/deel/static/3.jpeg b/packages/app-store/deel/static/3.jpeg new file mode 100644 index 0000000000..9c38af800b Binary files /dev/null and b/packages/app-store/deel/static/3.jpeg differ diff --git a/packages/app-store/deel/static/icon.svg b/packages/app-store/deel/static/icon.svg new file mode 100644 index 0000000000..1c71571665 --- /dev/null +++ b/packages/app-store/deel/static/icon.svg @@ -0,0 +1,8 @@ + + + + + + + +