import { AppManifest } from "@saleor/app-sdk/types"; import { createManifestHandler } from "@saleor/app-sdk/handlers/next"; import packageJson from "../../../package.json"; import { productVariantUpdatedWebhook } from "./webhooks/product-variant-updated"; import { productVariantCreatedWebhook } from "./webhooks/product-variant-created"; import { productVariantDeletedWebhook } from "./webhooks/product-variant-deleted"; import { productUpdatedWebhook } from "./webhooks/product-updated"; export default createManifestHandler({ async manifestFactory({ appBaseUrl }) { const iframeBaseUrl = process.env.APP_IFRAME_BASE_URL ?? appBaseUrl; const apiBaseURL = process.env.APP_API_BASE_URL ?? appBaseUrl; const manifest: AppManifest = { about: "CMS App is a multi-integration app that connects Saleor with popular Content Management Systems.", appUrl: iframeBaseUrl, author: "Saleor Commerce", brand: { logo: { default: `${apiBaseURL}/logo.png`, }, }, dataPrivacyUrl: "https://saleor.io/legal/privacy/", extensions: [], homepageUrl: "https://github.com/saleor/apps", id: "saleor.app.cms", name: "CMS", permissions: ["MANAGE_PRODUCTS"], supportUrl: "https://github.com/saleor/apps/discussions", tokenTargetUrl: `${apiBaseURL}/api/register`, version: packageJson.version, webhooks: [ productVariantCreatedWebhook.getWebhookManifest(apiBaseURL), productVariantUpdatedWebhook.getWebhookManifest(apiBaseURL), productVariantDeletedWebhook.getWebhookManifest(apiBaseURL), productUpdatedWebhook.getWebhookManifest(apiBaseURL), ], }; return manifest; }, });