@punks/backend-entity-manager 0.0.68 → 0.0.69
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 +55 -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 +56 -2
- 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
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { AuthRolesService } from "./auth.roles.service";
|
|
2
|
+
import { AuthUserService } from "./auth.user.service";
|
|
3
|
+
import { AuthUserRolesService } from "./auth.userRoles.service";
|
|
4
|
+
export declare const AuthServices: (typeof AuthRolesService | typeof AuthUserService | typeof AuthUserRolesService)[];
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { FindOptionsWhere } from "typeorm";
|
|
1
|
+
import { FindOptionsRelations, FindOptionsWhere } from "typeorm";
|
|
2
2
|
import { IAuthenticationContext, EntityManagerRegistry, NestTypeOrmQueryBuilder } from "../../../../../..";
|
|
3
3
|
import { RoleEntity } from "../../database/core/entities/role.entity";
|
|
4
4
|
import { RoleFacets, RoleSearchParameters, RoleSorting } from "./role.models";
|
|
@@ -6,6 +6,7 @@ import { AppAuthContext } from "../../infrastructure/authentication/types";
|
|
|
6
6
|
export declare class RoleQueryBuilder extends NestTypeOrmQueryBuilder<RoleEntity, RoleSearchParameters, RoleSorting, RoleFacets, AppAuthContext> {
|
|
7
7
|
constructor(registry: EntityManagerRegistry);
|
|
8
8
|
protected buildContextFilter(context?: IAuthenticationContext<AppAuthContext> | undefined): FindOptionsWhere<RoleEntity> | FindOptionsWhere<RoleEntity>[];
|
|
9
|
-
protected buildWhereClause(request: RoleSearchParameters): FindOptionsWhere<RoleEntity> | FindOptionsWhere<RoleEntity>[];
|
|
9
|
+
protected buildWhereClause(request: RoleSearchParameters, context?: IAuthenticationContext<AppAuthContext> | undefined): FindOptionsWhere<RoleEntity> | FindOptionsWhere<RoleEntity>[];
|
|
10
10
|
protected calculateFacets(request: RoleSearchParameters): Promise<RoleFacets | undefined>;
|
|
11
|
+
protected getRelationsToLoad(request: RoleSearchParameters, context?: IAuthenticationContext<AppAuthContext> | undefined): FindOptionsRelations<RoleEntity> | undefined;
|
|
11
12
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { AuthGuard } from "./auth";
|
package/dist/esm/index.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { Log, sort, byField, toDict, newUuid as newUuid$1, removeUndefinedProps } from '@punks/backend-core';
|
|
2
2
|
import { applyDecorators, Injectable, SetMetadata, Global, Module, Scope, Logger, HttpStatus, HttpException } from '@nestjs/common';
|
|
3
3
|
import { ApiProperty } from '@nestjs/swagger';
|
|
4
|
+
import { Reflector } from '@nestjs/core';
|
|
4
5
|
import { AsyncLocalStorage } from 'async_hooks';
|
|
5
6
|
import { hash } from 'bcrypt';
|
|
6
7
|
import { PATH_METADATA } from '@nestjs/common/constants';
|
|
@@ -9,7 +10,6 @@ import { MetadataScanner } from '@nestjs/core/metadata-scanner';
|
|
|
9
10
|
import { JwtService, JwtModule } from '@nestjs/jwt';
|
|
10
11
|
import { EventEmitter2, EventEmitterModule } from '@nestjs/event-emitter';
|
|
11
12
|
import { In } from 'typeorm';
|
|
12
|
-
import { Reflector } from '@nestjs/core';
|
|
13
13
|
import { SendEmailCommand, SESClient } from '@aws-sdk/client-ses';
|
|
14
14
|
import require$$2 from 'fs';
|
|
15
15
|
import { MailService } from '@sendgrid/mail';
|
|
@@ -367,6 +367,59 @@ const AuthenticationEvents = {
|
|
|
367
367
|
UserPasswordResetCompleted: `${AUTHENTICATION_EVENTS_NAMESPACE}:user.passwordResetCompleted`,
|
|
368
368
|
};
|
|
369
369
|
|
|
370
|
+
let AuthGuard = class AuthGuard {
|
|
371
|
+
constructor(reflector) {
|
|
372
|
+
this.reflector = reflector;
|
|
373
|
+
}
|
|
374
|
+
canActivate(context) {
|
|
375
|
+
const isPublic = this.getIsPublic(context);
|
|
376
|
+
if (isPublic) {
|
|
377
|
+
return true;
|
|
378
|
+
}
|
|
379
|
+
const auth = this.getCurrentAuth(context);
|
|
380
|
+
const allowedRoles = this.getAllowedRoles(context);
|
|
381
|
+
if (allowedRoles) {
|
|
382
|
+
return this.isRoleMatching(allowedRoles, auth?.roles ?? []);
|
|
383
|
+
}
|
|
384
|
+
const isForAllAuthenticated = this.getIsForAllAuthenticated(context);
|
|
385
|
+
if (isForAllAuthenticated) {
|
|
386
|
+
return !!auth?.user;
|
|
387
|
+
}
|
|
388
|
+
return false;
|
|
389
|
+
}
|
|
390
|
+
isRoleMatching(allowedRoles, userRoles) {
|
|
391
|
+
return userRoles.some((role) => allowedRoles.includes(role.uid));
|
|
392
|
+
}
|
|
393
|
+
getIsForAllAuthenticated(context) {
|
|
394
|
+
return this.getMetadata(AuthenticationGuardsSymbols.Authenticated, context);
|
|
395
|
+
}
|
|
396
|
+
getIsPublic(context) {
|
|
397
|
+
return this.getMetadata(AuthenticationGuardsSymbols.Public, context);
|
|
398
|
+
}
|
|
399
|
+
getAllowedRoles(context) {
|
|
400
|
+
return this.getMetadata(AuthenticationGuardsSymbols.Roles, context);
|
|
401
|
+
}
|
|
402
|
+
getCurrentAuth(context) {
|
|
403
|
+
const request = context.switchToHttp()?.getRequest();
|
|
404
|
+
return request?.auth?.user
|
|
405
|
+
? {
|
|
406
|
+
user: request.auth.user,
|
|
407
|
+
roles: request.auth.roles,
|
|
408
|
+
}
|
|
409
|
+
: undefined;
|
|
410
|
+
}
|
|
411
|
+
getMetadata(symbol, context) {
|
|
412
|
+
return this.reflector.getAllAndOverride(symbol, [
|
|
413
|
+
context.getHandler(),
|
|
414
|
+
context.getClass(),
|
|
415
|
+
]);
|
|
416
|
+
}
|
|
417
|
+
};
|
|
418
|
+
AuthGuard = __decorate([
|
|
419
|
+
Injectable(),
|
|
420
|
+
__metadata("design:paramtypes", [Reflector])
|
|
421
|
+
], AuthGuard);
|
|
422
|
+
|
|
370
423
|
const asyncLocalStorage = new AsyncLocalStorage();
|
|
371
424
|
|
|
372
425
|
let AppSessionService = class AppSessionService {
|
|
@@ -20051,6 +20104,7 @@ const ModuleData$2 = {
|
|
|
20051
20104
|
providers: [
|
|
20052
20105
|
AuthenticationServicesResolver,
|
|
20053
20106
|
AuthenticationInitializer,
|
|
20107
|
+
AuthGuard,
|
|
20054
20108
|
...Services$2,
|
|
20055
20109
|
...UserHandlers,
|
|
20056
20110
|
...AuthenticationProviders,
|
|
@@ -25590,5 +25644,5 @@ SendgridEmailModule = SendgridEmailModule_1 = __decorate([
|
|
|
25590
25644
|
})
|
|
25591
25645
|
], SendgridEmailModule);
|
|
25592
25646
|
|
|
25593
|
-
export { AUTHENTICATION_EVENTS_NAMESPACE, AppExceptionsFilterBase, AppHashingService, AppInMemorySettings, AppSessionMiddleware, AppSessionService, Authenticated, AuthenticationEmailTemplates, AuthenticationError, AuthenticationEvents, AuthenticationExtensionSymbols, AuthenticationModule, AuthenticationService, AwsEmailModule, AwsSesEmailTemplate, BooleanFacet, BooleanFacetItem, EmailService, EntityManagerConfigurationError, EntityManagerException, EntityManagerInitializer, EntityManagerModule, EntityManagerRegistry, EntityManagerService, EntityManagerSymbols, EntityManagerUnauthorizedException, EntityNotFoundException, EntityOperationType, EntityOperationUnauthorizedException, EntitySeeder, EventsService, InvalidCredentialsError, MemberOf, ModulesContainerProvider, MultiTenancyModule, MultipleEntitiesFoundException, NestEntityActions, NestEntityAuthorizationMiddleware, NestEntityManager, NestTypeOrmEntitySeeder, NestTypeOrmQueryBuilder, NestTypeOrmRepository, NumericFacet, NumericFacetItem, OperationTokenMismatchError, PLATFORM_EVENT_NAMESPACE, PlatformEvents, Public, QueryBuilderBase, ReplicationMode, Roles, SendgridEmailModule, SendgridEmailTemplate, SortDirection, StringFacet, StringFacetItem, TrackingService, UserRegistrationError, WpAppInitializer, WpAwsSesEmailTemplate, WpEmailTemplate, WpEntity, WpEntityActions, WpEntityAdapter, WpEntityAuthMiddleware, WpEntityConnector, WpEntityConverter, WpEntityManager, WpEntityQueryBuilder, WpEntityRepository, WpEntitySeeder, WpEventsTracker, WpRolesService, WpSendgridEmailTemplate, WpUserRolesService, WpUserService, getLocalizedText, newUuid, renderHandlebarsTemplate };
|
|
25647
|
+
export { AUTHENTICATION_EVENTS_NAMESPACE, AppExceptionsFilterBase, AppHashingService, AppInMemorySettings, AppSessionMiddleware, AppSessionService, AuthGuard, Authenticated, AuthenticationEmailTemplates, AuthenticationError, AuthenticationEvents, AuthenticationExtensionSymbols, AuthenticationModule, AuthenticationService, AwsEmailModule, AwsSesEmailTemplate, BooleanFacet, BooleanFacetItem, EmailService, EntityManagerConfigurationError, EntityManagerException, EntityManagerInitializer, EntityManagerModule, EntityManagerRegistry, EntityManagerService, EntityManagerSymbols, EntityManagerUnauthorizedException, EntityNotFoundException, EntityOperationType, EntityOperationUnauthorizedException, EntitySeeder, EventsService, InvalidCredentialsError, MemberOf, ModulesContainerProvider, MultiTenancyModule, MultipleEntitiesFoundException, NestEntityActions, NestEntityAuthorizationMiddleware, NestEntityManager, NestTypeOrmEntitySeeder, NestTypeOrmQueryBuilder, NestTypeOrmRepository, NumericFacet, NumericFacetItem, OperationTokenMismatchError, PLATFORM_EVENT_NAMESPACE, PlatformEvents, Public, QueryBuilderBase, ReplicationMode, Roles, SendgridEmailModule, SendgridEmailTemplate, SortDirection, StringFacet, StringFacetItem, TrackingService, UserRegistrationError, WpAppInitializer, WpAwsSesEmailTemplate, WpEmailTemplate, WpEntity, WpEntityActions, WpEntityAdapter, WpEntityAuthMiddleware, WpEntityConnector, WpEntityConverter, WpEntityManager, WpEntityQueryBuilder, WpEntityRepository, WpEntitySeeder, WpEventsTracker, WpRolesService, WpSendgridEmailTemplate, WpUserRolesService, WpUserService, getLocalizedText, newUuid, renderHandlebarsTemplate };
|
|
25594
25648
|
//# sourceMappingURL=index.js.map
|