Subversion Repository Public Repository

Nextrek

Diff Revisions 1122 vs 1123 for /socketIO/index.js

Diff revisions: vs.
  @@ -54,6 +54,7 @@
54 54
55 55 io.on('connection', (socket) => {
56 56
57 + let user = undefined;
57 58 const EVENTS = Chat.EVENTS;
58 59 const ROLES = Chat.ROLES;
59 60 const DEFAULT_ROOMS = Chat.DEFAULT_ROOMS;
  @@ -65,18 +66,18 @@
65 66
66 67 // create user and send updates
67 68 socket.on(EVENTS.CONNECTION.OPEN, (data) => {
68 - console.log('CONNECTION:OPEN', data, connect_sid);
69 + console.log('CONNECTION:OPEN', JSON.stringify(data));
69 70
70 71 // create new user
71 - Chat.createUser(connect_sid, data.name, data.role);
72 + user = Chat.createUser(data.name, data.role);
72 73
73 - console.log('user', Chat.getUser(connect_sid));
74 + console.log('user', user);
74 75
75 76 // join user own room
76 - socket.join(Chat.getUser(connect_sid).room);
77 + socket.join(user.room);
77 78
78 79 // join operators room if role is operator
79 - if (Chat.getUser(connect_sid).role === ROLES.OPERATOR) {
80 + if (user.role === ROLES.OPERATOR) {
80 81 socket.join(DEFAULT_ROOMS.OPERATORS);
81 82 }
82 83
  @@ -96,21 +97,21 @@
96 97
97 98 // join room
98 99 socket.on(EVENTS.ROOM.JOIN, (data) => {
99 - const ownerRoom = Chat.getUser(connect_sid).joinOwnerRoom(data.user);
100 + const ownerRoom = Chat.joinOwnerRoom(data.user, user);
100 101 socket.join(ownerRoom);
101 102
102 103 event = Chat.event(EVENTS.ROOM.JOIN, ownerRoom);
103 104 io.to(ownerRoom).emit(event.type, event.data);
104 105
105 - console.log('join room', Chat.getUser(connect_sid).name, event.data);
106 + console.log('join room', user.name, event.data);
106 107 });
107 108
108 109
109 110 // send text message
110 111 socket.on(EVENTS.SEND.MESSAGE, (data) => {
111 - const room = Chat.getUser(connect_sid).role === ROLES.CUSTOMER ? Chat.getUser(connect_sid).room : data.room;
112 + const room = user.role === ROLES.CUSTOMER ? user.room : data.room;
112 113
113 - const message = Chat.message(data, room);
114 + const message = Chat.message(data, room, user);
114 115 event = Chat.event(EVENTS.SEND.MESSAGE, message);
115 116 io.to(room).emit(event.type, event.data);
116 117
  @@ -119,14 +120,17 @@
119 120
120 121
121 122 socket.on('disconnect', () => {
122 - console.log('disconnect', connect_sid);
123 + console.log('disconnect', user);
124 +
125 + event = Chat.event(EVENTS.CONNECTION.CLOSE);
126 + io.emit(event.type, event.data);
123 127
124 - if (!Chat.getUser(connect_sid)) {
128 + if (!user) {
125 129 return
126 130 }
127 131
128 - const userRole = Chat.getUser(connect_sid).role;
129 - Chat.deleteUser(Chat.getUser(connect_sid));
132 + const userRole = user.role;
133 + Chat.deleteUser(user);
130 134
131 135 // send operators updated list to operators
132 136 if (userRole === ROLES.OPERATOR) {