cloudcms-server 0.9.261 → 0.9.262

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,11 +1,5 @@
1
1
  var AbstractAsyncProvider = require("./abstract-async");
2
2
 
3
- //var redis = require("redis");
4
- var async = require("async");
5
-
6
- var logFactory = require("../../../util/logger");
7
- //var redisHelper = require("../../../util/redis");
8
-
9
3
  var redisClientFactory = require("../../../clients/redis");
10
4
  const redisHelper = require("../../../util/redis");
11
5
 
@@ -22,7 +16,7 @@ class RedisProvider extends AbstractAsyncProvider
22
16
  {
23
17
  var self = this;
24
18
 
25
- redisClientFactory.create(config, function(err, _client) {
19
+ redisClientFactory.create(self.config, function(err, _client) {
26
20
 
27
21
  if (err) {
28
22
  return callback(err);
@@ -33,69 +27,30 @@ class RedisProvider extends AbstractAsyncProvider
33
27
  return callback();
34
28
 
35
29
  });
36
-
37
- (async function() {
38
- var redisOptions = redisHelper.redisOptions(this.config, "CLOUDCMS_AWARENESS");
39
- await redisHelper.createAndConnect(redisOptions, function(err, _client) {
40
-
41
- });
42
- })();
43
30
  }
44
31
 
45
- readOrCreateChannel(channelId, callback)
46
- {
47
- var self = this;
48
-
49
- (async function() {
50
-
51
- await self.client.get("channel-" + channelId, function(err, channelJsonText) {
52
-
53
- if (err) {
54
- return callback(err);
55
- }
56
-
57
- if (channelJsonText)
58
- {
59
- var channel = JSON.parse("" + channelJsonText);
60
- return callback(null, channel);
61
- }
62
-
63
- (async function() {
64
- var channel = {};
65
- await self.client.set("channel-" + channelId, JSON.stringify(channel), function (err) {
66
-
67
- if (err) {
68
- return callback(err);
69
- }
70
-
71
- callback(null, channel);
72
- });
73
- })();
74
- });
75
-
76
- })();
77
- };
78
-
79
32
  readChannel(channelId, callback)
80
33
  {
81
34
  var self = this;
82
35
 
83
36
  (async function() {
84
37
 
85
- await self.client.get("channel-" + channelId, function(err, channelJsonText) {
86
-
87
- if (err) {
88
- return callback(err);
89
- }
90
-
38
+ try
39
+ {
40
+ var channel = null;
41
+
42
+ var channelJsonText = await self.client.get("channel-" + channelId);
91
43
  if (channelJsonText)
92
44
  {
93
- var channel = JSON.parse("" + channelJsonText);
94
- return callback(null, channel);
45
+ channel = JSON.parse("" + channelJsonText);
95
46
  }
96
47
 
97
- callback();
98
- });
48
+ callback(null, channel);
49
+ }
50
+ catch (err)
51
+ {
52
+ return callback(err);
53
+ }
99
54
 
100
55
  })();
101
56
  };
@@ -105,15 +60,17 @@ class RedisProvider extends AbstractAsyncProvider
105
60
  var self = this;
106
61
 
107
62
  (async function() {
108
-
109
- await self.client.set("channel-" + channelId, JSON.stringify(channel), function(err) {
110
-
111
- if (err) {
112
- return callback(err);
113
- }
114
63
 
64
+ try
65
+ {
66
+ await self.client.set("channel-" + channelId, JSON.stringify(channel));
67
+
115
68
  callback();
116
- });
69
+ }
70
+ catch (err)
71
+ {
72
+ return callback(err);
73
+ }
117
74
 
118
75
  })();
119
76
  };
@@ -124,14 +81,9 @@ class RedisProvider extends AbstractAsyncProvider
124
81
 
125
82
  (async function() {
126
83
 
127
- // fetch all keys for channels
128
- await self.client.keys("channel-*", function(err, channelKeys) {
129
-
130
- if (err)
131
- {
132
- return callback(err);
133
- }
134
-
84
+ try
85
+ {
86
+ var channelKeys = await self.client.keys("channel-*");
135
87
  if (!channelKeys || channelKeys.length === 0)
136
88
  {
137
89
  return callback(null, []);
@@ -145,97 +97,13 @@ class RedisProvider extends AbstractAsyncProvider
145
97
  }
146
98
 
147
99
  callback(null, channelIds);
148
- });
149
- })();
150
- };
151
-
152
- /**
153
- * @override
154
- */
155
- expire(beforeMs, callback)
156
- {
157
- var self = this;
158
-
159
- self.listChannelIds(function(err, channelIds) {
160
-
161
- if (err) {
162
- return callback(err);
163
- }
164
-
165
- if (!channelIds || channelIds.length === 0) {
166
- return callback(null, [], {});
167
100
  }
168
-
169
- // a list of channel IDs whose memberships were updated
170
- var updatedMembershipChannelIds = [];
171
- var expiredUserIdsByChannelId = {};
172
-
173
- var fns = [];
174
-
175
- for (var i = 0; i < channelIds.length; i++)
101
+ catch (err)
176
102
  {
177
- var channelId = channelIds[i];
178
-
179
- var fn = function (channelId, updatedMembershipChannelIds, expiredUserIdsByChannelId, beforeMs) {
180
- return function (done) {
181
-
182
- self.readChannel(channelId, function(err, channel) {
183
-
184
- if (err) {
185
- return done(err);
186
- }
187
-
188
- if (!channel) {
189
- return done();
190
- }
191
-
192
- if (channel.users)
193
- {
194
- // populate all of the user IDs that need to be removed
195
- var userIdsToRemove = [];
196
- for (var userId in channel.users)
197
- {
198
- var entry = channel.users[userId];
199
- if (entry.time < beforeMs)
200
- {
201
- updatedMembershipChannelIds.push(channelId);
202
- userIdsToRemove.push(userId);
203
-
204
- var expiredUserIds = expiredUserIdsByChannelId[channelId]
205
- if (!expiredUserIds) {
206
- expiredUserIds = expiredUserIdsByChannelId[channelId] = [];
207
- }
208
-
209
- expiredUserIds.push(userId);
210
- }
211
- }
212
-
213
- // remove the user IDs
214
- for (var i = 0; i < userIdsToRemove.length; i++)
215
- {
216
- delete channel.users[userIdsToRemove[i]];
217
- }
218
-
219
- self.writeChannel(channelId, channel, function() {
220
- done();
221
- });
222
- }
223
-
224
- });
225
- };
226
- }(channelId, updatedMembershipChannelIds, expiredUserIdsByChannelId, beforeMs);
227
- fns.push(fn);
103
+ callback(err);
228
104
  }
229
-
230
- async.parallel(fns, function(err) {
231
-
232
- if (err) {
233
- return callback(err);
234
- }
235
-
236
- callback(null, updatedMembershipChannelIds, expiredUserIdsByChannelId);
237
- });
238
- });
105
+
106
+ })();
239
107
  };
