@eleven-am/pondsocket 0.1.103 → 0.1.105
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.
- package/lobby/joinResponse.js +2 -3
- package/nest.js +63 -95
- package/package.json +1 -1
package/lobby/joinResponse.js
CHANGED
|
@@ -59,12 +59,11 @@ class JoinResponse extends abstractResponse_1.PondResponse {
|
|
|
59
59
|
*/
|
|
60
60
|
reject(message, errorCode) {
|
|
61
61
|
__classPrivateFieldGet(this, _JoinResponse_instances, "m", _JoinResponse_performChecks).call(this);
|
|
62
|
-
const text = `Request to join channel ${__classPrivateFieldGet(this, _JoinResponse_engine, "f").name} rejected: ${message || 'Unauthorized request'}`;
|
|
63
62
|
const errorMessage = {
|
|
64
63
|
event: enums_1.ErrorTypes.UNAUTHORIZED_JOIN_REQUEST,
|
|
65
64
|
payload: {
|
|
66
|
-
message:
|
|
67
|
-
code: errorCode ||
|
|
65
|
+
message: message || 'Unauthorized connection',
|
|
66
|
+
code: errorCode || 401,
|
|
68
67
|
},
|
|
69
68
|
channelName: __classPrivateFieldGet(this, _JoinResponse_engine, "f").name,
|
|
70
69
|
action: enums_1.ServerActions.ERROR,
|
package/nest.js
CHANGED
|
@@ -247,6 +247,46 @@ class Context {
|
|
|
247
247
|
return (_a = this.data[key]) !== null && _a !== void 0 ? _a : null;
|
|
248
248
|
}
|
|
249
249
|
}
|
|
250
|
+
function manageResponse(data, response) {
|
|
251
|
+
if (response.hasResponded) {
|
|
252
|
+
return;
|
|
253
|
+
}
|
|
254
|
+
const { event, presence, updatePresence, assigns, broadcast, accept = true } = data, rest = __rest(data, ["event", "presence", "updatePresence", "assigns", "broadcast", "accept"]);
|
|
255
|
+
if (event && typeof event === 'string' && isNotEmpty(rest)) {
|
|
256
|
+
response.send(event, rest, assigns);
|
|
257
|
+
}
|
|
258
|
+
if (broadcast && typeof broadcast === 'string' && isNotEmpty(rest) && 'broadcast' in response) {
|
|
259
|
+
response.broadcast(broadcast, rest);
|
|
260
|
+
}
|
|
261
|
+
if ('trackPresence' in response && presence) {
|
|
262
|
+
response.trackPresence(presence);
|
|
263
|
+
}
|
|
264
|
+
else if ('updatePresence' in response && updatePresence) {
|
|
265
|
+
response.updatePresence(updatePresence);
|
|
266
|
+
}
|
|
267
|
+
if (response.hasResponded) {
|
|
268
|
+
return;
|
|
269
|
+
}
|
|
270
|
+
if (accept) {
|
|
271
|
+
if (isNotEmpty(assigns)) {
|
|
272
|
+
response.accept(assigns);
|
|
273
|
+
}
|
|
274
|
+
else {
|
|
275
|
+
response.accept();
|
|
276
|
+
}
|
|
277
|
+
}
|
|
278
|
+
}
|
|
279
|
+
function manageError(error, response) {
|
|
280
|
+
if (response.hasResponded) {
|
|
281
|
+
return;
|
|
282
|
+
}
|
|
283
|
+
if (error instanceof common_1.HttpException) {
|
|
284
|
+
response.reject(error.message, error.getStatus());
|
|
285
|
+
}
|
|
286
|
+
if (error instanceof Error) {
|
|
287
|
+
response.reject(error.message, 500);
|
|
288
|
+
}
|
|
289
|
+
}
|
|
250
290
|
function manageConnectionHandlers(target) {
|
|
251
291
|
return manageHandlers(onConnectionHandlerKey, target);
|
|
252
292
|
}
|
|
@@ -469,6 +509,19 @@ function GetLeaveEvent() {
|
|
|
469
509
|
})(null);
|
|
470
510
|
}
|
|
471
511
|
exports.GetLeaveEvent = GetLeaveEvent;
|
|
512
|
+
function manageAction(req, res, instance, moduleRef, originalMethod, propertyKey, response) {
|
|
513
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
514
|
+
const context = new Context(req, res, instance, propertyKey);
|
|
515
|
+
const canProceed = yield resolveGuards(moduleRef, context);
|
|
516
|
+
if (canProceed) {
|
|
517
|
+
const data = yield originalMethod.apply(instance, resolveParameters(context));
|
|
518
|
+
manageResponse(data, response);
|
|
519
|
+
}
|
|
520
|
+
else {
|
|
521
|
+
response.reject('Unauthorized', 401);
|
|
522
|
+
}
|
|
523
|
+
});
|
|
524
|
+
}
|
|
472
525
|
function OnConnectionRequest() {
|
|
473
526
|
return (target, propertyKey, descriptor) => {
|
|
474
527
|
const originalMethod = descriptor.value;
|
|
@@ -481,33 +534,10 @@ function OnConnectionRequest() {
|
|
|
481
534
|
const res = {
|
|
482
535
|
connection: response,
|
|
483
536
|
};
|
|
484
|
-
|
|
485
|
-
const canProceed = yield resolveGuards(moduleRef, context);
|
|
486
|
-
if (canProceed) {
|
|
487
|
-
const data = yield originalMethod.apply(instance, resolveParameters(context));
|
|
488
|
-
if (!response.hasResponded) {
|
|
489
|
-
if (data) {
|
|
490
|
-
const { event, assigns } = data, rest = __rest(data, ["event", "assigns"]);
|
|
491
|
-
if (typeof event === 'string' && isNotEmpty(rest)) {
|
|
492
|
-
response.send(event, rest, assigns);
|
|
493
|
-
}
|
|
494
|
-
else {
|
|
495
|
-
response.accept(typeof assigns === 'object' ? assigns : {});
|
|
496
|
-
}
|
|
497
|
-
}
|
|
498
|
-
else {
|
|
499
|
-
response.accept();
|
|
500
|
-
}
|
|
501
|
-
}
|
|
502
|
-
}
|
|
503
|
-
else {
|
|
504
|
-
response.reject('Unauthorized', 401);
|
|
505
|
-
}
|
|
537
|
+
yield manageAction(req, res, instance, moduleRef, originalMethod, propertyKey, response);
|
|
506
538
|
}
|
|
507
539
|
catch (error) {
|
|
508
|
-
|
|
509
|
-
response.reject(error.message);
|
|
510
|
-
}
|
|
540
|
+
manageError(error, response);
|
|
511
541
|
}
|
|
512
542
|
}));
|
|
513
543
|
};
|
|
@@ -525,36 +555,10 @@ function OnJoinRequest() {
|
|
|
525
555
|
const res = {
|
|
526
556
|
joinResponse: response,
|
|
527
557
|
};
|
|
528
|
-
|
|
529
|
-
const canProceed = yield resolveGuards(moduleRef, context);
|
|
530
|
-
if (canProceed) {
|
|
531
|
-
const data = yield originalMethod.apply(instance, resolveParameters(context));
|
|
532
|
-
if (!response.hasResponded) {
|
|
533
|
-
if (data) {
|
|
534
|
-
const { event, presence, assigns } = data, rest = __rest(data, ["event", "presence", "assigns"]);
|
|
535
|
-
if (typeof event === 'string' && isNotEmpty(rest)) {
|
|
536
|
-
response.send(event, rest, assigns);
|
|
537
|
-
}
|
|
538
|
-
else {
|
|
539
|
-
response.accept(typeof assigns === 'object' ? assigns : {});
|
|
540
|
-
}
|
|
541
|
-
if (presence) {
|
|
542
|
-
response.trackPresence(presence);
|
|
543
|
-
}
|
|
544
|
-
}
|
|
545
|
-
else {
|
|
546
|
-
response.accept();
|
|
547
|
-
}
|
|
548
|
-
}
|
|
549
|
-
}
|
|
550
|
-
else {
|
|
551
|
-
response.reject('Unauthorized', 401);
|
|
552
|
-
}
|
|
558
|
+
yield manageAction(req, res, instance, moduleRef, originalMethod, propertyKey, response);
|
|
553
559
|
}
|
|
554
560
|
catch (error) {
|
|
555
|
-
|
|
556
|
-
response.reject(error.message);
|
|
557
|
-
}
|
|
561
|
+
manageError(error, response);
|
|
558
562
|
}
|
|
559
563
|
}));
|
|
560
564
|
};
|
|
@@ -572,39 +576,10 @@ function OnEvent(event = '*') {
|
|
|
572
576
|
const res = {
|
|
573
577
|
eventResponse: response,
|
|
574
578
|
};
|
|
575
|
-
|
|
576
|
-
const canProceed = yield resolveGuards(moduleRef, context);
|
|
577
|
-
if (canProceed) {
|
|
578
|
-
const data = yield originalMethod.apply(instance, resolveParameters(context));
|
|
579
|
-
if (!response.hasResponded) {
|
|
580
|
-
if (data) {
|
|
581
|
-
const { event, presence, updatePresence, assigns } = data, rest = __rest(data, ["event", "presence", "updatePresence", "assigns"]);
|
|
582
|
-
if (typeof event === 'string' && isNotEmpty(rest)) {
|
|
583
|
-
response.send(event, rest, assigns);
|
|
584
|
-
}
|
|
585
|
-
else {
|
|
586
|
-
response.accept(typeof assigns === 'object' ? assigns : {});
|
|
587
|
-
}
|
|
588
|
-
if (presence) {
|
|
589
|
-
response.trackPresence(presence);
|
|
590
|
-
}
|
|
591
|
-
else if (updatePresence) {
|
|
592
|
-
response.updatePresence(updatePresence);
|
|
593
|
-
}
|
|
594
|
-
}
|
|
595
|
-
else {
|
|
596
|
-
response.accept();
|
|
597
|
-
}
|
|
598
|
-
}
|
|
599
|
-
}
|
|
600
|
-
else {
|
|
601
|
-
response.reject('Unauthorized', 401);
|
|
602
|
-
}
|
|
579
|
+
yield manageAction(req, res, instance, moduleRef, originalMethod, propertyKey, response);
|
|
603
580
|
}
|
|
604
581
|
catch (error) {
|
|
605
|
-
|
|
606
|
-
response.reject(error.message);
|
|
607
|
-
}
|
|
582
|
+
manageError(error, response);
|
|
608
583
|
}
|
|
609
584
|
}));
|
|
610
585
|
};
|
|
@@ -615,17 +590,10 @@ function OnLeaveEvent() {
|
|
|
615
590
|
const originalMethod = descriptor.value;
|
|
616
591
|
const { set } = manageOnLeaveHandlers(target);
|
|
617
592
|
set('', (instance, _, event) => __awaiter(this, void 0, void 0, function* () {
|
|
618
|
-
|
|
619
|
-
|
|
620
|
-
|
|
621
|
-
|
|
622
|
-
yield originalMethod.apply(instance, resolveParameters(context));
|
|
623
|
-
}
|
|
624
|
-
catch (error) {
|
|
625
|
-
if (error instanceof Error) {
|
|
626
|
-
console.error(error.message);
|
|
627
|
-
}
|
|
628
|
-
}
|
|
593
|
+
const context = new Context({
|
|
594
|
+
leveeEvent: event,
|
|
595
|
+
}, {}, instance, propertyKey);
|
|
596
|
+
yield originalMethod.apply(instance, resolveParameters(context));
|
|
629
597
|
}));
|
|
630
598
|
};
|
|
631
599
|
}
|