@oneflow/loopback-component-primusdeprecated

Primus adapter for loopback. It allows you to call loopback's remote methods via websocket.

Usage no npm install needed!

<script type="module">
  import oneflowLoopbackComponentPrimus from 'https://cdn.skypack.dev/@oneflow/loopback-component-primus';
</script>

README

loopback-component-primus

Primus adapter for loopback. It allows you to call loopback's remote methods via websocket.

Getting Started

npm install --save @oneflow/loopback-component-primus

Add the loopback-component-primus component to the server/component-config.json:

"@oneflow/loopback-component-primus": {}

A small change is needed in the server/server.js file, replace:

app.start();

with:

app.server = app.start();

Usage

Call remote methods

The primus client library is exposed at the URL http://<LOOPBACK_URL>/primus/primus.js You will need to import it in your html:

<script type="text/javascript" src="http://<LOOPBACK_URL>/primus/primus.js"></script>

Then, in your code:

const primus = new Primus({
    url: 'http://<LOOPBACK_URL>',
});

Now you will be able to call remote methods using primus.send('invoke', {...});


// Call prototype method:

primus.send('invoke', {
        methodString: 'color.prototype.patchAttributes',
        args: {
            id: 1,
            data: { name: 'black' }
        },
    }, function (err, data) {
        if (err) {
            return alert('Error from server: ' + JSON.stringify(err));
        }

        alert('Record updated: ' + JSON.stringify(data));
    });
        
// Call static method:
primus.send('invoke', {
        methodString: 'color.find',
        args: {
            filter: {
                where: {
                    name: 'black'
                }
            }
        },
    }, function (err, data) {
        if (err) return alert('Error from server: ' + JSON.stringify(err));
    
        alert('Find results: ' + JSON.stringify(data));
    });
Spark

You can find the spark property, in the ctx object.