Guest User

Login Model

a guest
Mar 7th, 2016
194
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.24 KB | None | 0 0
  1. define([
  2. 'jquery',
  3. 'underscore',
  4. 'backbone',
  5. 'marionette',
  6. ],
  7. function ($, _, Backbone, Marionette) {
  8. 'use strict';
  9.  
  10. var Auth = Backbone.Model.extend({
  11.  
  12. initialize: function() {
  13. this.set({
  14. "token": localStorage.getItem('token') || '',
  15. "username": localStorage.getItem('username') || ''
  16. });
  17.  
  18. _.bindAll(this, "login", "logout", "isLoggedIn");
  19.  
  20. Backbone.Wreqr.radio.vent.on('app', 'auth:login', this.login);
  21. Backbone.Wreqr.radio.vent.on('app', 'auth:logout', this.logout);
  22. },
  23.  
  24. login: function(user, salesforce, callback) {
  25.  
  26. var self = this;
  27.  
  28. $.ajax({
  29. url: "http://localhost:1337/api/login",
  30. type: "post",
  31. dataType: "json",
  32. data: { user: user },
  33. success: function () {
  34.  
  35. self.set({
  36. "token": "*****",
  37. "username": user.email
  38. });
  39.  
  40. localStorage.setItem("token", "******");
  41. localStorage.setItem("username", user.email);
  42.  
  43. var response = {
  44. status: true,
  45. error: null
  46. };
  47.  
  48. callback(response);
  49. },
  50. error: function (error) {
  51. var response = {
  52. status: false,
  53. error: JSON.parse(error.responseText).msg
  54. };
  55.  
  56. callback(response);
  57. }
  58. });
  59. },
  60.  
  61. logout: function() {
  62. if(this.get('username') != '' || this.get('token') != '') {
  63. this.unset('token');
  64. this.unset('username');
  65. localStorage.removeItem('token');
  66. localStorage.removeItem('username');
  67. }
  68. },
  69.  
  70. isLoggedIn: function() {
  71. if(this.get('username') != '' || this.get('token') != '') {
  72. return true;
  73. } else {
  74. return false;
  75. }
  76. }
  77. });
  78.  
  79. return new Auth;
  80. });
Advertisement
Add Comment
Please, Sign In to add comment