UNPKG

@saleor/app-sdk

Version:
73 lines (66 loc) 4.03 kB
import { G as GenericCreateAppRegisterHandlerOptions } from '../../saleor-webhook-YTC9mx0J.js'; import { W as WebApiHandlerInput, a as WebApiHandler, S as SaleorWebApiWebhook, b as WebhookConfig, c as WebApiWebhookHandler } from '../../saleor-webhook-BdxnkwPq.js'; export { d as WebApiAdapter } from '../../saleor-webhook-BdxnkwPq.js'; import { C as CreateManifestHandlerOptions$1, P as ProtectedHandlerContext } from '../../generic-saleor-webhook-CCxgPr8c.js'; import { APL } from '../../APL/index.js'; import { Permission, AsyncWebhookEventType, SyncWebhookEventType } from '../../types.js'; import '../../saleor-app.js'; import 'graphql'; import '../../verify-signature-mKf0fpOE.js'; type CreateAppRegisterHandlerOptions = GenericCreateAppRegisterHandlerOptions<WebApiHandlerInput>; /** * Returns API route handler for Web API compatible request handlers * (examples: Next.js app router, hono, deno, etc.) * that use signature: (req: Request) => Response * where Request and Response are Fetch API objects * * Handler is for register endpoint that is called by Saleor when installing the app * * It verifies the request and stores `app_token` from Saleor * in APL and along with all required AuthData fields (jwks, saleorApiUrl, ...) * * **Recommended path**: `/api/register` * (configured in manifest handler) * * To learn more check Saleor docs * @see {@link https://docs.saleor.io/developer/extending/apps/architecture/app-requirements#register-url} * * @see {@link https://developer.mozilla.org/en-US/docs/Web/API/Response} * @see {@link https://developer.mozilla.org/en-US/docs/Web/API/Request} * */ declare const createAppRegisterHandler: (config: CreateAppRegisterHandlerOptions) => WebApiHandler; type CreateManifestHandlerOptions = CreateManifestHandlerOptions$1<WebApiHandlerInput>; /** Returns app manifest API route handler for Web API compatible request handlers * (examples: Next.js app router, hono, deno, etc.) * that use signature: (req: Request) => Response * where Request and Response are Fetch API objects * * App manifest is an endpoint that Saleor will call your App metadata. * It has the App's name and description, as well as all the necessary information to * register webhooks, permissions, and extensions. * * **Recommended path**: `/api/manifest` * * To learn more check Saleor docs * @see {@link https://docs.saleor.io/developer/extending/apps/architecture/app-requirements#manifest-url} * * @see {@link https://developer.mozilla.org/en-US/docs/Web/API/Response} * @see {@link https://developer.mozilla.org/en-US/docs/Web/API/Request} * */ declare const createManifestHandler: (config: CreateManifestHandlerOptions) => WebApiHandler; type WebApiProtectedHandler = (request: Request, ctx: ProtectedHandlerContext) => Response | Promise<Response>; declare const createProtectedHandler: (handlerFn: WebApiProtectedHandler, apl: APL, requiredPermissions?: Permission[]) => WebApiHandler; declare class SaleorAsyncWebhook<TPayload = unknown> extends SaleorWebApiWebhook<TPayload> { readonly event: AsyncWebhookEventType; protected readonly eventType: "async"; constructor(configuration: WebhookConfig<AsyncWebhookEventType>); createHandler(handlerFn: WebApiWebhookHandler<TPayload>): WebApiHandler; } type WebApiSyncWebhookHandler<TPayload> = WebApiWebhookHandler<TPayload>; declare class SaleorSyncWebhook<TPayload = unknown, TEvent extends SyncWebhookEventType = SyncWebhookEventType> extends SaleorWebApiWebhook<TPayload> { readonly event: TEvent; protected readonly eventType: "sync"; constructor(configuration: WebhookConfig<TEvent>); createHandler(handlerFn: WebApiSyncWebhookHandler<TPayload>): WebApiHandler; } export { type CreateAppRegisterHandlerOptions, type CreateManifestHandlerOptions, SaleorAsyncWebhook, SaleorSyncWebhook, WebApiHandler, WebApiHandlerInput, type WebApiProtectedHandler, type WebApiSyncWebhookHandler, WebApiWebhookHandler, createAppRegisterHandler, createManifestHandler, createProtectedHandler };