1
0
mirror of https://github.com/BoostIo/Boostnote synced 2025-12-13 17:56:25 +00:00
Files
Boostnote/lib/socket.js
2015-10-24 21:32:53 +09:00

53 lines
1.3 KiB
JavaScript

import { API_URL } from '../config'
import socketio from 'socket.io-client'
import auth from './auth'
import store from './store'
import { updateUser, updateArticle, destroyArticle, destroyFolder } from './actions'
export const CONN = 'CONN'
export const ALERT = 'ALERT'
export const USER_UPDATE = 'USER_UPDATE'
export const ARTICLE_UPDATE = 'ARTICLE_UPDATE'
export const ARTICLE_DESTROY = 'ARTICLE_DESTROY'
export const FOLDER_DESTROY = 'FOLDER_DESTROY'
let io = socketio(API_URL)
io.on(CONN, function (data) {
console.log('connected', data)
let token = auth.token()
if (token != null) {
io.emit('JOIN', {token})
}
})
io.on(ALERT, function (data) {
console.log(ALERT, data)
})
io.on(USER_UPDATE, function (data) {
console.log(USER_UPDATE, data)
let { user } = data
store.dispatch(updateUser(user))
})
io.on(FOLDER_DESTROY, function (data) {
console.log(FOLDER_DESTROY, data)
store.dispatch(destroyFolder(data.TeamId, data.FolderId))
})
io.on(ARTICLE_UPDATE, function (data) {
console.log(ARTICLE_UPDATE, data)
let { userId, article } = data
store.dispatch(updateArticle(userId, article))
})
io.on(ARTICLE_DESTROY, function (data) {
console.log(ARTICLE_DESTROY, data)
let { userId, articleKey } = data
store.dispatch(destroyArticle(userId, articleKey))
})
export default io