44 lines
1.7 KiB
TypeScript
44 lines
1.7 KiB
TypeScript
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;
|
|
},
|
|
});
|