diff --git a/packages/app-store/apps.metadata.generated.ts b/packages/app-store/apps.metadata.generated.ts index d57470b56b..5045918ebe 100644 --- a/packages/app-store/apps.metadata.generated.ts +++ b/packages/app-store/apps.metadata.generated.ts @@ -30,6 +30,7 @@ import { metadata as qr_code_meta } from "./qr_code/_metadata"; import { metadata as rainbow_meta } from "./rainbow/_metadata"; import { metadata as raycast_meta } from "./raycast/_metadata"; import { metadata as riverside_meta } from "./riverside/_metadata"; +import { metadata as sirius_video_meta } from "./sirius_video/_metadata"; import { metadata as slackmessaging_meta } from "./slackmessaging/_metadata"; import { metadata as stripepayment_meta } from "./stripepayment/_metadata"; import { metadata as tandemvideo_meta } from "./tandemvideo/_metadata"; @@ -70,6 +71,7 @@ export const appStoreMetadata = { rainbow: rainbow_meta, raycast: raycast_meta, riverside: riverside_meta, + sirius_video: sirius_video_meta, slackmessaging: slackmessaging_meta, stripepayment: stripepayment_meta, tandemvideo: tandemvideo_meta, diff --git a/packages/app-store/apps.server.generated.ts b/packages/app-store/apps.server.generated.ts index ea0bac4e2a..88c88c9ad2 100644 --- a/packages/app-store/apps.server.generated.ts +++ b/packages/app-store/apps.server.generated.ts @@ -29,6 +29,7 @@ export const apiHandlers = { rainbow: import("./rainbow/api"), raycast: import("./raycast/api"), riverside: import("./riverside/api"), + sirius_video: import("./sirius_video/api"), slackmessaging: import("./slackmessaging/api"), stripepayment: import("./stripepayment/api"), tandemvideo: import("./tandemvideo/api"), diff --git a/packages/app-store/sirius_video/README.mdx b/packages/app-store/sirius_video/README.mdx new file mode 100644 index 0000000000..3d9b864849 --- /dev/null +++ b/packages/app-store/sirius_video/README.mdx @@ -0,0 +1,12 @@ +--- +description: Video meetings made for music. Create your own virtual music classroom, easily. +items: + - /api/app-store/sirius_video/1.jpg + - /api/app-store/sirius_video/2.jpg + - /api/app-store/sirius_video/3.jpg +--- + + + +{description} + diff --git a/packages/app-store/sirius_video/_metadata.ts b/packages/app-store/sirius_video/_metadata.ts new file mode 100644 index 0000000000..9c7f2aa320 --- /dev/null +++ b/packages/app-store/sirius_video/_metadata.ts @@ -0,0 +1,10 @@ +import type { AppMeta } from "@calcom/types/App"; + +import config from "./config.json"; + +export const metadata = { + category: "other", + ...config, +} as AppMeta; + +export default metadata; diff --git a/packages/app-store/sirius_video/api/add.ts b/packages/app-store/sirius_video/api/add.ts new file mode 100644 index 0000000000..45c6741f36 --- /dev/null +++ b/packages/app-store/sirius_video/api/add.ts @@ -0,0 +1,17 @@ +import { AppDeclarativeHandler } from "@calcom/types/AppHandler"; + +import { createDefaultInstallation } from "../../_utils/installation"; +import appConfig from "../config.json"; + +const handler: AppDeclarativeHandler = { + // Instead of passing appType and slug from here, api/integrations/[..args] should be able to derive and pass these directly to createCredential + 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/sirius_video/api/index.ts b/packages/app-store/sirius_video/api/index.ts new file mode 100644 index 0000000000..4c0d2ead01 --- /dev/null +++ b/packages/app-store/sirius_video/api/index.ts @@ -0,0 +1 @@ +export { default as add } from "./add"; diff --git a/packages/app-store/sirius_video/components/.gitkeep b/packages/app-store/sirius_video/components/.gitkeep new file mode 100644 index 0000000000..e69de29bb2 diff --git a/packages/app-store/sirius_video/config.json b/packages/app-store/sirius_video/config.json new file mode 100644 index 0000000000..900fa8c6a2 --- /dev/null +++ b/packages/app-store/sirius_video/config.json @@ -0,0 +1,24 @@ +{ + "/*": "Don't modify slug - If required, do it using cli edit command", + "name": "Sirius Video", + "slug": "sirius_video", + "type": "sirius_video_video", + "imageSrc": "/api/app-store/sirius_video/icon.svg", + "logo": "/api/app-store/sirius_video/icon.svg", + "url": "https://cal.com/apps/sirius_video", + "variant": "conferencing", + "categories": ["video"], + "publisher": "Cal.com, Inc.", + "email": "support@cal.com", + "description": "Video meetings made for music.\rCreate your own virtual music classroom, easily.", + "__createdUsingCli": true, + "appData": { + "location": { + "type": "integrations:sirius_video_video", + "label": "Sirius Video", + "linkType": "static", + "organizerInputPlaceholder": "https://sirius.video/sebastian", + "urlRegExp": "^http(s)?:\\/\\/(www\\.)?sirius.video\\/[a-zA-Z0-9]*" + } + } +} diff --git a/packages/app-store/sirius_video/index.ts b/packages/app-store/sirius_video/index.ts new file mode 100644 index 0000000000..5d372ceda3 --- /dev/null +++ b/packages/app-store/sirius_video/index.ts @@ -0,0 +1,2 @@ +export * as api from "./api"; +export { metadata } from "./_metadata"; diff --git a/packages/app-store/sirius_video/package.json b/packages/app-store/sirius_video/package.json new file mode 100644 index 0000000000..17e803a333 --- /dev/null +++ b/packages/app-store/sirius_video/package.json @@ -0,0 +1,14 @@ +{ + "$schema": "https://json.schemastore.org/package.json", + "private": true, + "name": "@calcom/sirius_video", + "version": "0.0.0", + "main": "./index.ts", + "description": "Video meetings made for music.\rCreate your own virtual music classroom, easily.", + "dependencies": { + "@calcom/lib": "*" + }, + "devDependencies": { + "@calcom/types": "*" + } +} diff --git a/packages/app-store/sirius_video/static/1.jpg b/packages/app-store/sirius_video/static/1.jpg new file mode 100644 index 0000000000..0bee10657d Binary files /dev/null and b/packages/app-store/sirius_video/static/1.jpg differ diff --git a/packages/app-store/sirius_video/static/2.jpg b/packages/app-store/sirius_video/static/2.jpg new file mode 100644 index 0000000000..9957119508 Binary files /dev/null and b/packages/app-store/sirius_video/static/2.jpg differ diff --git a/packages/app-store/sirius_video/static/3.jpg b/packages/app-store/sirius_video/static/3.jpg new file mode 100644 index 0000000000..184e82a9bf Binary files /dev/null and b/packages/app-store/sirius_video/static/3.jpg differ diff --git a/packages/app-store/sirius_video/static/icon.svg b/packages/app-store/sirius_video/static/icon.svg new file mode 100644 index 0000000000..c96664855b --- /dev/null +++ b/packages/app-store/sirius_video/static/icon.svg @@ -0,0 +1,3 @@ + + + diff --git a/packages/prisma/seed-app-store.config.json b/packages/prisma/seed-app-store.config.json index 4b3878ec3e..4b468c0f02 100644 --- a/packages/prisma/seed-app-store.config.json +++ b/packages/prisma/seed-app-store.config.json @@ -95,5 +95,11 @@ "categories": ["automation"], "slug": "pipedream", "type": "pipedream_automation" + }, + { + "dirName": "sirius_video", + "categories": ["video"], + "slug": "sirius_video", + "type": "sirius_video_video" } ]