240
108
 
241
109
  readLock(lockId, callback)
@@ -244,37 +112,42 @@ class RedisProvider extends AbstractAsyncProvider
244
112
 
245
113
  (async function() {
246
114
 
247
- await self.client.get("lock-" + lockId, function(err, lockJsonText) {
248
-
249
- if (err) {
250
- return callback(err);
251
- }
252
-
115
+ try
116
+ {
117
+ var lock = null;
118
+
119
+ var lockJsonText = await self.client.get("lock-" + lockId);
253
120
  if (lockJsonText)
254
121
  {
255
- var lock = JSON.parse("" + lockJsonText);
256
- return callback(null, lock);
122
+ lock = JSON.parse("" + lockJsonText);
257
123
  }
258
124
 
259
- callback();
260
- });
125
+ callback(null, lock);
126
+ }
127
+ catch (err)
128
+ {
129
+ callback(err);
130
+ }
131
+
261
132
  })();
262
133
  };
263
134
 
264
135
  writeLock(lockId, lock, callback)
265
136
  {
266
137
  var self = this;
267
-
138
+
268
139
  (async function() {
269
-
270
- await self.client.set("lock-" + lockId, JSON.stringify(lock), function(err) {
271
-
272
- if (err) {
273
- return callback(err);
274
- }
275
140
 
141
+ try
142
+ {
143
+ await self.client.set("lock-" + lockId, JSON.stringify(lock));
144
+
276
145
  callback();
277
- });
146
+ }
147
+ catch (err)
148
+ {
149
+ callback(err);
150
+ }
278
151
 
279
152
  })();
280
153
  };
@@ -284,15 +157,17 @@ class RedisProvider extends AbstractAsyncProvider
284
157
  var self = this;
285
158
 
286
159
  (async function() {
287
-
288
- await self.client.del("lock-" + lockId, function(err) {
289
-
290
- if (err) {
291
- return callback(err);
292
- }
293
160
 
161
+ try
162
+ {
163
+ await self.client.del("lock-" + lockId);
164
+
294
165
  callback();
295
- });
166
+ }
167
+ catch (err)
168
+ {
169
+ callback(err);
170
+ }
296
171
 
297
172
  })();
298
173
  };
@@ -302,15 +177,10 @@ class RedisProvider extends AbstractAsyncProvider
302
177
  var self = this;
303
178
 
