saleor-apps-redis_apl/apps/cms/src/pages/api/manifest.ts

43 lines
1.6 KiB
TypeScript
Raw Normal View History

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({
2023-06-28 14:11:47 +00:00
async manifestFactory({ appBaseUrl }) {
const iframeBaseUrl = process.env.APP_IFRAME_BASE_URL ?? appBaseUrl;
const apiBaseURL = process.env.APP_API_BASE_URL ?? appBaseUrl;
const manifest: AppManifest = {
name: "CMS",
2023-06-28 14:11:47 +00:00
tokenTargetUrl: `${apiBaseURL}/api/register`,
appUrl: iframeBaseUrl,
permissions: ["MANAGE_PRODUCTS"],
id: "saleor.app.cms",
version: packageJson.version,
webhooks: [
2023-06-28 14:11:47 +00:00
productVariantCreatedWebhook.getWebhookManifest(apiBaseURL),
productVariantUpdatedWebhook.getWebhookManifest(apiBaseURL),
productVariantDeletedWebhook.getWebhookManifest(apiBaseURL),
productUpdatedWebhook.getWebhookManifest(apiBaseURL),
],
extensions: [],
author: "Saleor Commerce",
supportUrl: "https://github.com/saleor/apps/discussions",
homepageUrl: "https://github.com/saleor/apps",
dataPrivacyUrl: "https://saleor.io/legal/privacy/",
brand: {
logo: {
2023-06-28 14:11:47 +00:00
default: `${apiBaseURL}/logo.png`,
},
},
};
return manifest;
},
});