Skip to content

Latest commit

 

History

History
84 lines (58 loc) · 2.12 KB

File metadata and controls

84 lines (58 loc) · 2.12 KB

npm version License: EUPL-1.2

@unchainedshop/core-events

Event history module for the Unchained Engine. Persists emitted events to the database and provides querying capabilities for event analytics and auditing.

Installation

npm install @unchainedshop/core-events

Usage

import { configureEventsModule } from '@unchainedshop/core-events';

const eventsModule = await configureEventsModule({ db });

// Find events by type
const orderEvents = await eventsModule.findEvents({
  types: ['ORDER_CREATE', 'ORDER_PAID'],
  limit: 100,
});

// Get event statistics
const report = await eventsModule.getReport({
  types: ['ORDER_CREATE'],
  dateRange: { start: '2024-01-01', end: '2024-12-31' },
});

API Overview

Module Configuration

Export Description
configureEventsModule Configure and return the events module

Queries

Method Description
findEvent Find a single event by ID or filter
findEvents Find events with filtering, sorting, and pagination
count Count events matching query
getReport Get aggregated event statistics by type and date

Mutations

Method Description
create Create a new event record

Helper Methods

Method Description
type Get event type, returns 'UNKNOWN' for unregistered types

Types

Export Description
Event Event document type
EventQuery Query parameters type
EventReport Report output type
EventsModule Module interface type

Event History

This module automatically integrates with @unchainedshop/events to persist all emitted events to the database. Events are stored with:

  • Event type
  • Payload data
  • Timestamp

This enables event sourcing patterns, audit trails, and analytics.

License

EUPL-1.2