A Tinypass provider plugin for the Oddworks content server.
Install the npm package as a Node.js library:
npm install --save oddworks-tinypass-provider
For full Tinypass API documentation see developer.tinypass.com/api.
The Oddworks-Tinypass provider is designed to be integrated with an Oddworks server identity, specifically as a provider. To initialize the plugin in your server:
const tinypassProvider = require('oddworks-tinypass-provider');
// See https://github.com/oddnetworks/oddworks/tree/master/lib/services/catalog#patterns
// for more information regarding an Oddcast Bus.
const bus = createMyOddcastBus();
const options = {
bus: bus,
apiToken: process.env.TINYPASS_API_TOKEN,
applicationID: process.env.TINYPASS_APPLICATION_ID,
sandbox: true
};
tinypassProvider.initialize(options).then(provider => {
console.log('Initialized provider "%s"', provider.name);
}).catch(err => {
console.error(err.stack || err.message || err);
});
The initialization process will attach Oddcast listeners for the following queries:
bus.query({role: 'provider', cmd: 'get', source: 'tinypass-viewer'})
To use them you send Oddcast commands to save a specification object:
// To create a viewer based on a Tinypass viewer:
bus.sendCommand({role: 'catalog', cmd: 'setItemSpec'}, {
channel: 'abc',
type: 'viewerSpec',
source: 'tinypass-viewer',
viewer: {uid: 'paul'}
});
This library provides a default transform function for collections and assets. It is fine to use the default, but you can provide your own like this:
const tinypassProvider = require('oddworks-tinypass-provider');
const bus = createMyOddcastBus();
const options = {
bus: bus,
viewerTransform: myViewerTransform
};
tinypassProvider.initialize(options).then(provider => {
console.log('Initialized provider "%s"', provider.name);
}).catch(err => {
console.error(err.stack || err.message || err);
});
Your transform functions myViewerTransform
will be called when the tinypass-viewer
have respectively received a response from the Tinypass API.
The myViewerTransform
functions will each be called with 2 arguments: The spec object and the Tinypass API response object for an album or viewer, respectively.
See lib/default-viewer-transform
for more info.
You can create a stand-alone API client outside of the Oddworks provider:
const tinypassProvider = require('oddworks-tinypass-provider');
const client = tinypassProvider.createClient({
bus: bus,
apiToken: process.env.TINYPASS_API_TOKEN,
applicationID: process.env.TINYPASS_APPLICATION_ID,
sandbox: true
});
All methods return a Promise.
client.getUserByEmail({userEmail})
client.getUserResources({userId})
client.getUserSubscriptions({userId})
You can interact with the Tinypass client using the CLI tool. To get started, run:
bin/tinypass --help
To authenticate the API you'll need to export the following environment variables:
TINYPASS_API_TOKEN
The Tinypass API tokenTINYPASS_APPLICATION_ID
The Tinypass Application ID (AID)
To get help with commands:
bin/tinypass list --help
bin/tinypass req --help
Apache 2.0 © Odd Networks