https://github.com/tidepool-org/user-api-client
An npm package for making it easy to use the Tidepool user-api.
https://github.com/tidepool-org/user-api-client
Last synced: 4 months ago
JSON representation
An npm package for making it easy to use the Tidepool user-api.
- Host: GitHub
- URL: https://github.com/tidepool-org/user-api-client
- Owner: tidepool-org
- License: other
- Created: 2014-01-27T16:56:23.000Z (about 11 years ago)
- Default Branch: master
- Last Pushed: 2024-10-19T10:23:17.000Z (6 months ago)
- Last Synced: 2024-12-08T19:52:05.872Z (5 months ago)
- Language: JavaScript
- Size: 403 KB
- Stars: 1
- Watchers: 34
- Forks: 2
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
user-api-client
===============# Docs
This is a library that makes it easier for servers that are talking to the
Tidepool User API.## Setup
```require('user-api-client')(config, hostGetter, request);```* ```config``` -- an object containing configuration parameters
* ```hostGetter``` -- an object with a get() method. The get() method should return an array of objects that can be
passed into url.format() to produce a valid url to talk to.
* ```httpClient``` -- (optional) -- the result of require('./httpClient.js')(config). This is primarily exposed to allow
for mocking in tests. If not supplied a new "correct" one will be created.
* ```members``` -- client and middleware.## Client
### login
* ```login (username, password, cb)```
*Frontend to the API call to log in a user*
* ```username``` -- string
* ```password``` -- password
* ```cb (err, response)```
* ```err``` -- null if no error, else an error object
* ```response``` -- result from the /user/login api call### getAnonymousPair
* ```getAnonymousPair (userid, cb)```
*Frontend to the API call to retrieve a pair from the user object without storing it*
* ```userid``` -- Tidepool-assigned userid
* ```cb (err, response)```
* ```err``` -- null if no error, else an error object
* ```response``` -- result from the /user/private api call### checkToken
* ```checkToken (token, cb)```
*Frontend to the API call to check the validity of a server or user token*
* ```token``` -- the server token to be checked
* ```cb (err, response)```
* ```err``` -- null if no error, else an object
* ```response``` -- result from the /user/token api call### createUser
* ```createUser (userObj, cb)```
*Frontend to the API call to create a user*
* ```userObj``` -- object containing username, emails and password fields at minimum
* ```cb (err, response)```
* ```err``` -- null if no error, else an error object
* ```response``` -- result from the /user/user api call### withServerToken
* ```withServerToken (cb)```
*Calls CB with a valid server token, iff one can be retrieved*
* ```cb (err, token)```
* ```err``` -- always null if callback is called at all
* ```token``` -- a valid server token## Middleware
### expressify
* ```expressify (middlewareFn)```
*Converts restify middleware into express middleware.*
* ```middlewareFn``` -- the restify middleware
Returns: middleware that works with express### checkToken
* ```checkToken (client)```
*Middleware to process the session token -- expects a token in a request header, processes it, and*
*returns information about the token in the _tokendata variable on the request.*
* ```client``` -- client to use when talking to the user-api