webmaker-user-client

0.1.2 • Public • Published

Webmaker User Client

Use this if you need to get, update, or delete information about a specific Webmaker user.

You will need basic auth credentials for and a Webmaker Login endpoint to use it.

Install

npm install webmaker-user-client

Setup

var UserClient = require('webmaker-user-client');
 
var userClient = new UserClient({
  endpoint: 'http://testuser:password@localhost:3000'
});

User Object

{
  "user": {
    "avatar": "https://secure.gravatar.com/avatar/30c0f54f30fc6a201e3f5ddaa5bc5974?s=26&d=https%3A%2F%2Fstuff.webmaker.org%2Favatars%2Fwebmaker-avatar-44x44.png",
    "emailHash": "30c0f54f30fc6a201e3f5ddaa5bc5974",
    "displayName": "k88hudson",
    "id": 21,
    "email": "k88hudson@gmail.com",
    "username": "k88hudson",
    "fullName": "k88hudson",
    "deletedAt": null,
    "lastLoggedIn": "2014-05-12T20:21:34.000Z",
    "isAdmin": true,
    "isCollaborator": true,
    "isSuspended": false,
    "sendNotifications": false,
    "sendEngagements": false,
    "sendEventCreationEmails": true,
    "wasMigrated": false,
    "createdAt": "2014-03-11T18:20:44.000Z",
    "updatedAt": "2014-05-12T20:21:34.000Z"
  }
}

Methods

Get

By email

userClient.get.byEmail('kate@kate.com', function (err, user) { ... });

By username

userClient.get.byUsername('k88hudson', function (err, user) { ... });

By id

userClient.get.byId('1023', function (err, user) { ... });

By emails

userClient.get.byEmails(['kate@kate.com','chris@chris.com'], function (err, users) { ... });

By usernames

userClient.get.byUsernames(['k88hudson','cade'], function (err, users) { ... });

By ids

userClient.get.byIds(['1023','1024'], function (err, users) { ... });

Update

By email

userClient.update.byEmail('kate@kate.com', {
  isCollaborator: true
}, function(err, user) {
  console.log(user);
});

Promises

Every method also has a twin that returns a Promise. Just append Async to the name:

userClient.get.byUsernamesAsync(
  ['jbuck', 'cade']
).then(function(users) {
  console.log('we got users: %j', users);
}).catch(function(e) {
  console.error('oh no: %s', e.stack);
});

Todo

userClient.update.byUsername
userClient.delete.byEmail
userClient.delete.byUsername
 

Readme

Keywords

none

Package Sidebar

Install

npm i webmaker-user-client

Weekly Downloads

1

Version

0.1.2

License

MPLv2

Last publish

Collaborators

  • mozilla-foundation-owner
  • jbuck
  • k88hudson
  • cadecairos