@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
package/dist/cjs/index.js
CHANGED
|
@@ -1186,6 +1186,7 @@ const GlobalServices = {
|
|
|
1186
1186
|
IPipelineController: "IPipelineController",
|
|
1187
1187
|
},
|
|
1188
1188
|
Plugins: {
|
|
1189
|
+
ICacheInstance: "ICacheInstance",
|
|
1189
1190
|
IEmailProvider: "IEmailProvider",
|
|
1190
1191
|
IEmailLogger: "IEmailLogger",
|
|
1191
1192
|
IEmailTemplatesCollection: "IEmailTemplatesCollection",
|
|
@@ -1395,6 +1396,16 @@ class EntitiesServiceLocator {
|
|
|
1395
1396
|
const settings = this.resolveSettings();
|
|
1396
1397
|
return this.provider.resolveMultipleNamed(GlobalServices.Plugins.IFileProvider, settings.defaultFilesProvider);
|
|
1397
1398
|
}
|
|
1399
|
+
resolveCacheInstance(name) {
|
|
1400
|
+
return this.provider.resolveMultipleNamed(GlobalServices.Plugins.ICacheInstance, name);
|
|
1401
|
+
}
|
|
1402
|
+
resolveCacheInstances() {
|
|
1403
|
+
return this.provider.resolveMultiple(GlobalServices.Plugins.ICacheInstance);
|
|
1404
|
+
}
|
|
1405
|
+
registerCacheInstance(name, instance) {
|
|
1406
|
+
this.provider.registerMultiple(GlobalServices.Plugins.ICacheInstance, name, instance);
|
|
1407
|
+
return this;
|
|
1408
|
+
}
|
|
1398
1409
|
resolveBucketProviders() {
|
|
1399
1410
|
return this.provider.resolveMultiple(GlobalServices.Plugins.IFileProvider);
|
|
1400
1411
|
}
|
|
@@ -2404,6 +2415,7 @@ const EntityManagerSymbols = {
|
|
|
2404
2415
|
FileProvider: Symbol.for("WP:FILE_PROVIDER"),
|
|
2405
2416
|
FileReferenceRepository: Symbol.for("WP:FILE_REFERENCE_REPO"),
|
|
2406
2417
|
PipelineTemplate: Symbol.for("WP:PIPELINE_TEMPLATE"),
|
|
2418
|
+
CacheInstance: Symbol.for("WP:CACHE_INSTANCE"),
|
|
2407
2419
|
};
|
|
2408
2420
|
|
|
2409
2421
|
const WpEntityAuthMiddleware = (entityName, props = {}) => common.applyDecorators(common.Injectable(), common.SetMetadata(EntityManagerSymbols.EntityAuthMiddleware, {
|
|
@@ -2415,6 +2427,10 @@ const WpBucketProvider = (providerId) => common.applyDecorators(common.Injectabl
|
|
|
2415
2427
|
providerId,
|
|
2416
2428
|
}));
|
|
2417
2429
|
|
|
2430
|
+
const WpCacheInstance = (instanceName) => common.applyDecorators(common.Injectable(), common.SetMetadata(EntityManagerSymbols.CacheInstance, {
|
|
2431
|
+
instanceName,
|
|
2432
|
+
}));
|
|
2433
|
+
|
|
2418
2434
|
const WpEntityActions = (entityName, props = {}) => common.applyDecorators(common.Injectable(), common.SetMetadata(EntityManagerSymbols.EntityActions, {
|
|
2419
2435
|
entityName,
|
|
2420
2436
|
...props,
|
|
@@ -20360,6 +20376,28 @@ exports.EmailService = __decorate([
|
|
|
20360
20376
|
__metadata("design:paramtypes", [exports.EntityManagerRegistry])
|
|
20361
20377
|
], exports.EmailService);
|
|
20362
20378
|
|
|
20379
|
+
exports.CacheService = class CacheService {
|
|
20380
|
+
constructor(registry) {
|
|
20381
|
+
this.registry = registry;
|
|
20382
|
+
}
|
|
20383
|
+
getInstance(instanceName) {
|
|
20384
|
+
return this.registry
|
|
20385
|
+
.getContainer()
|
|
20386
|
+
.getEntitiesServicesLocator()
|
|
20387
|
+
.resolveCacheInstance(instanceName);
|
|
20388
|
+
}
|
|
20389
|
+
getInstances() {
|
|
20390
|
+
return this.registry
|
|
20391
|
+
.getContainer()
|
|
20392
|
+
.getEntitiesServicesLocator()
|
|
20393
|
+
.resolveCacheInstances();
|
|
20394
|
+
}
|
|
20395
|
+
};
|
|
20396
|
+
exports.CacheService = __decorate([
|
|
20397
|
+
common.Injectable(),
|
|
20398
|
+
__metadata("design:paramtypes", [exports.EntityManagerRegistry])
|
|
20399
|
+
], exports.CacheService);
|
|
20400
|
+
|
|
20363
20401
|
exports.FilesService = class FilesService {
|
|
20364
20402
|
constructor(registry) {
|
|
20365
20403
|
this.registry = registry;
|
|
@@ -21085,12 +21123,43 @@ UserDeleteHandler = __decorate([
|
|
|
21085
21123
|
__metadata("design:paramtypes", [AuthenticationServicesResolver])
|
|
21086
21124
|
], UserDeleteHandler);
|
|
21087
21125
|
|
|
21126
|
+
let UserImpersonateHandler = class UserImpersonateHandler {
|
|
21127
|
+
constructor(services, jwtProvider) {
|
|
21128
|
+
this.services = services;
|
|
21129
|
+
this.jwtProvider = jwtProvider;
|
|
21130
|
+
}
|
|
21131
|
+
async execute(input) {
|
|
21132
|
+
const user = await this.resolveUser(input.userName, input.context);
|
|
21133
|
+
if (!user) {
|
|
21134
|
+
throw new Error(`User ${input.userName} not found`);
|
|
21135
|
+
}
|
|
21136
|
+
return {
|
|
21137
|
+
token: await this.generateUserJwtToken(user, input.context),
|
|
21138
|
+
};
|
|
21139
|
+
}
|
|
21140
|
+
async generateUserJwtToken(user, context) {
|
|
21141
|
+
return await this.jwtProvider.sign(extractUserTokenData(user, context));
|
|
21142
|
+
}
|
|
21143
|
+
async resolveUser(userName, context) {
|
|
21144
|
+
return ((await this.services
|
|
21145
|
+
.getUsersService()
|
|
21146
|
+
.getByUserName(userName, context)) ??
|
|
21147
|
+
(await this.services.getUsersService().getByEmail(userName, context)));
|
|
21148
|
+
}
|
|
21149
|
+
};
|
|
21150
|
+
UserImpersonateHandler = __decorate([
|
|
21151
|
+
common.Injectable(),
|
|
21152
|
+
__metadata("design:paramtypes", [AuthenticationServicesResolver,
|
|
21153
|
+
JwtProvider])
|
|
21154
|
+
], UserImpersonateHandler);
|
|
21155
|
+
|
|
21088
21156
|
exports.AuthenticationService = class AuthenticationService {
|
|
21089
|
-
constructor(userCreationHandler, userDisableHandler, userDeleteHandler, userEnableHandler, userLoginHandler, userPasswordChangeHandler, userPasswordResetFinalizeHandler, userPasswordResetRequestHandler, userRegistrationHandler, userTokenVerifyHandler, userVerifyRequestHandler, userVerifyCompleteHandler, resolver) {
|
|
21157
|
+
constructor(userCreationHandler, userDisableHandler, userDeleteHandler, userEnableHandler, userImpersonateHandler, userLoginHandler, userPasswordChangeHandler, userPasswordResetFinalizeHandler, userPasswordResetRequestHandler, userRegistrationHandler, userTokenVerifyHandler, userVerifyRequestHandler, userVerifyCompleteHandler, resolver) {
|
|
21090
21158
|
this.userCreationHandler = userCreationHandler;
|
|
21091
21159
|
this.userDisableHandler = userDisableHandler;
|
|
21092
21160
|
this.userDeleteHandler = userDeleteHandler;
|
|
21093
21161
|
this.userEnableHandler = userEnableHandler;
|
|
21162
|
+
this.userImpersonateHandler = userImpersonateHandler;
|
|
21094
21163
|
this.userLoginHandler = userLoginHandler;
|
|
21095
21164
|
this.userPasswordChangeHandler = userPasswordChangeHandler;
|
|
21096
21165
|
this.userPasswordResetFinalizeHandler = userPasswordResetFinalizeHandler;
|
|
@@ -21113,6 +21182,9 @@ exports.AuthenticationService = class AuthenticationService {
|
|
|
21113
21182
|
async userEnable(input) {
|
|
21114
21183
|
await this.userEnableHandler.execute(input);
|
|
21115
21184
|
}
|
|
21185
|
+
async userImpersonate(input) {
|
|
21186
|
+
return await this.userImpersonateHandler.execute(input);
|
|
21187
|
+
}
|
|
21116
21188
|
async userLogin(input) {
|
|
21117
21189
|
return await this.userLoginHandler.execute(input);
|
|
21118
21190
|
}
|
|
@@ -21153,6 +21225,7 @@ exports.AuthenticationService = __decorate([
|
|
|
21153
21225
|
UserDisableHandler,
|
|
21154
21226
|
UserDeleteHandler,
|
|
21155
21227
|
UserEnableHandler,
|
|
21228
|
+
UserImpersonateHandler,
|
|
21156
21229
|
UserLoginHandler,
|
|
21157
21230
|
UserPasswordChangeHandler,
|
|
21158
21231
|
UserPasswordResetCompleteHandler,
|
|
@@ -21169,6 +21242,7 @@ const Services$2 = [exports.AuthenticationService];
|
|
|
21169
21242
|
const Services$1 = [
|
|
21170
21243
|
exports.AppSessionService,
|
|
21171
21244
|
exports.AppHashingService,
|
|
21245
|
+
exports.CacheService,
|
|
21172
21246
|
exports.EntityManagerService,
|
|
21173
21247
|
exports.EmailService,
|
|
21174
21248
|
exports.EventsService,
|
|
@@ -21505,6 +21579,7 @@ exports.EntityManagerInitializer = EntityManagerInitializer_1 = class EntityMana
|
|
|
21505
21579
|
await this.registerFilesReferenceRepositoryProviders();
|
|
21506
21580
|
await this.registerFileProviders();
|
|
21507
21581
|
await this.registerBucketProviders();
|
|
21582
|
+
await this.registerCacheInstances();
|
|
21508
21583
|
await this.executeInitializers(app);
|
|
21509
21584
|
await this.executeSeeders();
|
|
21510
21585
|
this.logger.log("Entity manager initialization completed 🚀");
|
|
@@ -21622,6 +21697,16 @@ exports.EntityManagerInitializer = EntityManagerInitializer_1 = class EntityMana
|
|
|
21622
21697
|
this.logger.log(`Bucket provider ${provider.discoveredClass.name} registered 🚜`);
|
|
21623
21698
|
}
|
|
21624
21699
|
}
|
|
21700
|
+
async registerCacheInstances() {
|
|
21701
|
+
const providers = await this.discoverCacheInstances();
|
|
21702
|
+
for (const provider of providers) {
|
|
21703
|
+
this.registry
|
|
21704
|
+
.getContainer()
|
|
21705
|
+
.getEntitiesServicesLocator()
|
|
21706
|
+
.registerCacheInstance(provider.meta.instanceName, provider.discoveredClass.instance);
|
|
21707
|
+
this.logger.log(`Cache instance ${provider.meta.instanceName} -> ${provider.discoveredClass.name} registered 🚜`);
|
|
21708
|
+
}
|
|
21709
|
+
}
|
|
21625
21710
|
async registerFilesReferenceRepositoryProviders() {
|
|
21626
21711
|
const providers = await this.discoverFilesReferenceRepositoryProviders();
|
|
21627
21712
|
if (!providers.length) {
|
|
@@ -21756,6 +21841,9 @@ exports.EntityManagerInitializer = EntityManagerInitializer_1 = class EntityMana
|
|
|
21756
21841
|
async discoverBucketProviders() {
|
|
21757
21842
|
return await this.discover.providersWithMetaAtKey(EntityManagerSymbols.BucketProvider);
|
|
21758
21843
|
}
|
|
21844
|
+
async discoverCacheInstances() {
|
|
21845
|
+
return await this.discover.providersWithMetaAtKey(EntityManagerSymbols.CacheInstance);
|
|
21846
|
+
}
|
|
21759
21847
|
async discoverFileProviders() {
|
|
21760
21848
|
return await this.discover.providersWithMetaAtKey(EntityManagerSymbols.FileProvider);
|
|
21761
21849
|
}
|
|
@@ -21925,6 +22013,7 @@ const UserHandlers = [
|
|
|
21925
22013
|
UserDisableHandler,
|
|
21926
22014
|
UserDeleteHandler,
|
|
21927
22015
|
UserEnableHandler,
|
|
22016
|
+
UserImpersonateHandler,
|
|
21928
22017
|
UserLoginHandler,
|
|
21929
22018
|
UserPasswordChangeHandler,
|
|
21930
22019
|
UserPasswordResetCompleteHandler,
|
|
@@ -28455,6 +28544,7 @@ exports.SendgridEmailTemplate = SendgridEmailTemplate;
|
|
|
28455
28544
|
exports.WpAppInitializer = WpAppInitializer;
|
|
28456
28545
|
exports.WpAwsSesEmailTemplate = WpAwsSesEmailTemplate;
|
|
28457
28546
|
exports.WpBucketProvider = WpBucketProvider;
|
|
28547
|
+
exports.WpCacheInstance = WpCacheInstance;
|
|
28458
28548
|
exports.WpEmailLogger = WpEmailLogger;
|
|
28459
28549
|
exports.WpEmailProvider = WpEmailProvider;
|
|
28460
28550
|
exports.WpEmailTemplate = WpEmailTemplate;
|