@punks/backend-entity-manager 0.0.185 → 0.0.188
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 +91 -1
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/types/abstractions/cache.d.ts +21 -0
- package/dist/cjs/types/abstractions/index.d.ts +1 -0
- package/dist/cjs/types/integrations/cache/index.d.ts +1 -0
- package/dist/cjs/types/integrations/cache/typeorm/index.d.ts +2 -0
- package/dist/cjs/types/integrations/cache/typeorm/instance.d.ts +21 -0
- package/dist/cjs/types/integrations/cache/typeorm/types.d.ts +9 -0
- package/dist/cjs/types/integrations/index.d.ts +1 -0
- package/dist/cjs/types/platforms/nest/__test__/server/database/core/entities/appCacheEntry.entity.d.ts +9 -0
- package/dist/cjs/types/platforms/nest/__test__/server/database/core/entities.d.ts +2 -1
- package/dist/cjs/types/platforms/nest/__test__/server/database/core/index.d.ts +4 -0
- package/dist/cjs/types/platforms/nest/__test__/server/infrastructure/cache/module.d.ts +2 -0
- package/dist/cjs/types/platforms/nest/__test__/server/infrastructure/cache/providers/default-instance/index.d.ts +6 -0
- package/dist/cjs/types/platforms/nest/__test__/server/infrastructure/cache/providers/index.d.ts +2 -0
- package/dist/cjs/types/platforms/nest/__test__/tests/caching/caching.test.d.ts +1 -0
- package/dist/cjs/types/platforms/nest/decorators/cache.d.ts +4 -0
- package/dist/cjs/types/platforms/nest/decorators/index.d.ts +1 -0
- package/dist/cjs/types/platforms/nest/decorators/symbols.d.ts +1 -0
- package/dist/cjs/types/platforms/nest/extensions/authentication/handlers/handlers.d.ts +2 -1
- package/dist/cjs/types/platforms/nest/extensions/authentication/handlers/user-impersonate/index.d.ts +12 -0
- package/dist/cjs/types/platforms/nest/extensions/authentication/handlers/user-impersonate/types.d.ts +8 -0
- package/dist/cjs/types/platforms/nest/extensions/authentication/services/authentication/index.d.ts +5 -1
- package/dist/cjs/types/platforms/nest/processors/initializer/index.d.ts +2 -0
- package/dist/cjs/types/platforms/nest/services/cache/index.d.ts +7 -0
- package/dist/cjs/types/platforms/nest/services/index.d.ts +1 -0
- package/dist/cjs/types/platforms/nest/services/providers.d.ts +2 -1
- package/dist/cjs/types/providers/services.d.ts +4 -1
- package/dist/cjs/types/symbols/ioc.d.ts +1 -0
- package/dist/esm/index.js +91 -2
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/types/abstractions/cache.d.ts +21 -0
- package/dist/esm/types/abstractions/index.d.ts +1 -0
- package/dist/esm/types/integrations/cache/index.d.ts +1 -0
- package/dist/esm/types/integrations/cache/typeorm/index.d.ts +2 -0
- package/dist/esm/types/integrations/cache/typeorm/instance.d.ts +21 -0
- package/dist/esm/types/integrations/cache/typeorm/types.d.ts +9 -0
- package/dist/esm/types/integrations/index.d.ts +1 -0
- package/dist/esm/types/platforms/nest/__test__/server/database/core/entities/appCacheEntry.entity.d.ts +9 -0
- package/dist/esm/types/platforms/nest/__test__/server/database/core/entities.d.ts +2 -1
- package/dist/esm/types/platforms/nest/__test__/server/database/core/index.d.ts +4 -0
- package/dist/esm/types/platforms/nest/__test__/server/infrastructure/cache/module.d.ts +2 -0
- package/dist/esm/types/platforms/nest/__test__/server/infrastructure/cache/providers/default-instance/index.d.ts +6 -0
- package/dist/esm/types/platforms/nest/__test__/server/infrastructure/cache/providers/index.d.ts +2 -0
- package/dist/esm/types/platforms/nest/__test__/tests/caching/caching.test.d.ts +1 -0
- package/dist/esm/types/platforms/nest/decorators/cache.d.ts +4 -0
- package/dist/esm/types/platforms/nest/decorators/index.d.ts +1 -0
- package/dist/esm/types/platforms/nest/decorators/symbols.d.ts +1 -0
- package/dist/esm/types/platforms/nest/extensions/authentication/handlers/handlers.d.ts +2 -1
- package/dist/esm/types/platforms/nest/extensions/authentication/handlers/user-impersonate/index.d.ts +12 -0
- package/dist/esm/types/platforms/nest/extensions/authentication/handlers/user-impersonate/types.d.ts +8 -0
- package/dist/esm/types/platforms/nest/extensions/authentication/services/authentication/index.d.ts +5 -1
- package/dist/esm/types/platforms/nest/processors/initializer/index.d.ts +2 -0
- package/dist/esm/types/platforms/nest/services/cache/index.d.ts +7 -0
- package/dist/esm/types/platforms/nest/services/index.d.ts +1 -0
- package/dist/esm/types/platforms/nest/services/providers.d.ts +2 -1
- package/dist/esm/types/providers/services.d.ts +4 -1
- package/dist/esm/types/symbols/ioc.d.ts +1 -0
- package/dist/index.d.ts +61 -2
- package/package.json +3 -3
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
export type CacheTtl = {
|
|
2
|
+
value: number;
|
|
3
|
+
unit: "years" | "months" | "days" | "hours" | "minutes" | "seconds";
|
|
4
|
+
};
|
|
5
|
+
export interface ICacheInstance {
|
|
6
|
+
getAll<T>(): Promise<T[]>;
|
|
7
|
+
get<T>(key: string): Promise<T | undefined>;
|
|
8
|
+
set<T>(key: string, input: {
|
|
9
|
+
value: T;
|
|
10
|
+
ttl: CacheTtl;
|
|
11
|
+
}): Promise<void>;
|
|
12
|
+
retrieve<T>(key: string, input: {
|
|
13
|
+
ttl: CacheTtl;
|
|
14
|
+
valueFactory: () => Promise<T>;
|
|
15
|
+
}): Promise<T>;
|
|
16
|
+
delete(key: string): Promise<void>;
|
|
17
|
+
clear(): Promise<void>;
|
|
18
|
+
}
|
|
19
|
+
export interface ICache {
|
|
20
|
+
getInstance(instanceName: string): Promise<ICacheInstance>;
|
|
21
|
+
}
|
|
@@ -2,6 +2,7 @@ export { IEntityCreateAction, IEntityDeleteAction, IEntityGetAction, IEntityUpda
|
|
|
2
2
|
export { IEntityAdapter } from "./adapters";
|
|
3
3
|
export * from "./authentication";
|
|
4
4
|
export * from "./buckets";
|
|
5
|
+
export * from "./cache";
|
|
5
6
|
export { IAuthorizationResult, IEntityAuthorizationMiddleware, } from "./authorization";
|
|
6
7
|
export { IEntityCreateCommand, IEntityUpdateCommand, IEntityUpsertCommand, IEntityDeleteCommand, IEntityVersionCommand, IEntitiesImportCommand, IEntitiesExportCommand, IEntitiesDeleteParameters, IEntitiesDeleteCommand, IEntitiesDeleteResult, IEntitiesSampleDownloadCommand, } from "./commands";
|
|
7
8
|
export { SortingType, ClassType, EnumType } from "./common";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "./typeorm";
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { Repository } from "typeorm";
|
|
2
|
+
import { CacheTtl, ICacheInstance } from "../../../abstractions";
|
|
3
|
+
import { ICacheDatabaseItem } from "./types";
|
|
4
|
+
export declare class TypeormCacheInstance<TEntity extends ICacheDatabaseItem> implements ICacheInstance {
|
|
5
|
+
protected readonly repository: Repository<TEntity>;
|
|
6
|
+
protected readonly instanceName: string;
|
|
7
|
+
private readonly logger;
|
|
8
|
+
constructor(repository: Repository<TEntity>, instanceName: string);
|
|
9
|
+
retrieve<T>(key: string, input: {
|
|
10
|
+
ttl: CacheTtl;
|
|
11
|
+
valueFactory: () => Promise<T>;
|
|
12
|
+
}): Promise<T>;
|
|
13
|
+
getAll<T>(): Promise<T[]>;
|
|
14
|
+
get<T>(key: string): Promise<T | undefined>;
|
|
15
|
+
set<T>(key: string, { ttl, value }: {
|
|
16
|
+
value: T;
|
|
17
|
+
ttl: CacheTtl;
|
|
18
|
+
}): Promise<void>;
|
|
19
|
+
delete(key: string): Promise<void>;
|
|
20
|
+
clear(): Promise<void>;
|
|
21
|
+
}
|
|
@@ -19,4 +19,5 @@ import { AppOrganizationalUnitEntity } from "./entities/appOrganizationalUnit.en
|
|
|
19
19
|
import { AppOrganizationalUnitTypeEntity } from "./entities/appOrganizationalUnitType.entity";
|
|
20
20
|
import { AppOrganizationalUnitTypeChildEntity } from "./entities/appOrganizationalUnitTypeChild.entity";
|
|
21
21
|
import { AppRoleOrganizationalUnitTypeEntity } from "./entities/appRoleOrganizationalUnitType.entity";
|
|
22
|
-
|
|
22
|
+
import { AppCacheEntry } from "./entities/appCacheEntry.entity";
|
|
23
|
+
export declare const CoreDatabaseEntities: (typeof AppUserProfileEntity | typeof AppRoleEntity | typeof AppUserRoleEntity | typeof AppUserEntity | typeof AppUserGroupEntity | typeof AppOrganizationEntity | typeof AppUserGroupMemberEntity | typeof AppDirectoryEntity | typeof AppTenantEntity | typeof AppOrganizationalUnitTypeChildEntity | typeof AppOrganizationalUnitTypeEntity | typeof AppRoleOrganizationalUnitTypeEntity | typeof AppOrganizationalUnitEntity | typeof AppCompanyEntity | typeof AppDivisionEntity | typeof AppEmailLogEntity | typeof AppEntityVersionEntity | typeof AppFileReferenceEntity | typeof AppRolePermissionEntity | typeof AppPermissionEntity | typeof FooEntity | typeof AppCacheEntry)[];
|
|
@@ -22,7 +22,11 @@ import { AppOrganizationalUnitEntity } from "./entities/appOrganizationalUnit.en
|
|
|
22
22
|
import { AppOrganizationalUnitTypeEntity } from "./entities/appOrganizationalUnitType.entity";
|
|
23
23
|
import { AppOrganizationalUnitTypeChildEntity } from "./entities/appOrganizationalUnitTypeChild.entity";
|
|
24
24
|
import { AppRoleOrganizationalUnitTypeEntity } from "./entities/appRoleOrganizationalUnitType.entity";
|
|
25
|
+
import { AppCacheEntry } from "./entities/appCacheEntry.entity";
|
|
25
26
|
export declare const mockDatabaseProviders: (dataSource: DataSource) => ({
|
|
27
|
+
provide: string | Function;
|
|
28
|
+
useValue: import("typeorm").Repository<AppCacheEntry>;
|
|
29
|
+
} | {
|
|
26
30
|
provide: string | Function;
|
|
27
31
|
useValue: import("typeorm").Repository<AppCompanyEntity>;
|
|
28
32
|
} | {
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { TypeormCacheInstance } from "../../../../../../../../integrations";
|
|
2
|
+
import { AppCacheEntry } from "../../../../database/core/entities/appCacheEntry.entity";
|
|
3
|
+
import { Repository } from "typeorm";
|
|
4
|
+
export declare class DefaultCacheInstance extends TypeormCacheInstance<AppCacheEntry> {
|
|
5
|
+
constructor(repository: Repository<AppCacheEntry>);
|
|
6
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export interface CacheInstanceProps {
|
|
2
|
+
instanceName: string;
|
|
3
|
+
}
|
|
4
|
+
export declare const WpCacheInstance: (instanceName: string) => <TFunction extends Function, Y>(target: object | TFunction, propertyKey?: string | symbol | undefined, descriptor?: TypedPropertyDescriptor<Y> | undefined) => void;
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
export { WpEntityAuthMiddleware, EntityAuthMiddlewareProps, } from "./authorization";
|
|
2
2
|
export { WpBucketProvider, BucketProviderProps } from "./bucket";
|
|
3
|
+
export { WpCacheInstance, CacheInstanceProps } from "./cache";
|
|
3
4
|
export { WpEntityActions, EntityActionsProps } from "./actions";
|
|
4
5
|
export { WpEntityAdapter, EntityAdapterProps } from "./adapter";
|
|
5
6
|
export { WpEntityConnector, EntityConnectorProps } from "./connector";
|
|
@@ -2,6 +2,7 @@ import { UserCreationHandler } from "./user-create";
|
|
|
2
2
|
import { UserDeleteHandler } from "./user-delete";
|
|
3
3
|
import { UserDisableHandler } from "./user-disable";
|
|
4
4
|
import { UserEnableHandler } from "./user-enable";
|
|
5
|
+
import { UserImpersonateHandler } from "./user-impersonate";
|
|
5
6
|
import { UserLoginHandler } from "./user-login";
|
|
6
7
|
import { UserPasswordChangeHandler } from "./user-password-change";
|
|
7
8
|
import { UserPasswordResetCompleteHandler } from "./user-password-reset-complete";
|
|
@@ -10,4 +11,4 @@ import { UserRegistrationHandler } from "./user-register";
|
|
|
10
11
|
import { UserTokenVerifyHandler } from "./user-token-verify";
|
|
11
12
|
import { UserVerifyCompleteHandler } from "./user-verify-complete";
|
|
12
13
|
import { UserVerifyRequestHandler } from "./user-verify-request";
|
|
13
|
-
export declare const UserHandlers: (typeof UserRegistrationHandler | typeof UserDisableHandler | typeof UserEnableHandler | typeof UserLoginHandler | typeof UserPasswordChangeHandler | typeof UserPasswordResetCompleteHandler | typeof UserPasswordResetRequestHandler | typeof UserVerifyCompleteHandler | typeof UserTokenVerifyHandler | typeof UserVerifyRequestHandler | typeof UserCreationHandler | typeof UserDeleteHandler)[];
|
|
14
|
+
export declare const UserHandlers: (typeof UserRegistrationHandler | typeof UserDisableHandler | typeof UserEnableHandler | typeof UserLoginHandler | typeof UserPasswordChangeHandler | typeof UserPasswordResetCompleteHandler | typeof UserPasswordResetRequestHandler | typeof UserVerifyCompleteHandler | typeof UserTokenVerifyHandler | typeof UserVerifyRequestHandler | typeof UserCreationHandler | typeof UserDeleteHandler | typeof UserImpersonateHandler)[];
|
package/dist/cjs/types/platforms/nest/extensions/authentication/handlers/user-impersonate/index.d.ts
ADDED
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { AuthenticationServicesResolver } from "../../resolver";
|
|
2
|
+
import { JwtProvider } from "../../providers/jwt";
|
|
3
|
+
import { IAuthUserContext } from "../../abstractions";
|
|
4
|
+
import { UserImpersonateInput, UserImpersonateResult } from "./types";
|
|
5
|
+
export declare class UserImpersonateHandler {
|
|
6
|
+
private readonly services;
|
|
7
|
+
private readonly jwtProvider;
|
|
8
|
+
constructor(services: AuthenticationServicesResolver, jwtProvider: JwtProvider);
|
|
9
|
+
execute<TUserContext extends IAuthUserContext>(input: UserImpersonateInput<TUserContext>): Promise<UserImpersonateResult>;
|
|
10
|
+
private generateUserJwtToken;
|
|
11
|
+
private resolveUser;
|
|
12
|
+
}
|
package/dist/cjs/types/platforms/nest/extensions/authentication/services/authentication/index.d.ts
CHANGED
|
@@ -23,11 +23,14 @@ import { AuthenticationServicesResolver } from "../../resolver";
|
|
|
23
23
|
import { UserCreationHandler } from "../../handlers/user-create";
|
|
24
24
|
import { UserCreationInput, UserDeleteInput } from "../../handlers";
|
|
25
25
|
import { UserDeleteHandler } from "../../handlers/user-delete";
|
|
26
|
+
import { UserImpersonateHandler } from "../../handlers/user-impersonate";
|
|
27
|
+
import { UserImpersonateInput, UserImpersonateResult } from "../../handlers/user-impersonate/types";
|
|
26
28
|
export declare class AuthenticationService implements IAuthService {
|
|
27
29
|
private readonly userCreationHandler;
|
|
28
30
|
private readonly userDisableHandler;
|
|
29
31
|
private readonly userDeleteHandler;
|
|
30
32
|
private readonly userEnableHandler;
|
|
33
|
+
private readonly userImpersonateHandler;
|
|
31
34
|
private readonly userLoginHandler;
|
|
32
35
|
private readonly userPasswordChangeHandler;
|
|
33
36
|
private readonly userPasswordResetFinalizeHandler;
|
|
@@ -37,11 +40,12 @@ export declare class AuthenticationService implements IAuthService {
|
|
|
37
40
|
private readonly userVerifyRequestHandler;
|
|
38
41
|
private readonly userVerifyCompleteHandler;
|
|
39
42
|
private readonly resolver;
|
|
40
|
-
constructor(userCreationHandler: UserCreationHandler, userDisableHandler: UserDisableHandler, userDeleteHandler: UserDeleteHandler, userEnableHandler: UserEnableHandler, userLoginHandler: UserLoginHandler, userPasswordChangeHandler: UserPasswordChangeHandler, userPasswordResetFinalizeHandler: UserPasswordResetCompleteHandler, userPasswordResetRequestHandler: UserPasswordResetRequestHandler, userRegistrationHandler: UserRegistrationHandler, userTokenVerifyHandler: UserTokenVerifyHandler, userVerifyRequestHandler: UserVerifyRequestHandler, userVerifyCompleteHandler: UserVerifyCompleteHandler, resolver: AuthenticationServicesResolver);
|
|
43
|
+
constructor(userCreationHandler: UserCreationHandler, userDisableHandler: UserDisableHandler, userDeleteHandler: UserDeleteHandler, userEnableHandler: UserEnableHandler, userImpersonateHandler: UserImpersonateHandler, userLoginHandler: UserLoginHandler, userPasswordChangeHandler: UserPasswordChangeHandler, userPasswordResetFinalizeHandler: UserPasswordResetCompleteHandler, userPasswordResetRequestHandler: UserPasswordResetRequestHandler, userRegistrationHandler: UserRegistrationHandler, userTokenVerifyHandler: UserTokenVerifyHandler, userVerifyRequestHandler: UserVerifyRequestHandler, userVerifyCompleteHandler: UserVerifyCompleteHandler, resolver: AuthenticationServicesResolver);
|
|
41
44
|
userCreate<TUserRegistrationInfo, TUserContext extends IAuthUserContext>(input: UserCreationInput<TUserRegistrationInfo, TUserContext>): Promise<import("../../handlers").UserCreationResult>;
|
|
42
45
|
userDisable(input: UserDisableInput): Promise<void>;
|
|
43
46
|
userDelete(input: UserDeleteInput): Promise<void>;
|
|
44
47
|
userEnable(input: UserEnableInput): Promise<void>;
|
|
48
|
+
userImpersonate<TUserContext extends IAuthUserContext>(input: UserImpersonateInput<TUserContext>): Promise<UserImpersonateResult>;
|
|
45
49
|
userLogin<TUserContext extends IAuthUserContext>(input: UserLoginInput<TUserContext>): Promise<UserLoginResult>;
|
|
46
50
|
userPasswordChange(input: UserPasswordChangeInput): Promise<void>;
|
|
47
51
|
userPasswordResetFinalize(input: UserPasswordResetCompleteInput): Promise<void>;
|
|
@@ -22,6 +22,7 @@ export declare class EntityManagerInitializer {
|
|
|
22
22
|
private executeSeeders;
|
|
23
23
|
private registerFileProviders;
|
|
24
24
|
private registerBucketProviders;
|
|
25
|
+
private registerCacheInstances;
|
|
25
26
|
private registerFilesReferenceRepositoryProviders;
|
|
26
27
|
private registerEventTrackingProviders;
|
|
27
28
|
private registerEmailLogger;
|
|
@@ -46,6 +47,7 @@ export declare class EntityManagerInitializer {
|
|
|
46
47
|
private discoverEventTrackingProviders;
|
|
47
48
|
private discoverEmailLogger;
|
|
48
49
|
private discoverBucketProviders;
|
|
50
|
+
private discoverCacheInstances;
|
|
49
51
|
private discoverFileProviders;
|
|
50
52
|
private discoverFilesReferenceRepositoryProviders;
|
|
51
53
|
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { EntityManagerRegistry } from "../../ioc";
|
|
2
|
+
export declare class CacheService {
|
|
3
|
+
private readonly registry;
|
|
4
|
+
constructor(registry: EntityManagerRegistry);
|
|
5
|
+
getInstance(instanceName: string): import("../../../..").ICacheInstance;
|
|
6
|
+
getInstances(): import("../../../..").ICacheInstance[];
|
|
7
|
+
}
|
|
@@ -2,6 +2,7 @@ export { AppSessionService } from "./session";
|
|
|
2
2
|
export { AppHashingService } from "./hashing";
|
|
3
3
|
export { EntityManagerService } from "./manager";
|
|
4
4
|
export { EmailService } from "./email";
|
|
5
|
+
export { CacheService } from "./cache";
|
|
5
6
|
export { FilesService } from "./files";
|
|
6
7
|
export { EventsService } from "./events";
|
|
7
8
|
export { TrackingService } from "./tracking";
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { CacheService } from "./cache";
|
|
1
2
|
import { EmailService } from "./email";
|
|
2
3
|
import { EventsService } from "./events";
|
|
3
4
|
import { FilesService } from "./files";
|
|
@@ -5,4 +6,4 @@ import { AppHashingService } from "./hashing";
|
|
|
5
6
|
import { EntityManagerService } from "./manager";
|
|
6
7
|
import { AppSessionService } from "./session";
|
|
7
8
|
import { TrackingService } from "./tracking";
|
|
8
|
-
export declare const Services: (typeof AppSessionService | typeof AppHashingService | typeof EntityManagerService | typeof EmailService | typeof FilesService | typeof EventsService | typeof TrackingService)[];
|
|
9
|
+
export declare const Services: (typeof AppSessionService | typeof AppHashingService | typeof EntityManagerService | typeof EmailService | typeof CacheService | typeof FilesService | typeof EventsService | typeof TrackingService)[];
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { IAuthenticationContext, IAuthenticationContextProvider, IBucketProvider, IEmailLogger, IEmailProvider, IEmailTemplatesCollection, IEntityFacets, IEntitySerializer, IEntitySnapshotService, IEntityVersioningProvider, IEventLog, IEventsTracker, IFileProvider, IFilesReferenceRepository } from "../abstractions";
|
|
1
|
+
import { IAuthenticationContext, IAuthenticationContextProvider, IBucketProvider, ICacheInstance, IEmailLogger, IEmailProvider, IEmailTemplatesCollection, IEntityFacets, IEntitySerializer, IEntitySnapshotService, IEntityVersioningProvider, IEventLog, IEventsTracker, IFileProvider, IFilesReferenceRepository } from "../abstractions";
|
|
2
2
|
import { IEntitiesCountAction, IEntitiesDeleteAction, IEntitiesExportAction, IEntitiesImportAction, IEntitiesSampleDownloadAction, IEntitiesSearchAction, IEntityActions, IEntityCreateAction, IEntityDeleteAction, IEntityExistsAction, IEntityGetAction, IEntityUpdateAction, IEntityUpsertAction, IEntityVersionsSearchAction } from "../abstractions/actions";
|
|
3
3
|
import { IEntityAdapter } from "../abstractions/adapters";
|
|
4
4
|
import { IEntityAuthorizationMiddleware } from "../abstractions/authorization";
|
|
@@ -83,6 +83,9 @@ export declare class EntitiesServiceLocator {
|
|
|
83
83
|
registerEntityVersioningProvider<TEntityVersioningProvider extends IEntityVersioningProvider>(instance: TEntityVersioningProvider): void;
|
|
84
84
|
resolveDefaultBucketProvider<TBucketProvider extends IBucketProvider>(): TBucketProvider;
|
|
85
85
|
resolveDefaultFilesProvider<TFileProvider extends IFileProvider>(): TFileProvider;
|
|
86
|
+
resolveCacheInstance<TCacheInstance extends ICacheInstance>(name: string): TCacheInstance;
|
|
87
|
+
resolveCacheInstances<TCacheInstance extends ICacheInstance>(): TCacheInstance[];
|
|
88
|
+
registerCacheInstance<TCacheInstance extends ICacheInstance>(name: string, instance: TCacheInstance): this;
|
|
86
89
|
resolveBucketProviders<TBucketProvider extends IFileProvider>(): TBucketProvider[];
|
|
87
90
|
registerBucketProvider<TBucketProvider extends IBucketProvider>(name: string, instance: TBucketProvider): this;
|
|
88
91
|
resolveFileProvider<TFileProvider extends IFileProvider>(providerId: string): TFileProvider;
|
package/dist/esm/index.js
CHANGED
|
@@ -1178,6 +1178,7 @@ const GlobalServices = {
|
|
|
1178
1178
|
IPipelineController: "IPipelineController",
|
|
1179
1179
|
},
|
|
1180
1180
|
Plugins: {
|
|
1181
|
+
ICacheInstance: "ICacheInstance",
|
|
1181
1182
|
IEmailProvider: "IEmailProvider",
|
|
1182
1183
|
IEmailLogger: "IEmailLogger",
|
|
1183
1184
|
IEmailTemplatesCollection: "IEmailTemplatesCollection",
|
|
@@ -1387,6 +1388,16 @@ class EntitiesServiceLocator {
|
|
|
1387
1388
|
const settings = this.resolveSettings();
|
|
1388
1389
|
return this.provider.resolveMultipleNamed(GlobalServices.Plugins.IFileProvider, settings.defaultFilesProvider);
|
|
1389
1390
|
}
|
|
1391
|
+
resolveCacheInstance(name) {
|
|
1392
|
+
return this.provider.resolveMultipleNamed(GlobalServices.Plugins.ICacheInstance, name);
|
|
1393
|
+
}
|
|
1394
|
+
resolveCacheInstances() {
|
|
1395
|
+
return this.provider.resolveMultiple(GlobalServices.Plugins.ICacheInstance);
|
|
1396
|
+
}
|
|
1397
|
+
registerCacheInstance(name, instance) {
|
|
1398
|
+
this.provider.registerMultiple(GlobalServices.Plugins.ICacheInstance, name, instance);
|
|
1399
|
+
return this;
|
|
1400
|
+
}
|
|
1390
1401
|
resolveBucketProviders() {
|
|
1391
1402
|
return this.provider.resolveMultiple(GlobalServices.Plugins.IFileProvider);
|
|
1392
1403
|
}
|
|
@@ -2396,6 +2407,7 @@ const EntityManagerSymbols = {
|
|
|
2396
2407
|
FileProvider: Symbol.for("WP:FILE_PROVIDER"),
|
|
2397
2408
|
FileReferenceRepository: Symbol.for("WP:FILE_REFERENCE_REPO"),
|
|
2398
2409
|
PipelineTemplate: Symbol.for("WP:PIPELINE_TEMPLATE"),
|
|
2410
|
+
CacheInstance: Symbol.for("WP:CACHE_INSTANCE"),
|
|
2399
2411
|
};
|
|
2400
2412
|
|
|
2401
2413
|
const WpEntityAuthMiddleware = (entityName, props = {}) => applyDecorators(Injectable(), SetMetadata(EntityManagerSymbols.EntityAuthMiddleware, {
|
|
@@ -2407,6 +2419,10 @@ const WpBucketProvider = (providerId) => applyDecorators(Injectable(), SetMetada
|
|
|
2407
2419
|
providerId,
|
|
2408
2420
|
}));
|
|
2409
2421
|
|
|
2422
|
+
const WpCacheInstance = (instanceName) => applyDecorators(Injectable(), SetMetadata(EntityManagerSymbols.CacheInstance, {
|
|
2423
|
+
instanceName,
|
|
2424
|
+
}));
|
|
2425
|
+
|
|
2410
2426
|
const WpEntityActions = (entityName, props = {}) => applyDecorators(Injectable(), SetMetadata(EntityManagerSymbols.EntityActions, {
|
|
2411
2427
|
entityName,
|
|
2412
2428
|
...props,
|
|
@@ -20352,6 +20368,28 @@ EmailService = __decorate([
|
|
|
20352
20368
|
__metadata("design:paramtypes", [EntityManagerRegistry])
|
|
20353
20369
|
], EmailService);
|
|
20354
20370
|
|
|
20371
|
+
let CacheService = class CacheService {
|
|
20372
|
+
constructor(registry) {
|
|
20373
|
+
this.registry = registry;
|
|
20374
|
+
}
|
|
20375
|
+
getInstance(instanceName) {
|
|
20376
|
+
return this.registry
|
|
20377
|
+
.getContainer()
|
|
20378
|
+
.getEntitiesServicesLocator()
|
|
20379
|
+
.resolveCacheInstance(instanceName);
|
|
20380
|
+
}
|
|
20381
|
+
getInstances() {
|
|
20382
|
+
return this.registry
|
|
20383
|
+
.getContainer()
|
|
20384
|
+
.getEntitiesServicesLocator()
|
|
20385
|
+
.resolveCacheInstances();
|
|
20386
|
+
}
|
|
20387
|
+
};
|
|
20388
|
+
CacheService = __decorate([
|
|
20389
|
+
Injectable(),
|
|
20390
|
+
__metadata("design:paramtypes", [EntityManagerRegistry])
|
|
20391
|
+
], CacheService);
|
|
20392
|
+
|
|
20355
20393
|
let FilesService = class FilesService {
|
|
20356
20394
|
constructor(registry) {
|
|
20357
20395
|
this.registry = registry;
|
|
@@ -21077,12 +21115,43 @@ UserDeleteHandler = __decorate([
|
|
|
21077
21115
|
__metadata("design:paramtypes", [AuthenticationServicesResolver])
|
|
21078
21116
|
], UserDeleteHandler);
|
|
21079
21117
|
|
|
21118
|
+
let UserImpersonateHandler = class UserImpersonateHandler {
|
|
21119
|
+
constructor(services, jwtProvider) {
|
|
21120
|
+
this.services = services;
|
|
21121
|
+
this.jwtProvider = jwtProvider;
|
|
21122
|
+
}
|
|
21123
|
+
async execute(input) {
|
|
21124
|
+
const user = await this.resolveUser(input.userName, input.context);
|
|
21125
|
+
if (!user) {
|
|
21126
|
+
throw new Error(`User ${input.userName} not found`);
|
|
21127
|
+
}
|
|
21128
|
+
return {
|
|
21129
|
+
token: await this.generateUserJwtToken(user, input.context),
|
|
21130
|
+
};
|
|
21131
|
+
}
|
|
21132
|
+
async generateUserJwtToken(user, context) {
|
|
21133
|
+
return await this.jwtProvider.sign(extractUserTokenData(user, context));
|
|
21134
|
+
}
|
|
21135
|
+
async resolveUser(userName, context) {
|
|
21136
|
+
return ((await this.services
|
|
21137
|
+
.getUsersService()
|
|
21138
|
+
.getByUserName(userName, context)) ??
|
|
21139
|
+
(await this.services.getUsersService().getByEmail(userName, context)));
|
|
21140
|
+
}
|
|
21141
|
+
};
|
|
21142
|
+
UserImpersonateHandler = __decorate([
|
|
21143
|
+
Injectable(),
|
|
21144
|
+
__metadata("design:paramtypes", [AuthenticationServicesResolver,
|
|
21145
|
+
JwtProvider])
|
|
21146
|
+
], UserImpersonateHandler);
|
|
21147
|
+
|
|
21080
21148
|
let AuthenticationService = class AuthenticationService {
|
|
21081
|
-
constructor(userCreationHandler, userDisableHandler, userDeleteHandler, userEnableHandler, userLoginHandler, userPasswordChangeHandler, userPasswordResetFinalizeHandler, userPasswordResetRequestHandler, userRegistrationHandler, userTokenVerifyHandler, userVerifyRequestHandler, userVerifyCompleteHandler, resolver) {
|
|
21149
|
+
constructor(userCreationHandler, userDisableHandler, userDeleteHandler, userEnableHandler, userImpersonateHandler, userLoginHandler, userPasswordChangeHandler, userPasswordResetFinalizeHandler, userPasswordResetRequestHandler, userRegistrationHandler, userTokenVerifyHandler, userVerifyRequestHandler, userVerifyCompleteHandler, resolver) {
|
|
21082
21150
|
this.userCreationHandler = userCreationHandler;
|
|
21083
21151
|
this.userDisableHandler = userDisableHandler;
|
|
21084
21152
|
this.userDeleteHandler = userDeleteHandler;
|
|
21085
21153
|
this.userEnableHandler = userEnableHandler;
|
|
21154
|
+
this.userImpersonateHandler = userImpersonateHandler;
|
|
21086
21155
|
this.userLoginHandler = userLoginHandler;
|
|
21087
21156
|
this.userPasswordChangeHandler = userPasswordChangeHandler;
|
|
21088
21157
|
this.userPasswordResetFinalizeHandler = userPasswordResetFinalizeHandler;
|
|
@@ -21105,6 +21174,9 @@ let AuthenticationService = class AuthenticationService {
|
|
|
21105
21174
|
async userEnable(input) {
|
|
21106
21175
|
await this.userEnableHandler.execute(input);
|
|
21107
21176
|
}
|
|
21177
|
+
async userImpersonate(input) {
|
|
21178
|
+
return await this.userImpersonateHandler.execute(input);
|
|
21179
|
+
}
|
|
21108
21180
|
async userLogin(input) {
|
|
21109
21181
|
return await this.userLoginHandler.execute(input);
|
|
21110
21182
|
}
|
|
@@ -21145,6 +21217,7 @@ AuthenticationService = __decorate([
|
|
|
21145
21217
|
UserDisableHandler,
|
|
21146
21218
|
UserDeleteHandler,
|
|
21147
21219
|
UserEnableHandler,
|
|
21220
|
+
UserImpersonateHandler,
|
|
21148
21221
|
UserLoginHandler,
|
|
21149
21222
|
UserPasswordChangeHandler,
|
|
21150
21223
|
UserPasswordResetCompleteHandler,
|
|
@@ -21161,6 +21234,7 @@ const Services$2 = [AuthenticationService];
|
|
|
21161
21234
|
const Services$1 = [
|
|
21162
21235
|
AppSessionService,
|
|
21163
21236
|
AppHashingService,
|
|
21237
|
+
CacheService,
|
|
21164
21238
|
EntityManagerService,
|
|
21165
21239
|
EmailService,
|
|
21166
21240
|
EventsService,
|
|
@@ -21497,6 +21571,7 @@ let EntityManagerInitializer = EntityManagerInitializer_1 = class EntityManagerI
|
|
|
21497
21571
|
await this.registerFilesReferenceRepositoryProviders();
|
|
21498
21572
|
await this.registerFileProviders();
|
|
21499
21573
|
await this.registerBucketProviders();
|
|
21574
|
+
await this.registerCacheInstances();
|
|
21500
21575
|
await this.executeInitializers(app);
|
|
21501
21576
|
await this.executeSeeders();
|
|
21502
21577
|
this.logger.log("Entity manager initialization completed 🚀");
|
|
@@ -21614,6 +21689,16 @@ let EntityManagerInitializer = EntityManagerInitializer_1 = class EntityManagerI
|
|
|
21614
21689
|
this.logger.log(`Bucket provider ${provider.discoveredClass.name} registered 🚜`);
|
|
21615
21690
|
}
|
|
21616
21691
|
}
|
|
21692
|
+
async registerCacheInstances() {
|
|
21693
|
+
const providers = await this.discoverCacheInstances();
|
|
21694
|
+
for (const provider of providers) {
|
|
21695
|
+
this.registry
|
|
21696
|
+
.getContainer()
|
|
21697
|
+
.getEntitiesServicesLocator()
|
|
21698
|
+
.registerCacheInstance(provider.meta.instanceName, provider.discoveredClass.instance);
|
|
21699
|
+
this.logger.log(`Cache instance ${provider.meta.instanceName} -> ${provider.discoveredClass.name} registered 🚜`);
|
|
21700
|
+
}
|
|
21701
|
+
}
|
|
21617
21702
|
async registerFilesReferenceRepositoryProviders() {
|
|
21618
21703
|
const providers = await this.discoverFilesReferenceRepositoryProviders();
|
|
21619
21704
|
if (!providers.length) {
|
|
@@ -21748,6 +21833,9 @@ let EntityManagerInitializer = EntityManagerInitializer_1 = class EntityManagerI
|
|
|
21748
21833
|
async discoverBucketProviders() {
|
|
21749
21834
|
return await this.discover.providersWithMetaAtKey(EntityManagerSymbols.BucketProvider);
|
|
21750
21835
|
}
|
|
21836
|
+
async discoverCacheInstances() {
|
|
21837
|
+
return await this.discover.providersWithMetaAtKey(EntityManagerSymbols.CacheInstance);
|
|
21838
|
+
}
|
|
21751
21839
|
async discoverFileProviders() {
|
|
21752
21840
|
return await this.discover.providersWithMetaAtKey(EntityManagerSymbols.FileProvider);
|
|
21753
21841
|
}
|
|
@@ -21917,6 +22005,7 @@ const UserHandlers = [
|
|
|
21917
22005
|
UserDisableHandler,
|
|
21918
22006
|
UserDeleteHandler,
|
|
21919
22007
|
UserEnableHandler,
|
|
22008
|
+
UserImpersonateHandler,
|
|
21920
22009
|
UserLoginHandler,
|
|
21921
22010
|
UserPasswordChangeHandler,
|
|
21922
22011
|
UserPasswordResetCompleteHandler,
|
|
@@ -28400,5 +28489,5 @@ InMemoryEmailProvider = __decorate([
|
|
|
28400
28489
|
WpEmailProvider("in-memory")
|
|
28401
28490
|
], InMemoryEmailProvider);
|
|
28402
28491
|
|
|
28403
|
-
export { AUTHENTICATION_EVENTS_NAMESPACE, AppExceptionsFilterBase, AppHashingService, AppInMemorySettings, AppSessionMiddleware, AppSessionService, AuthGuard, Authenticated, AuthenticationEmailTemplates, AuthenticationError, AuthenticationEvents, AuthenticationExtensionSymbols, AuthenticationModule, AuthenticationService, AwsBucketModule, AwsEmailModule, AwsS3BucketError as AwsS2BucketError, AwsS3BucketProvider, AwsSesEmailTemplate, BucketItemType, CurrentUser, EmailService, EntityManagerConfigurationError, EntityManagerException, EntityManagerInitializer, EntityManagerModule, EntityManagerRegistry, EntityManagerService, EntityManagerSymbols, EntityManagerUnauthorizedException, EntityNotFoundException, EntityOperationType, EntityOperationUnauthorizedException, EntitySeeder, EntitySerializationFormat, EntitySerializer, EntitySnapshotService, EntityVersionOperation, EventsService, FilesService, IEntityVersionsCursor, InMemoryBucketProvider, InMemoryEmailProvider, InvalidCredentialsError, MemberOf, MissingEntityIdError, ModulesContainerProvider, MultiTenancyModule, MultipleEntitiesFoundException, NestEntityActions, NestEntityAuthorizationMiddleware, NestEntityManager, NestEntitySerializer, NestEntitySnapshotService, NestPipelineTemplate, NestTypeOrmEntitySeeder, NestTypeOrmQueryBuilder, NestTypeOrmRepository, OperationTokenMismatchError, PLATFORM_EVENT_NAMESPACE, Permissions, PipelineController, PipelineErrorType, PipelineInvocationError, PipelineStatus, PipelineStepErrorType, PipelinesBuilder, PipelinesRunner, PlatformEvents, Public, QueryBuilderBase, QueryBuilderOperation, ReplicationMode, Roles, SendgridEmailModule, SendgridEmailTemplate, SortDirection, TrackingService, UserCreationError, UserRegistrationError, WpAppInitializer, WpAwsSesEmailTemplate, WpBucketProvider, WpEmailLogger, WpEmailProvider, WpEmailTemplate, WpEntity, WpEntityActions, WpEntityAdapter, WpEntityAuthMiddleware, WpEntityConnector, WpEntityConverter, WpEntityManager, WpEntityQueryBuilder, WpEntityRepository, WpEntitySeeder, WpEntitySerializer, WpEntitySnapshotService, WpEntityVersioningProvider, WpEventsTracker, WpFileProvider, WpFileReferenceRepository, WpPermissionsService, WpPipeline, WpRolesService, WpSendgridEmailTemplate, WpUserRolesService, WpUserService, buildPermissionsGuard, buildRolesGuard, createContainer, createExpressFileResponse, getLocalizedText, newUuid, renderHandlebarsTemplate, toEntitiesImportInput };
|
|
28492
|
+
export { AUTHENTICATION_EVENTS_NAMESPACE, AppExceptionsFilterBase, AppHashingService, AppInMemorySettings, AppSessionMiddleware, AppSessionService, AuthGuard, Authenticated, AuthenticationEmailTemplates, AuthenticationError, AuthenticationEvents, AuthenticationExtensionSymbols, AuthenticationModule, AuthenticationService, AwsBucketModule, AwsEmailModule, AwsS3BucketError as AwsS2BucketError, AwsS3BucketProvider, AwsSesEmailTemplate, BucketItemType, CacheService, CurrentUser, EmailService, EntityManagerConfigurationError, EntityManagerException, EntityManagerInitializer, EntityManagerModule, EntityManagerRegistry, EntityManagerService, EntityManagerSymbols, EntityManagerUnauthorizedException, EntityNotFoundException, EntityOperationType, EntityOperationUnauthorizedException, EntitySeeder, EntitySerializationFormat, EntitySerializer, EntitySnapshotService, EntityVersionOperation, EventsService, FilesService, IEntityVersionsCursor, InMemoryBucketProvider, InMemoryEmailProvider, InvalidCredentialsError, MemberOf, MissingEntityIdError, ModulesContainerProvider, MultiTenancyModule, MultipleEntitiesFoundException, NestEntityActions, NestEntityAuthorizationMiddleware, NestEntityManager, NestEntitySerializer, NestEntitySnapshotService, NestPipelineTemplate, NestTypeOrmEntitySeeder, NestTypeOrmQueryBuilder, NestTypeOrmRepository, OperationTokenMismatchError, PLATFORM_EVENT_NAMESPACE, Permissions, PipelineController, PipelineErrorType, PipelineInvocationError, PipelineStatus, PipelineStepErrorType, PipelinesBuilder, PipelinesRunner, PlatformEvents, Public, QueryBuilderBase, QueryBuilderOperation, ReplicationMode, Roles, SendgridEmailModule, SendgridEmailTemplate, SortDirection, TrackingService, UserCreationError, UserRegistrationError, WpAppInitializer, WpAwsSesEmailTemplate, WpBucketProvider, WpCacheInstance, WpEmailLogger, WpEmailProvider, WpEmailTemplate, WpEntity, WpEntityActions, WpEntityAdapter, WpEntityAuthMiddleware, WpEntityConnector, WpEntityConverter, WpEntityManager, WpEntityQueryBuilder, WpEntityRepository, WpEntitySeeder, WpEntitySerializer, WpEntitySnapshotService, WpEntityVersioningProvider, WpEventsTracker, WpFileProvider, WpFileReferenceRepository, WpPermissionsService, WpPipeline, WpRolesService, WpSendgridEmailTemplate, WpUserRolesService, WpUserService, buildPermissionsGuard, buildRolesGuard, createContainer, createExpressFileResponse, getLocalizedText, newUuid, renderHandlebarsTemplate, toEntitiesImportInput };
|
|
28404
28493
|
//# sourceMappingURL=index.js.map
|