|
| 1 | + |
| 2 | + |
| 3 | +> _Seneca Tangocard-Provider_ is a plugin for [Seneca](http://senecajs.org) |
| 4 | +
|
| 5 | + |
| 6 | +Provides access to the Tangocard API using the Seneca *provider* |
| 7 | +convention. Tangocard API entities are represented as Seneca entities so |
| 8 | +that they can be accessed using the Seneca entity API and messages. |
| 9 | + |
| 10 | +See [seneca-entity](senecajs/seneca-entity) and the [Seneca Data |
| 11 | +Entities |
| 12 | +Tutorial](https://senecajs.org/docs/tutorials/understanding-data-entities.html) for more details on the Seneca entity API. |
| 13 | + |
| 14 | +NOTE: underlying third party SDK needs to be replaced as out of date and has a security issue. |
| 15 | + |
| 16 | +[](https://npmjs.com/package/@seneca/tangocard-provider) |
| 17 | +[](https://github.com/senecajs/seneca-tangocard-provider/actions/workflows/build.yml) |
| 18 | +[](https://coveralls.io/github/senecajs/seneca-tangocard-provider?branch=main) |
| 19 | +[](https://snyk.io/test/github/senecajs/seneca-tangocard-provider) |
| 20 | +[](https://deepscan.io/dashboard#view=project&tid=5016&pid=19462&bid=505954) |
| 21 | +[](https://codeclimate.com/github/senecajs/seneca-tangocard-provider/maintainability) |
| 22 | + |
| 23 | + |
| 24 | +|  | This open source module is sponsored and supported by [Voxgig](https://www.voxgig.com). | |
| 25 | +|---|---| |
| 26 | + |
| 27 | + |
| 28 | +## Quick Example |
| 29 | + |
| 30 | + |
| 31 | +```js |
| 32 | + |
| 33 | +// Setup - get the key value (<SECRET>) separately from a vault or |
| 34 | +// environment variable. |
| 35 | +Seneca() |
| 36 | + // Get API keys using the seneca-env plugin |
| 37 | + .use('env', { |
| 38 | + var: { |
| 39 | + $TANGOCARD_APIKEY: String, |
| 40 | + $TANGOCARD_USERTOKEN: String, |
| 41 | + } |
| 42 | + }) |
| 43 | + .use('provider', { |
| 44 | + provider: { |
| 45 | + tangocard: { |
| 46 | + keys: { |
| 47 | + apikey: { value: '$TANGOCARD_APIKEY' }, |
| 48 | + usertoken: { value: '$TANGOCARD_USERTOKEN' }, |
| 49 | + } |
| 50 | + } |
| 51 | + } |
| 52 | + }) |
| 53 | + .use('tangocard-provider') |
| 54 | + |
| 55 | +let board = await seneca.entity('provider/tangocard/board') |
| 56 | + .load$('<tangocard-board-id>') |
| 57 | + |
| 58 | +Console.log('BOARD', board) |
| 59 | + |
| 60 | +board.desc = 'New description' |
| 61 | +board = await board.save$() |
| 62 | + |
| 63 | +Console.log('UPDATED BOARD', board) |
| 64 | + |
| 65 | +``` |
| 66 | + |
| 67 | +## Install |
| 68 | + |
| 69 | +```sh |
| 70 | +$ npm install @seneca/tangocard-provider @seneca/env |
| 71 | +``` |
| 72 | + |
| 73 | + |
| 74 | + |
| 75 | +<!--START:options--> |
| 76 | + |
| 77 | + |
| 78 | +## Options |
| 79 | + |
| 80 | +* `debug` : boolean <i><small>false</small></i> |
| 81 | + |
| 82 | + |
| 83 | +Set plugin options when loading with: |
| 84 | +```js |
| 85 | + |
| 86 | + |
| 87 | +seneca.use('TangocardProvider', { name: value, ... }) |
| 88 | + |
| 89 | + |
| 90 | +``` |
| 91 | + |
| 92 | + |
| 93 | +<small>Note: <code>foo.bar</code> in the list above means |
| 94 | +<code>{ foo: { bar: ... } }</code></small> |
| 95 | + |
| 96 | + |
| 97 | + |
| 98 | +<!--END:options--> |
| 99 | + |
| 100 | +<!--START:action-list--> |
| 101 | + |
| 102 | + |
| 103 | +## Action Patterns |
| 104 | + |
| 105 | +* [role:entity,base:tangocard,cmd:load,name:repo,zone:provider](#-roleentitybasetangocardcmdloadnamerepozoneprovider-) |
| 106 | +* [role:entity,base:tangocard,cmd:save,name:repo,zone:provider](#-roleentitybasetangocardcmdsavenamerepozoneprovider-) |
| 107 | +* [sys:provider,get:info,provider:tangocard](#-sysprovidergetinfoprovidertangocard-) |
| 108 | + |
| 109 | + |
| 110 | +<!--END:action-list--> |
| 111 | + |
| 112 | +<!--START:action-desc--> |
| 113 | + |
| 114 | + |
| 115 | +## Action Descriptions |
| 116 | + |
| 117 | +### « `role:entity,base:tangocard,cmd:load,name:repo,zone:provider` » |
| 118 | + |
| 119 | +Load Tangocard repository data into an entity. |
| 120 | + |
| 121 | + |
| 122 | + |
| 123 | +---------- |
| 124 | +### « `role:entity,base:tangocard,cmd:save,name:repo,zone:provider` » |
| 125 | + |
| 126 | +Update Tangocard repository data from an entity. |
| 127 | + |
| 128 | + |
| 129 | + |
| 130 | +---------- |
| 131 | +### « `sys:provider,get:info,provider:tangocard` » |
| 132 | + |
| 133 | +Get information about the provider. |
| 134 | + |
| 135 | + |
| 136 | + |
| 137 | +---------- |
| 138 | + |
| 139 | + |
| 140 | +<!--END:action-desc--> |
0 commit comments