Fix JSON circular reference serialization and use PayloadCMS generated types

- Replace duplicate type definitions with PayloadCMS generated types
- Fix workflow context serialization with safeSerialize() method
- Resolve type mismatches (id: string vs number)
- Update all imports to use PayloadWorkflow type
- Ensure workflow runs are created successfully without serialization errors

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
2025-09-01 18:02:21 +02:00
parent 964b11c0c9
commit 6397250045
13 changed files with 477 additions and 75 deletions

View File

@@ -1,7 +1,7 @@
import type { Payload, PayloadRequest } from 'payload'
import { initializeLogger } from '../plugin/logger.js'
import { type Workflow, WorkflowExecutor } from './workflow-executor.js'
import { type PayloadWorkflow, WorkflowExecutor } from './workflow-executor.js'
export interface CustomTriggerOptions {
/**
@@ -142,7 +142,7 @@ export async function triggerCustomWorkflow(
}
// Execute the workflow
await executor.execute(workflow as Workflow, context, workflowReq)
await executor.execute(workflow as PayloadWorkflow, context, workflowReq)
// Get the latest run for this workflow to get the run ID
const runs = await payload.find({
@@ -255,7 +255,7 @@ export async function triggerWorkflowById(
// Create executor and execute
const executor = new WorkflowExecutor(payload, logger)
await executor.execute(workflow as Workflow, context, workflowReq)
await executor.execute(workflow as PayloadWorkflow, context, workflowReq)
// Get the latest run to get the run ID
const runs = await payload.find({