// packages/{{kebabCase feature}}/src/integrations/cms/jobs/__events-{{kebabCase publisher}}-{{kebabCase event}}.task.ts // Generated by `gen event consume`. The PayloadJobsEventBus enqueues this task // when {{kebabCase publisher}} publishes `{{kebabCase publisher}}.{{event}}`. The handler // resolves the consumer's wrapped event handler from the per-feature container // and invokes it with the typed payload. import type { TaskConfig } from "payload"; import { {{camelCase feature}}Container } from "../../../di/container"; import { {{constantCase feature}}_SYMBOLS } from "../../../di/symbols"; import type { IOn{{pascalCase publisher}}{{pascalCase event}}Handler } from "../../../events/handlers/on-{{kebabCase publisher}}-{{kebabCase event}}.handler"; import type { {{pascalCase event}}Event } from "@repo/{{kebabCase publisher}}"; export const on{{pascalCase publisher}}{{pascalCase event}}EventTask: TaskConfig<"__events.{{kebabCase publisher}}.{{event}}.{{kebabCase feature}}"> = { slug: "__events.{{kebabCase publisher}}.{{event}}.{{kebabCase feature}}", inputSchema: [], retries: { attempts: 3, backoff: { type: "exponential", delay: 1000 } }, handler: async ({ input }) => { const handler = {{camelCase feature}}Container.get( {{constantCase feature}}_SYMBOLS.IOn{{pascalCase publisher}}{{pascalCase event}}Handler, ); await handler(input as {{pascalCase event}}Event); return { output: {} }; }, };