In DerbyJS:
How do I add event listeners to "The Model", only server side, without having to rely on requests (express middleware)?
Related question I've found: How to create server-side application logic on Racer / DerbyJS?
Of course I can write an express middleware. But the "shared" data model would come in really handy if I could access it without having to rely on a request, and I don't know how to do that without having to put the specific code into the shared codebase.
Use case: order processing for e-commerce software
My model could be like this:
{
orders: [ {
id: '1',
products: [ ... ],
user: [ ... ],
token: 'stripe credit card token I get from Client here'
}, {
...
} ]
}
This way the client could place new orders doing
model.at('orders').add(myOrder);
And the server could process it by listening for 'insert'
events:
model.on('insert', 'orders', function(captures, index, newOrders) {
newOrders.forEach(processOrder);
})
Yes you can!! :)
You have 2 options.
Option 1)
Use app.serverUse to include a server side script, or use the store.js if you have used yo derby-generator. There you can :
Option 2)
Using https://github.com/derbyparty/derby-hook