Events Module
The events module installs a database history adapter when no custom history adapter is configured. It records emitted events for inspection and analytics. Records expire after EVENTS_TTL_SECONDS (default: two days); use the audit logging pipeline for longer retention.
Configuration Options
The events module has no configuration options.
Module API
Access via modules.events in the Unchained API context.
Queries
| Method | Arguments | Description |
|---|---|---|
findEvent | { eventId }, options? | Find a specific event |
findEvents | { limit?, offset?, ...query } | List events with pagination |
count | query | Count events matching criteria |
getReport | { dateRange?, types? } | Get aggregated event statistics |
Usage
// List recent order events
const events = await modules.events.findEvents({
types: ['ORDER_CREATE', 'ORDER_CHECKOUT', 'ORDER_CONFIRMED'],
limit: 50,
});
// Get event statistics for a date range
const report = await modules.events.getReport({
types: ['ORDER_CONFIRMED'],
dateRange: {
start: new Date('2024-01-01'),
end: new Date('2024-12-31'),
},
});
// Count specific events
const count = await modules.events.count({
types: ['PRODUCT_UPDATE'],
});
Events
The events module does not emit events itself — it receives and stores events emitted by all other modules.
Event Types
Every module emits events for state changes. Common patterns:
| Module | Events |
|---|---|
| Orders | ORDER_CREATE, ORDER_UPDATE, ORDER_CHECKOUT, ORDER_CONFIRMED, ORDER_FULFILLED, ORDER_REJECTED |
| Products | PRODUCT_CREATE, PRODUCT_UPDATE, PRODUCT_REMOVE, PRODUCT_PUBLISH, PRODUCT_UNPUBLISH |
| Users | USER_CREATE, USER_UPDATE, USER_REMOVE |
See individual module documentation for complete event lists.
Related
- Events Extension - Custom event listeners
- Event Plugins - Event transport adapters