some quick fixes for realtime server after devins refactor
This commit is contained in:
parent
be8efa6025
commit
abb997c75c
2 changed files with 8 additions and 8 deletions
|
@ -7,7 +7,7 @@ global = require('./global'),
|
||||||
stunservers = [{"url": "stun:stun.l.google.com:19302"}]
|
stunservers = [{"url": "stun:stun.l.google.com:19302"}]
|
||||||
|
|
||||||
const { createStore } = require('redux')
|
const { createStore } = require('redux')
|
||||||
const { reducer } = require('./reducer')
|
const reducer = require('./reducer')
|
||||||
|
|
||||||
let store = createStore(reducer)
|
let store = createStore(reducer)
|
||||||
|
|
||||||
|
|
|
@ -9,7 +9,7 @@ const {
|
||||||
const NOT_IN_CONVERSATION = 0
|
const NOT_IN_CONVERSATION = 0
|
||||||
const IN_CONVERSATION = 1
|
const IN_CONVERSATION = 1
|
||||||
|
|
||||||
const addMapperToMap = (map, userId) => { return { ...map, [userId]: NOT_IN_CONVERSATION }}
|
const addMapperToMap = (map, userId) => { return Object.assign({}, map, { [userId]: NOT_IN_CONVERSATION })}
|
||||||
|
|
||||||
const reducer = (state = { connectedPeople: {}, liveMaps: {} }, action) => {
|
const reducer = (state = { connectedPeople: {}, liveMaps: {} }, action) => {
|
||||||
const { type, payload } = action
|
const { type, payload } = action
|
||||||
|
@ -29,7 +29,7 @@ const reducer = (state = { connectedPeople: {}, liveMaps: {} }, action) => {
|
||||||
}
|
}
|
||||||
}),
|
}),
|
||||||
liveMaps: Object.assign({}, liveMaps, {
|
liveMaps: Object.assign({}, liveMaps, {
|
||||||
[payload.mapid]: addMapperToMap(map || {}, payload.userid)
|
[payload.mapid]: addMapperToMap(map || {}, payload.userid)
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
case LEAVE_MAP:
|
case LEAVE_MAP:
|
||||||
|
@ -46,7 +46,7 @@ const reducer = (state = { connectedPeople: {}, liveMaps: {} }, action) => {
|
||||||
// update the user (payload.id is user id) in the given map to be marked in the conversation
|
// update the user (payload.id is user id) in the given map to be marked in the conversation
|
||||||
return Object.assign({}, state, {
|
return Object.assign({}, state, {
|
||||||
liveMaps: Object.assign({}, liveMaps, {
|
liveMaps: Object.assign({}, liveMaps, {
|
||||||
[payload.mapid]: Object.assign({}, map, {
|
[payload.mapid]: Object.assign({}, map, {
|
||||||
[payload.id]: IN_CONVERSATION
|
[payload.id]: IN_CONVERSATION
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
|
@ -60,12 +60,12 @@ const reducer = (state = { connectedPeople: {}, liveMaps: {} }, action) => {
|
||||||
liveMaps: Object.assign({}, liveMaps, { map: newMap })
|
liveMaps: Object.assign({}, liveMaps, { map: newMap })
|
||||||
})
|
})
|
||||||
case 'DISCONNECT':
|
case 'DISCONNECT':
|
||||||
const mapWithoutUser = omit(map, payload.userid)
|
const mapWithoutUser = omit(map, payload.userid)
|
||||||
const newMap = callWillFinish ? mapValues(mapWithoutUser, () => NOT_IN_CONVERSATION) : mapWithoutUser
|
const newMapWithoutUser = callWillFinish ? mapValues(mapWithoutUser, () => NOT_IN_CONVERSATION) : mapWithoutUser
|
||||||
const newLiveMaps = mapWillEmpty ? omit(liveMaps, payload.mapid) : Object.assign({}, liveMaps, { [payload.mapid]: newMap })
|
const newLiveMapsWithoutUser = mapWillEmpty ? omit(liveMaps, payload.mapid) : Object.assign({}, liveMaps, { [payload.mapid]: newMapWithoutUser })
|
||||||
return {
|
return {
|
||||||
connectedPeople: omit(connectedPeople, payload.userid),
|
connectedPeople: omit(connectedPeople, payload.userid),
|
||||||
liveMaps: omitBy(newLiveMaps, isNil)
|
liveMaps: omitBy(newLiveMapsWithoutUser, isNil)
|
||||||
}
|
}
|
||||||
default:
|
default:
|
||||||
return state
|
return state
|
||||||
|
|
Loading…
Reference in a new issue