1
0
mirror of https://github.com/BoostIo/Boostnote synced 2025-12-13 09:46:22 +00:00
Files
Boostnote/browser/main/Stores/AuthStore.js
2015-07-12 19:24:44 +09:00

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