Skip to content

matter-in-motion/mm-user

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Matter In Motion. User resource extension

NPM Version NPM Downloads

This extension adds a user resource.

Usage

Extensions installation instructions

Dependencies

Settings

Adds user to the settings.

  • new — object, properties to add to the newly created user. Status is 'created' if omitted;

API

user.get

Returns authenticated user profile.

Request

null

Response

  • user data with at least two properties id and email.

  • Unauthorized error, code 4100 — when no user authenticated

  • NotFound error, code 4540 — when user not found

user.create

Creates a new user

Request

  • email — string, user's email
  • name — string, user's name

Response

  • user id

user.update

Updates authenticated user properties.

Request

  • to — object
    • name — string, user's name
    • email — string, user's email

Response

  • user id

  • Unauthorized error, code 4100 — when no user authenticated.

user.delete

Deletes authenticated user.

Request

null

Response

  • user id

  • Unauthorized error, code 4100 — when no user authenticated.

  • NotFound error, code 4540 — when user not found.

Controller methods

User resource controller makes sure all the emails are unique.

get(options)

Returns the user object from the database or throws NotFound error with code 4540. Removes status property from returned user data if status equals active, i.e. active user.

options:

  • id — string, returns user by id.
  • email — string, returns user by email.
  • status — string, returns the only user with status.
  • auth — boolean, default false, returns user without auth records.

_get(options)

The same as get but returns a rethinkdb query promise

__get(options)

Returns rethinkdb query promise with a single user selected by id or email. No other filtering or transformations performed.

getAll(options)

returns list or count of users.

options:

  • status — string, filter users by status
  • count — boolean, count number of selected users

_getAll(options)

The same as getAll but returns a rethinkdb query promise.

create(data, options)

Creates a new user and returns a new user id.

Options:

  • status — string, status to create a new user with.

Will hooks get user object with all new user data applied.

Did hooks get full user object with id.

update(opts, to)

Updates the user properties and returns updated user id.

options:

  • id — string, returns user by id.
  • email — string, returns user by email.

Will hooks get all the arguments.

Did hooks get changes object with new_val and old_val properties.

delete(opts)

Deletes the user and returns deleted user id.

options:

  • id — string, returns user by id
  • email — string, returns user by email

Will hooks get all the arguments

Did hooks get changes object with new_val and old_val properties

License MIT;