# node libraries
socketio = (require 'socket.io')
path = (require 'path')
FFTCGLOG = new (require './console')('FFTCGSOCKET')

# my libraries

FFTCGSOCKET = (http, session) ->
  that = @

  # create server socket
  @io = socketio http
  @io.use session

  # on new connection
  @io.on 'connection', (socket) ->
    @session = socket.handshake.session
    FFTCGLOG.log "session '#{@session.id}' connected"
    FFTCGLOG.log "is user '#{@session.userID}'" if @session.userID

    socket.on 'disconnect', ->
      FFTCGLOG.log "session '#{that.session.id}' disconnected"
      FFTCGLOG.log "is user '#{that.session.userID}'" if that.session.userID

  return

FFTCGSOCKET::close = ->
  FFTCGLOG.log 'shutting down'
  if @db
    @db.close()
      .then (msg) ->
        console.log msg
      .catch (err) ->
        console.error err



module.exports = FFTCGSOCKET