304
179
  (async function() {
305
-
306
- // fetch all keys for locks
307
- await self.client.keys("lock-*", function(err, lockKeys) {
308
-
309
- if (err)
310
- {
311
- return callback(err);
312
- }
313
-
180
+
181
+ try
182
+ {
183
+ var lockKeys = await self.client.keys("lock-*");
314
184
  if (!lockKeys || lockKeys.length === 0)
315
185
  {
316
186
  return callback(null, []);
@@ -324,7 +194,11 @@ class RedisProvider extends AbstractAsyncProvider
324
194
  }
325
195
 
326
196
  callback(null, lockIds);
327
- });
197
+ }
198
+ catch (err)
199
+ {
200
+ callback(err);
201
+ }
328
202
 
329
203
  })();
330
204
  };
@@ -335,69 +209,76 @@ class RedisProvider extends AbstractAsyncProvider
335
209
 
336
210
  (async function() {
337
211
 
338
- await self.client.get("session-" + sessionId, function(err, sessionJsonText) {
339
-
340
- if (err) {
341
- return callback(err);
342
- }
343
-
212
+ var session = null;
213
+
214
+ try
215
+ {
216
+ var sessionJsonText = await self.client.get("session-" + sessionId);
344
217
  if (sessionJsonText)
345
218
  {
346
- var session = JSON.parse("" + sessionJsonText);
219
+ session = JSON.parse("" + sessionJsonText);
220
+ }
221
+
222
+ if (session)
223
+ {
347
224
  return callback(null, session);
348
225
  }
349
226
 
350
227
  // create a new session
351
- (async function() {
352
- var session = {};
353
- await self.client.set("session-" + sessionId, JSON.stringify(session), function(err) {
354
-
355
- if (err) {
356
- return callback(err);
357
- }
358
-
359
- callback(null, session);
360
- });
361
- })();
362
- });
228
+ session = {};
229
+ await self.client.set("session-" + sessionId, JSON.stringify(session));
230
+
231
+ callback(null, session);
232
+ }
233
+ catch (err)
234
+ {
235
+ callback(err);
236
+ }
237
+
363
238
  })();
364
239
  }
365
240
 
366
241
  updateSession(sessionId, session, callback)
367
242
  {
368
243
  var self = this;
369
-
244
+
370
245
  if (!session) {
371
246
  session = {};
372
247
  }
373
248
 
374
249
  (async function() {
375
250
 
376
- // create a new session
377
- await self.client.set("session-" + sessionId, JSON.stringify(session), function (err) {
378
-
379
- if (err) {
380
- return callback(err);
381
- }
382
-
251
+ try
252
+ {
253
+ await self.client.set("session-" + sessionId, JSON.stringify(session));
254
+
383
255
  callback(null, session);
384
- });
256
+ }
257
+ catch (err)
258
+ {
259
+ callback(err);
260
+ }
261
+
385
262
  })();
386
263
  }
387
264
 
388
265
  deleteSession(sessionId, callback)
389
266
  {
390
267
  var self = this;
391
-
392
- (async function() {
393
- await self.client.del("session-" + sessionId, function (err) {
394
-
395
- if (err) {
396
- return callback(err);
397
- }
398
268
 
269
+ (async function() {
270
+
271
+ try
272
+ {
273
+ await self.client.del("session-" + sessionId);
274
+
399
275
  callback();
400
- });
276
+ }
277
+ catch (err)
278
+ {
279
+ callback(err);
280
+ }
281
+
401
282
  })();
402
283
  }
403
284
 
package/package.json CHANGED
@@ -6,7 +6,7 @@
6
6
  },
7
7
  "name": "cloudcms-server",
8
8
  "description": "Cloud CMS Application Server Module",
9
- "version": "0.9.261",
9
+ "version": "0.9.262",
10
10
  "repository": {
11
11
  "type": "git",
12
12
  "url": "git://github.com/gitana/cloudcms-server.git"
package/server/index.js CHANGED
@@ -311,9 +311,7 @@ var SETTINGS = {
311
311
  //"reapInterval": -1
312
312
  },
313
313
  "awareness": {
314
- "enabled": false,
315
- "type": "memory",
316
- "config": {}
314
+ "enabled": false
317
315
  },
318
316
  "graphql": {
319
317
  "enabled": true,
@@ -1253,7 +1251,7 @@ var configureServer = function(config, app, httpServer, configureServerFinishedF
1253
1251
  // APPLY CUSTOM SOCKET.IO CONFIG
1254
1252
  runFunctions(config.socketFunctions, [socket], function (err) {
1255
1253
 
1256
- require("../middleware/awareness/awareness").initSocketIO(function() {
1254
+ require("../middleware/awareness/awareness").initSocketIO(io, function() {
1257
1255
  next();
1258
1256
  });
1259
1257