Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

psturc-fh-wfm-user

Package Overview
Dependencies
Maintainers
1
Versions
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

psturc-fh-wfm-user

A user module for WFM

  • 0.0.20
  • latest
  • npm
  • Socket score

Version published
Maintainers
1
Created
Source

FeedHenry WFM user Build Status

A module for FeedHenry WFM that manages users, groups and memberships. It provides :

  • Backend services to handle CRUD operations for user, group and membership.
  • Frontend directives and services providing CRUD clients for user, group and membership.

Client-side usage

Client-side usage (via broswerify)

Setup

This module is packaged in a CommonJS format, exporting the name of the Angular namespace. The module can be included in an angular.js as follows:

angular.module('app', [
, require('fh-wfm-user')
...
])
Integration
Angular Services

This module provides 3 injectable CRUDL services :

  • userClient : to create, read, list, update and delete users.
  • groupClient : to create, read, list, update and delete groups.
  • membershipClient : to create, read, list, update and delete groups.

the userClient has these extra functions : auth, hasSession, clearSession, verify and getProfile

Example usage :

resolve: {
        worker: function($stateParams, userClient) {
          return userClient.read($stateParams.workerId);
        }

For a more complete example around CRUD operations, please check the demo portal app.

For a more complete example around user authentication operations, please check the this.

Directives
NameAttributes
worker-listworkers, selectedModel
workerworker, group
worker-formvalue, group
group-listgroups, selectedModel
groupgroup, members
group-formvalue

Usage in an express backend and mbaas service

Setup express backend end

The server-side component of this WFM module exports a function that takes express and mediator instances as parameters, as in:

var express = require('express')
  , app = express()
  , mbaasExpress = mbaasApi.mbaasExpress()
  , mediator = require('fh-wfm-mediator/lib/mediator')
  ;
// Set authServiveGuid
var authServiceGuid = process.env.WFM_AUTH_GUID;

// configure the express app
...

// setup the wfm user router
require('fh-wfm-user/lib/router/cloud')(mediator, app, authServiceGuid);

Setup mbaas service

var express = require('express')
  , app = express()
  , mbaasExpress = mbaasApi.mbaasExpress()
  , mediator = require('fh-wfm-mediator/lib/mediator')
  ;
// Set authServiveGuid
var authServiceGuid = process.env.WFM_AUTH_GUID;

// configure the express app
...

// setup the wfm user router
require('fh-wfm-user/lib/router/mbaas')(mediator, app);

For a more complete example check here

Environment variables

The WFM_AUTH_POLICY_ID env var can be set in the WFM cloud APP to override the default wfm auth policy ID.

Exposed CRUD endpoints

Base url : /api/wfm/[group|user|membership|

resourcemethodreturns
/GETarray of users/groups/memberships
/:idGETuser/group/membership
/:idPUTupdated user/group/membership
/POSTcreated user/group/membership
/:idDELETEdeleted user/group/membership

Exposed Auth endpoints

Base url : /api/wfm/user

resourcemethodreturns
/authall{satus: 'ok', userId: username, sessionToken: sessiontoken, authResponse: profileData}
/verifysessionall{isValid: true}
/revokesessionall{}

message data structure example

  • user :

  {
    "id" : "156340",
    "username" : "trever",
    "name" : "Trever Smith",
    "position" : "Senior Truck Driver",
    "phone" : "(265) 725 8272",
    "email" : "trever@wfm.com",
    "notes" : "Trever doesn't work during the weekends.",
    "avatar" : "https://s3.amazonaws.com/uifaces/faces/twitter/kolage/128.jpg",
    "banner" : "http://web18.streamhoster.com/pentonmedia/beefmagazine.com/TreverStockyards_38371.jpg"
  }

  • group :
  {
    id: 1010,
    name: 'Drivers',
    role: 'worker'
  }
  • membership :
  {
    id: 0,
    group: 1010,
    user: 156340
  }

Keywords

FAQs

Package last updated on 18 Jul 2016

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc