feat: wip board metas
This commit is contained in:
parent
7bd2cb8b77
commit
71298ee166
3 changed files with 59 additions and 1 deletions
|
@ -97,6 +97,10 @@ function getMessage(m) {
|
||||||
// this doesn't happen yet
|
// this doesn't happen yet
|
||||||
break
|
break
|
||||||
|
|
||||||
|
case 'editBoardMetas':
|
||||||
|
sendAction('editBoardMetas', { prop: 'opacity', value: 0.5 })
|
||||||
|
break
|
||||||
|
|
||||||
case 'moveCard':
|
case 'moveCard':
|
||||||
moveCard($(`#${data.id}`), data.position)
|
moveCard($(`#${data.id}`), data.position)
|
||||||
break
|
break
|
||||||
|
|
|
@ -11,7 +11,7 @@ const sets = require('simplesets')
|
||||||
// var MemoryStore = require('connect/middleware/session/memory');
|
// var MemoryStore = require('connect/middleware/session/memory');
|
||||||
// var session_store = new MemoryStore();
|
// var session_store = new MemoryStore();
|
||||||
|
|
||||||
const REDIS_PREFIX = '#scrumblr#'
|
const REDIS_PREFIX = '#memo#'
|
||||||
|
|
||||||
// For Redis Debugging
|
// For Redis Debugging
|
||||||
|
|
||||||
|
@ -111,6 +111,39 @@ db.prototype = {
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
|
||||||
|
// Board metadata commands
|
||||||
|
createBoardMetas(room, id, board) {
|
||||||
|
const boardString = JSON.stringify(board)
|
||||||
|
redisClient.hset(
|
||||||
|
`${REDIS_PREFIX}-room:${room}-board`,
|
||||||
|
id,
|
||||||
|
boardString
|
||||||
|
)
|
||||||
|
}
|
||||||
|
getBoardMetas(room, callback) {
|
||||||
|
redisClient.hgetall(`${REDIS_PREFIX}-room:${room}-board`, (err, res) => {
|
||||||
|
console.log('board metas',res)
|
||||||
|
callback(JSON.parse(res))
|
||||||
|
})
|
||||||
|
},
|
||||||
|
|
||||||
|
editBoardMetas(room, id, prop, value) {
|
||||||
|
redisClient.hget(`${REDIS_PREFIX}-room:${room}-board`, id, (err, res) => {
|
||||||
|
const board = JSON.parse(res)
|
||||||
|
if (board !== null) {
|
||||||
|
board[prop] = value
|
||||||
|
redisClient.hset(`${REDIS_PREFIX}-room:${room}-board`, id, JSON.stringify(board))
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
|
|
||||||
|
deleteBoardMetas(room, id) {
|
||||||
|
redisClient.hdel(
|
||||||
|
`${REDIS_PREFIX}-room:${room}-board`,
|
||||||
|
id
|
||||||
|
)
|
||||||
|
},
|
||||||
|
|
||||||
// Card commands
|
// Card commands
|
||||||
createCard(room, id, card) {
|
createCard(room, id, card) {
|
||||||
const cardString = JSON.stringify(card)
|
const cardString = JSON.stringify(card)
|
||||||
|
|
21
server.js
21
server.js
|
@ -134,6 +134,27 @@ io.sockets.on('connection', (client) => {
|
||||||
|
|
||||||
break
|
break
|
||||||
|
|
||||||
|
case 'editBoardMetas':
|
||||||
|
clean_data = {}
|
||||||
|
// TODO: test if prop is in ['title', opacity, 'imageUrl']
|
||||||
|
clean_data.id = message.data.id
|
||||||
|
clean_data.prop = message.data.prop
|
||||||
|
clean_data.value = scrub(message.data.value)
|
||||||
|
|
||||||
|
// send update to database
|
||||||
|
getRoom(client, (room) => {
|
||||||
|
db.editBoardMetas(room, clean_data.id, clean_data.prop, clean_data.value)
|
||||||
|
})
|
||||||
|
|
||||||
|
message_out = {
|
||||||
|
action: 'editBoardMetas',
|
||||||
|
data: clean_data
|
||||||
|
}
|
||||||
|
|
||||||
|
broadcastToRoom(client, message_out)
|
||||||
|
|
||||||
|
break
|
||||||
|
|
||||||
case 'moveCard':
|
case 'moveCard':
|
||||||
// report to all other browsers
|
// report to all other browsers
|
||||||
message_out = {
|
message_out = {
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue