Guest User

Untitled

a guest
Jan 30th, 2017
61
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.40 KB | None | 0 0
  1. var loginConstants = require('../constants/loginConstants');
  2. var Dispatcher = require('../dispatcher/Dispatcher');
  3. var objectAssign = require('object-assign');
  4. var EventEmitter = require('events').EventEmitter;
  5.  
  6. var CHANGE_EVENT = 'change';
  7.  
  8. const users = {
  9. "user1":{
  10. level: 1,
  11. name: "name1",
  12. password: "3333"
  13. },
  14. "user2":{
  15. level: 2,
  16. name: "name2",
  17. password: "4444"
  18. }
  19. };
  20.  
  21. var _store = {
  22. loggedUser: null
  23. };
  24.  
  25. var login = function(model){
  26. _store.loggedUser = model;
  27. };
  28.  
  29. var logout = function(){
  30. _store.loggedUser = null;
  31. };
  32.  
  33. var loginStore = objectAssign({}, EventEmitter.prototype, {
  34. addChangeListener: function(cb){
  35. this.on(CHANGE_EVENT, cb);
  36. },
  37. removeChangeListener: function(cb){
  38. this.removeListener(CHANGE_EVENT, cb);
  39. },
  40. getLoggedUser: function(){
  41. return _store.loggedUser;
  42. },
  43. getUsers: function(){
  44. return users;
  45. }
  46. });
  47.  
  48. Dispatcher.register(function(payload){
  49. var action = payload.action;
  50. switch(action.actionType){
  51. case loginConstants.LOGIN:
  52. login(action.data);
  53. loginStore.emit(CHANGE_EVENT);
  54. break;
  55. case loginConstants.LOGOUT:
  56. logout();
  57. loginStore.emit(CHANGE_EVENT);
  58. default:
  59. return true;
  60. }
  61. });
  62.  
  63. module.exports = loginStore;
Add Comment
Please, Sign In to add comment