Skip to content

Commit

Permalink
added logs back in
Browse files Browse the repository at this point in the history
  • Loading branch information
ScareCrow95 committed Sep 30, 2020
1 parent 59d1835 commit e6e142d
Show file tree
Hide file tree
Showing 5 changed files with 104 additions and 2 deletions.
44 changes: 44 additions & 0 deletions cartState.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
global.CARTID = require('./connections').cartID
const { json } = require('express')
const model = require('./Models/Cart')

let cartstate = {
Expand All @@ -9,22 +10,36 @@ let cartstate = {
active: false,
userId: '',
state: 'idle',
path: [],
}

global.CARTSTATE = () => cartstate

module.exports.connect = async (state) => {
cartstate = state

eventManager.emit('log', { type: 'cart-connect', msg: '{}' })
eventManager.emit('cart-change', 1)
eventManager.emit('state-change', cartstate.state)

emitStateForClient()
}

module.exports.disconnect = async () => {
cartstate.active = false
eventManager.emit('log', { type: 'cart-disconnect', msg: '{}' })
eventManager.emit('cart-change', 0)
eventManager.emit('state-change', cartstate.state)

emitStateForClient()
}

module.exports.reconnect = async () => {
cartstate.active = true
eventManager.emit('log', { type: 'cart-reconnect', msg: '{}' })
eventManager.emit('cart-change', 1)
eventManager.emit('state-change', cartstate.state)

emitStateForClient()
}

Expand All @@ -45,6 +60,12 @@ module.exports.summon = async (data, socket) => {
longitude: data.longitude,
})
}
eventManager.emit('state-change', cartstate.state)

eventManager.emit('log', {
type: 'cart-state',
msg: JSON.stringify(cartstate),
})
}

module.exports.cancelSummon = async (id, socket) => {
Expand All @@ -60,36 +81,59 @@ module.exports.cancelSummon = async (id, socket) => {
}
emitStateForClient()
eventManager.emit('summon-cancel')
eventManager.emit('state-change', cartstate.state)
}
}

module.exports.summonFinish = async () => {
cartstate.state = 'summon-finish'
cartstate.destination = ''
emitStateForClient()
eventManager.emit('log', {
type: 'summon-finish',
msg: JSON.stringify(cartstate),
})
eventManager.emit('state-change', cartstate.state)
}

module.exports.transitStart = (data) => {
console.log(data)
cartstate = data
emitStateForClient()
eventManager.emit('state-change', cartstate.state)
eventManager.emit('log', {
type: 'transit-start',
msg: JSON.stringify(cartstate),
})
}

module.exports.transitEnd = async () => {
cartstate.destination = ''
cartstate.state = 'transit-end'
emitStateForClient()
eventManager.emit('log', {
type: 'transit-end',
msg: JSON.stringify(cartstate),
})
eventManager.emit('state-change', cartstate.state)
}

module.exports.passengerExit = async () => {
cartstate.userId = ''
cartstate.destination = ''
cartstate.state = 'idle'
emitStateForClient()
eventManager.emit('log', {
type: 'passenger-exit',
msg: JSON.stringify(cartstate),
})
eventManager.emit('state-change', cartstate.state)
eventManager.emit('log', { type: 'passenger-exit', msg: '{}' })
}

module.exports.setDestination = async (name) => {
cartstate.destination = name
eventManager.emit('log', { type: 'set-destination', msg: name })
}

function emitStateForClient() {
Expand Down
41 changes: 41 additions & 0 deletions handleAdmin.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
module.exports = async (nsp) => {
eventManager.on('log', (data) => {
nsp.emit('admin_log', data)
})

eventManager.on('client-gps', (data) => {
nsp.emit('client_gps', data)
})

eventManager.on('cart-gps', (data) => {
nsp.emit('cart_gps', data)
})

eventManager.on('path', (data) => {
console.log(data)
nsp.emit('path', data)
})

eventManager.on('cart-change', (data) => {
nsp.emit('cart_change', data)
})

eventManager.on('state-change', (data) => {
nsp.emit('state_change', data)
})

nsp.on('connection', (socket) => {
socket.on('get', () => {
socket.emit('cart_change', CARTSTATE().active ? 1 : 0)
socket.emit('path', CARTSTATE().path ? CARTSTATE().path : [])
socket.emit('cart_gps', {
lat: CARTGPS.latitude,
lng: CARTGPS.longitude,
})
socket.emit(
'state_change',
CARTSTATE().active ? CARTSTATE().state : 'offline'
)
})
})
}
14 changes: 13 additions & 1 deletion handleCart.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
let cart = { socket: null, latitude: 38.433769, longitude: -78.862185 }
let cart = { socket: null }
global.CARTGPS = { latitude: 38.433905, longitude: -78.862169 }

const { cartOutgoingEvents } = require('./connections')
const cartState = require('./cartState')
Expand Down Expand Up @@ -28,6 +29,17 @@ module.exports.handle = async (nsp) => {
cartState.summonFinish()
})

socket.on('gps', (data) => {
CARTGPS().latitude = data.latitude
CARTGPS().longitude = data.longitude
eventManager.emit('cart-gps', data)
})

socket.on('path', (data) => {
CARTSTATE().path = data
eventManager.emit('path', data)
})

socket.on('cart-active', (data) => {
data === true ? cartState.reconnect() : cartState.disconnect()
})
Expand Down
5 changes: 5 additions & 0 deletions handleClient.js
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,8 @@ module.exports = async (nsp) => {
longitude: data.longitude,
}

eventManager.emit('log', { type: 'client-connected', msg: data })

socket.emit(
'cart-status',
JSON.stringify({
Expand All @@ -32,10 +34,12 @@ module.exports = async (nsp) => {

socket.on('summon', async (data) => {
await cartState.summon(JSON.parse(data), socket)
eventManager.emit('log', { type: 'summon', msg: data })
})

socket.on('cancel', async (id) => {
await cartState.cancelSummon(id, socket)
eventManager.emit('log', { type: 'summon-cancel', msg: data })
})

socket.on('gps', (data) => {
Expand All @@ -56,6 +60,7 @@ module.exports = async (nsp) => {
}
}
}
eventManager.emit('log', { type: 'client-disconnected', msg: key })
eventManager.emit('client-change', Object.keys(clients))
})
})
Expand Down
2 changes: 1 addition & 1 deletion server.js
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ global.eventManager = new events()
;(async function init() {
handleClient(io.of('/client'))
handleCart.handle(io.of('/cart'))
// handleAdmin(io.of('/admin'))
handleAdmin(io.of('/admin'))

server.listen(8020, () => {
console.log('server started at 8020')
Expand Down

0 comments on commit e6e142d

Please sign in to comment.