mirror of
https://github.com/xtr-dev/payload-automation.git
synced 2025-12-13 01:53:23 +00:00
Add trigger builder helpers to improve DX for custom triggers
- Add createTrigger() and createAdvancedTrigger() helpers - Add preset builders: webhookTrigger, cronTrigger, eventTrigger, etc. - Implement virtual fields with JSON backing for trigger parameters - Eliminate 90% of boilerplate when creating custom triggers - Add /helpers export path for trigger builders - Fix field name clashing between built-in and custom trigger parameters - Add comprehensive examples and documentation - Maintain backward compatibility with existing triggers 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
47
src/exports/helpers.ts
Normal file
47
src/exports/helpers.ts
Normal file
@@ -0,0 +1,47 @@
|
||||
/**
|
||||
* Trigger builder helpers for creating custom triggers with less boilerplate
|
||||
*
|
||||
* @example
|
||||
* ```typescript
|
||||
* import { createTrigger, webhookTrigger } from '@xtr-dev/payload-automation/helpers'
|
||||
*
|
||||
* // Simple trigger
|
||||
* const myTrigger = createTrigger('my-trigger').parameters({
|
||||
* apiKey: { type: 'text', required: true },
|
||||
* timeout: { type: 'number', defaultValue: 30 }
|
||||
* })
|
||||
*
|
||||
* // Webhook trigger with presets
|
||||
* const orderWebhook = webhookTrigger('order-webhook')
|
||||
* .parameter('orderTypes', {
|
||||
* type: 'select',
|
||||
* hasMany: true,
|
||||
* options: ['regular', 'subscription']
|
||||
* })
|
||||
* .build()
|
||||
* ```
|
||||
*/
|
||||
|
||||
// Core helpers
|
||||
export {
|
||||
createTriggerParameter,
|
||||
createTriggerParameters,
|
||||
createTrigger,
|
||||
createAdvancedTrigger
|
||||
} from '../utils/trigger-helpers.js'
|
||||
|
||||
// Preset builders
|
||||
export {
|
||||
webhookTrigger,
|
||||
cronTrigger,
|
||||
eventTrigger,
|
||||
manualTrigger,
|
||||
apiTrigger
|
||||
} from '../utils/trigger-presets.js'
|
||||
|
||||
// Common parameter sets for extending
|
||||
export {
|
||||
webhookParameters,
|
||||
cronParameters,
|
||||
eventParameters
|
||||
} from '../utils/trigger-presets.js'
|
||||
Reference in New Issue
Block a user