saleor-apps-redis_apl/apps/taxes/src/pages/api/manifest.ts
Lukasz Ostrowski 1e0c1cc818 sort manifest
2023-07-03 11:07:38 +02:00

44 lines
1.7 KiB
TypeScript

import { createManifestHandler } from "@saleor/app-sdk/handlers/next";
import { AppManifest } from "@saleor/app-sdk/types";
import packageJson from "../../../package.json";
import { checkoutCalculateTaxesSyncWebhook } from "./webhooks/checkout-calculate-taxes";
import { orderCalculateTaxesSyncWebhook } from "./webhooks/order-calculate-taxes";
import { orderCreatedAsyncWebhook } from "./webhooks/order-created";
import { orderFulfilledAsyncWebhook } from "./webhooks/order-fulfilled";
import { REQUIRED_SALEOR_VERSION } from "../../../saleor-app";
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 = {
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.taxes",
name: "Taxes",
permissions: ["HANDLE_TAXES", "MANAGE_ORDERS"],
requiredSaleorVersion: REQUIRED_SALEOR_VERSION,
supportUrl: "https://github.com/saleor/apps/discussions",
tokenTargetUrl: `${apiBaseURL}/api/register`,
version: packageJson.version,
webhooks: [
orderCalculateTaxesSyncWebhook.getWebhookManifest(apiBaseURL),
checkoutCalculateTaxesSyncWebhook.getWebhookManifest(apiBaseURL),
orderCreatedAsyncWebhook.getWebhookManifest(apiBaseURL),
orderFulfilledAsyncWebhook.getWebhookManifest(apiBaseURL),
],
};
return manifest;
},
});