mirror of
https://github.com/BoostIo/Boostnote
synced 2025-12-13 09:46:22 +00:00
65 lines
1.7 KiB
JavaScript
65 lines
1.7 KiB
JavaScript
/* global localStorage */
|
|
var Reflux = require('reflux')
|
|
var request = require('superagent')
|
|
|
|
var login = require('../Actions/login')
|
|
var register = require('../Actions/register')
|
|
|
|
var AuthStore = Reflux.createStore({
|
|
init: function () {
|
|
this.listenTo(login, this.login)
|
|
this.listenTo(register, this.register)
|
|
},
|
|
// Reflux Store
|
|
login: function (input) {
|
|
request
|
|
.post('http://localhost:8000/auth/login')
|
|
.send(input)
|
|
.set('Accept', 'application/json')
|
|
.end(function (err, res) {
|
|
if (err) {
|
|
console.error(err)
|
|
this.trigger(null)
|
|
return
|
|
}
|
|
|
|
var user = res.body.user
|
|
localStorage.setItem('token', res.body.token)
|
|
localStorage.setItem('user', JSON.stringify(res.body.user))
|
|
|
|
this.trigger(user)
|
|
}.bind(this))
|
|
},
|
|
register: function (input) {
|
|
request
|
|
.post('http://localhost:8000/auth/signup')
|
|
.send(input)
|
|
.set('Accept', 'application/json')
|
|
.end(function (err, res) {
|
|
if (err) {
|
|
console.error(err)
|
|
this.trigger(null)
|
|
return
|
|
}
|
|
|
|
var user = res.body.user
|
|
localStorage.setItem('token', res.body.token)
|
|
localStorage.setItem('user', JSON.stringify(res.body.user))
|
|
|
|
this.trigger(user)
|
|
}.bind(this))
|
|
},
|
|
// Methods
|
|
check: function () {
|
|
if (localStorage.getItem('token')) return true
|
|
return false
|
|
},
|
|
getUser: function () {
|
|
var userJSON = localStorage.getItem('user')
|
|
if (userJSON == null) return null
|
|
return JSON.parse(userJSON)
|
|
}
|
|
})
|
|
|
|
module.exports = AuthStore
|