FeedHenry WFM user
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
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: { return userClient; }
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
Name | Attributes |
---|---|
worker-list | workers, selectedModel |
worker | worker, group |
worker-form | value, group |
group-list | groups, selectedModel |
group | group, members |
group-form | value |
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 = app = mbaasExpress = mbaasApi mediator = ;// Set authServiveGuidvar authServiceGuid = processenvWFM_AUTH_GUID; // configure the express app... // setup the wfm user routermediator app authServiceGuid;
Setup mbaas service
var express = app = mbaasExpress = mbaasApi mediator = ;// Set authServiveGuidvar authServiceGuid = processenvWFM_AUTH_GUID; // configure the express app... // setup the wfm user routermediator 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|
resource | method | returns |
---|---|---|
/ | GET | array of users/groups/memberships |
/:id | GET | user/group/membership |
/:id | PUT | updated user/group/membership |
/ | POST | created user/group/membership |
/:id | DELETE | deleted user/group/membership |
Exposed Auth endpoints
Base url : /api/wfm/user
resource | method | returns |
---|---|---|
/auth | all | {satus: 'ok', userId: username, sessionToken: sessiontoken, authResponse: profileData} |
/verifysession | all | {isValid: true} |
/revokesession | all | {} |
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