@punks/backend-entity-manager 0.0.68 → 0.0.70
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/dist/cjs/index.js +58 -1
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/types/platforms/nest/__test__/server/app/auth/services/index.d.ts +4 -0
- package/dist/cjs/types/platforms/nest/__test__/server/entities/roles/role.query.d.ts +3 -2
- package/dist/cjs/types/platforms/nest/extensions/authentication/guards/index.d.ts +1 -0
- package/dist/cjs/types/platforms/nest/extensions/authentication/index.d.ts +1 -0
- package/dist/esm/index.js +60 -3
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/types/platforms/nest/__test__/server/app/auth/services/index.d.ts +4 -0
- package/dist/esm/types/platforms/nest/__test__/server/entities/roles/role.query.d.ts +3 -2
- package/dist/esm/types/platforms/nest/extensions/authentication/guards/index.d.ts +1 -0
- package/dist/esm/types/platforms/nest/extensions/authentication/index.d.ts +1 -0
- package/dist/index.d.ts +15 -3
- package/package.json +1 -1
- /package/dist/cjs/types/platforms/nest/{__test__/server/infrastructure/authentication/guards/auth-guard/index.d.ts → extensions/authentication/guards/auth.d.ts} +0 -0
- /package/dist/esm/types/platforms/nest/{__test__/server/infrastructure/authentication/guards/auth-guard/index.d.ts → extensions/authentication/guards/auth.d.ts} +0 -0
package/dist/cjs/index.js
CHANGED
|
@@ -5,6 +5,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
5
5
|
var backendCore = require('@punks/backend-core');
|
|
6
6
|
var common = require('@nestjs/common');
|
|
7
7
|
var swagger = require('@nestjs/swagger');
|
|
8
|
+
var core = require('@nestjs/core');
|
|
8
9
|
var async_hooks = require('async_hooks');
|
|
9
10
|
var bcrypt = require('bcrypt');
|
|
10
11
|
var constants = require('@nestjs/common/constants');
|
|
@@ -13,7 +14,6 @@ var metadataScanner = require('@nestjs/core/metadata-scanner');
|
|
|
13
14
|
var jwt = require('@nestjs/jwt');
|
|
14
15
|
var eventEmitter = require('@nestjs/event-emitter');
|
|
15
16
|
var typeorm = require('typeorm');
|
|
16
|
-
var core = require('@nestjs/core');
|
|
17
17
|
var clientSes = require('@aws-sdk/client-ses');
|
|
18
18
|
var require$$2 = require('fs');
|
|
19
19
|
var mail = require('@sendgrid/mail');
|
|
@@ -375,6 +375,59 @@ const AuthenticationEvents = {
|
|
|
375
375
|
UserPasswordResetCompleted: `${AUTHENTICATION_EVENTS_NAMESPACE}:user.passwordResetCompleted`,
|
|
376
376
|
};
|
|
377
377
|
|
|
378
|
+
exports.AuthGuard = class AuthGuard {
|
|
379
|
+
constructor(reflector) {
|
|
380
|
+
this.reflector = reflector;
|
|
381
|
+
}
|
|
382
|
+
canActivate(context) {
|
|
383
|
+
const isPublic = this.getIsPublic(context);
|
|
384
|
+
if (isPublic) {
|
|
385
|
+
return true;
|
|
386
|
+
}
|
|
387
|
+
const auth = this.getCurrentAuth(context);
|
|
388
|
+
const allowedRoles = this.getAllowedRoles(context);
|
|
389
|
+
if (allowedRoles) {
|
|
390
|
+
return this.isRoleMatching(allowedRoles, auth?.roles ?? []);
|
|
391
|
+
}
|
|
392
|
+
const isForAllAuthenticated = this.getIsForAllAuthenticated(context);
|
|
393
|
+
if (isForAllAuthenticated) {
|
|
394
|
+
return !!auth?.user;
|
|
395
|
+
}
|
|
396
|
+
return false;
|
|
397
|
+
}
|
|
398
|
+
isRoleMatching(allowedRoles, userRoles) {
|
|
399
|
+
return userRoles.some((role) => allowedRoles.includes(role.uid));
|
|
400
|
+
}
|
|
401
|
+
getIsForAllAuthenticated(context) {
|
|
402
|
+
return this.getMetadata(AuthenticationGuardsSymbols.Authenticated, context);
|
|
403
|
+
}
|
|
404
|
+
getIsPublic(context) {
|
|
405
|
+
return this.getMetadata(AuthenticationGuardsSymbols.Public, context);
|
|
406
|
+
}
|
|
407
|
+
getAllowedRoles(context) {
|
|
408
|
+
return this.getMetadata(AuthenticationGuardsSymbols.Roles, context);
|
|
409
|
+
}
|
|
410
|
+
getCurrentAuth(context) {
|
|
411
|
+
const request = context.switchToHttp()?.getRequest();
|
|
412
|
+
return request?.auth?.user
|
|
413
|
+
? {
|
|
414
|
+
user: request.auth.user,
|
|
415
|
+
roles: request.auth.roles,
|
|
416
|
+
}
|
|
417
|
+
: undefined;
|
|
418
|
+
}
|
|
419
|
+
getMetadata(symbol, context) {
|
|
420
|
+
return this.reflector.getAllAndOverride(symbol, [
|
|
421
|
+
context.getHandler(),
|
|
422
|
+
context.getClass(),
|
|
423
|
+
]);
|
|
424
|
+
}
|
|
425
|
+
};
|
|
426
|
+
exports.AuthGuard = __decorate([
|
|
427
|
+
common.Injectable(),
|
|
428
|
+
__metadata("design:paramtypes", [core.Reflector])
|
|
429
|
+
], exports.AuthGuard);
|
|
430
|
+
|
|
378
431
|
const asyncLocalStorage = new async_hooks.AsyncLocalStorage();
|
|
379
432
|
|
|
380
433
|
exports.AppSessionService = class AppSessionService {
|
|
@@ -20059,6 +20112,7 @@ const ModuleData$2 = {
|
|
|
20059
20112
|
providers: [
|
|
20060
20113
|
AuthenticationServicesResolver,
|
|
20061
20114
|
AuthenticationInitializer,
|
|
20115
|
+
exports.AuthGuard,
|
|
20062
20116
|
...Services$2,
|
|
20063
20117
|
...UserHandlers,
|
|
20064
20118
|
...AuthenticationProviders,
|
|
@@ -20349,6 +20403,9 @@ class NestTypeOrmEntitySeeder extends TypeOrmEntitySeeder {
|
|
|
20349
20403
|
|
|
20350
20404
|
class AppExceptionsFilterBase {
|
|
20351
20405
|
catch(exception, host) {
|
|
20406
|
+
if (exception instanceof common.HttpException) {
|
|
20407
|
+
return;
|
|
20408
|
+
}
|
|
20352
20409
|
const ctx = host.switchToHttp();
|
|
20353
20410
|
const response = ctx.getResponse();
|
|
20354
20411
|
const request = ctx.getRequest();
|