Skip to main content

Store events in real-time

Events play a crucial role in modern applications, allowing them to instantly respond to changes in stored data. Monitoring and reacting to file and store-related events, such as the creation, modification, or deletion of files, is essential for maintaining up-to-date records, triggering workflows, and ensuring synchronization across various parts of the system.

Types of events

Store events:

  • storeCreated - triggers when a new Store is created in your Context
  • storeDeleted - triggers when a Store is deleted from your Context
  • storeUpdated - triggers when a Store is updated in your Context
  • storeStatsChanged - triggers when a file is created or deleted from a Store

File events:

  • storeFileCreated - triggers when a file is uploaded to a Store
  • storeFileDeleted - triggers when a file is deleted from a Store
  • storeFileUpdated - triggers when a file is updated in a Store

Handling Store Events

Before receiving Events, your application must first start an event loop and subscribe to a specific channel. Afterwards you can setup a listener.

Here is an example of how to do it in your own project:

Starting the Event Loop

await Endpoint.startEventLoop();

Handling Store Events

const channel = await Endpoint.connection().stores.subscribeToStores();

channel.on('storeCreated', (data) => console.log(data))
.on('storeDeleted', (data) => console.log(data))
.on('storeStatsChanged', (data) => console.log(data));

Handling File Events

const channel = await Endpoint.connection().store('STORE_ID').subscribeForFileEvents();

channel.on('storeFileCreated', (data) => console.log(data))
.on('storeFileDeleted', (data) => console.log(data));

For JavaScript reference go here.