@punks/backend-entity-manager 0.0.141 → 0.0.142
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 +37 -0
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/types/abstractions/email.d.ts +4 -0
- package/dist/cjs/types/platforms/nest/decorators/email.d.ts +4 -0
- package/dist/cjs/types/platforms/nest/decorators/index.d.ts +1 -1
- package/dist/cjs/types/platforms/nest/decorators/symbols.d.ts +1 -0
- package/dist/cjs/types/platforms/nest/processors/initializer/index.d.ts +2 -0
- package/dist/cjs/types/platforms/nest/services/email/index.d.ts +1 -0
- package/dist/cjs/types/providers/services.d.ts +3 -1
- package/dist/cjs/types/symbols/ioc.d.ts +1 -0
- package/dist/esm/index.js +36 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/types/abstractions/email.d.ts +4 -0
- package/dist/esm/types/platforms/nest/decorators/email.d.ts +4 -0
- package/dist/esm/types/platforms/nest/decorators/index.d.ts +1 -1
- package/dist/esm/types/platforms/nest/decorators/symbols.d.ts +1 -0
- package/dist/esm/types/platforms/nest/processors/initializer/index.d.ts +2 -0
- package/dist/esm/types/platforms/nest/services/email/index.d.ts +1 -0
- package/dist/esm/types/providers/services.d.ts +3 -1
- package/dist/esm/types/symbols/ioc.d.ts +1 -0
- package/dist/index.d.ts +19 -1
- package/package.json +1 -1
|
@@ -30,3 +30,7 @@ export interface IEmailProvider<TTemplateData> {
|
|
|
30
30
|
sendTemplatedEmail<TPayload, TAugmentedPayload>(input: TemplatedEmailInput<TPayload>, template: IEmailTemplate<TTemplateData, TPayload, TAugmentedPayload>): Promise<void>;
|
|
31
31
|
sendHtmlEmail<TPayload>(input: HtmlEmailInput<TPayload>): Promise<void>;
|
|
32
32
|
}
|
|
33
|
+
export interface IEmailLogger {
|
|
34
|
+
logTemplatedEmail<TPayload>(input: TemplatedEmailInput<TPayload>): Promise<void>;
|
|
35
|
+
logHtmlEmail<TPayload>(input: HtmlEmailInput<TPayload>): Promise<void>;
|
|
36
|
+
}
|
|
@@ -6,3 +6,7 @@ export interface EmailProviderProps {
|
|
|
6
6
|
providerId: string;
|
|
7
7
|
}
|
|
8
8
|
export declare const WpEmailProvider: (providerId: string) => <TFunction extends Function, Y>(target: object | TFunction, propertyKey?: string | symbol | undefined, descriptor?: TypedPropertyDescriptor<Y> | undefined) => void;
|
|
9
|
+
export interface EmailLoggerProps {
|
|
10
|
+
providerId: string;
|
|
11
|
+
}
|
|
12
|
+
export declare const WpEmailLogger: (providerId: string) => <TFunction extends Function, Y>(target: object | TFunction, propertyKey?: string | symbol | undefined, descriptor?: TypedPropertyDescriptor<Y> | undefined) => void;
|
|
@@ -4,7 +4,7 @@ export { WpEntityActions, EntityActionsProps } from "./actions";
|
|
|
4
4
|
export { WpEntityAdapter, EntityAdapterProps } from "./adapter";
|
|
5
5
|
export { WpEntityConnector, EntityConnectorProps } from "./connector";
|
|
6
6
|
export { WpEntityConverter, EntityConverterProps } from "./converter";
|
|
7
|
-
export { WpEmailTemplate, EmailTemplateProps } from "./email";
|
|
7
|
+
export { WpEmailTemplate, EmailTemplateProps, WpEmailLogger, EmailLoggerProps, WpEmailProvider, EmailProviderProps, } from "./email";
|
|
8
8
|
export { WpEntity, EntityProps } from "./entity";
|
|
9
9
|
export { WpFileProvider, FileProviderProps, WpFileReferenceRepository, FileReferenceRepositoryProps, } from "./files";
|
|
10
10
|
export { WpAppInitializer } from "./initializer";
|
|
@@ -24,6 +24,7 @@ export declare class EntityManagerInitializer {
|
|
|
24
24
|
private registerBucketProviders;
|
|
25
25
|
private registerFilesReferenceRepositoryProviders;
|
|
26
26
|
private registerEventTrackingProviders;
|
|
27
|
+
private registerEmailLogger;
|
|
27
28
|
private registerVersioningProviders;
|
|
28
29
|
private registerEmailProviders;
|
|
29
30
|
private registerEmailTemplates;
|
|
@@ -43,6 +44,7 @@ export declare class EntityManagerInitializer {
|
|
|
43
44
|
private discoverEmailTemplates;
|
|
44
45
|
private discoverEmailProviders;
|
|
45
46
|
private discoverEventTrackingProviders;
|
|
47
|
+
private discoverEmailLogger;
|
|
46
48
|
private discoverBucketProviders;
|
|
47
49
|
private discoverFileProviders;
|
|
48
50
|
private discoverFilesReferenceRepositoryProviders;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { IAuthenticationContext, IAuthenticationContextProvider, IBucketProvider, IEmailProvider, IEmailTemplatesCollection, IEntityFacets, IEntitySerializer, IEntitySnapshotService, IEntityVersioningProvider, IEventLog, IEventsTracker, IFileProvider, IFilesReferenceRepository } from "../abstractions";
|
|
1
|
+
import { IAuthenticationContext, IAuthenticationContextProvider, IBucketProvider, 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";
|
|
@@ -93,6 +93,8 @@ export declare class EntitiesServiceLocator {
|
|
|
93
93
|
registerEventsTracker<TEventsTracker extends IEventsTracker<TEventLog>, TEventLog extends IEventLog<unknown>>(instance: TEventsTracker): void;
|
|
94
94
|
resolveEmailTemplatesCollection(): IEmailTemplatesCollection;
|
|
95
95
|
registerEmailTemplatesCollection(instance: IEmailTemplatesCollection): void;
|
|
96
|
+
resolveEmailLogger(): IEmailLogger;
|
|
97
|
+
registerEmailLogger(instance: IEmailLogger): void;
|
|
96
98
|
resolvePipelinesController(): IPipelinesController;
|
|
97
99
|
registerPipelinesController(instance: IPipelinesController): void;
|
|
98
100
|
resolveAuthenticationContextProvider<TAuthenticationContextProvider extends IAuthenticationContextProvider<TUserContext>, TUserContext>(): TAuthenticationContextProvider;
|
package/dist/esm/index.js
CHANGED
|
@@ -1142,6 +1142,7 @@ const GlobalServices = {
|
|
|
1142
1142
|
},
|
|
1143
1143
|
Plugins: {
|
|
1144
1144
|
IEmailProvider: "IEmailProvider",
|
|
1145
|
+
IEmailLogger: "IEmailLogger",
|
|
1145
1146
|
IEmailTemplatesCollection: "IEmailTemplatesCollection",
|
|
1146
1147
|
IBucketProvider: "IBucketProvider",
|
|
1147
1148
|
IFileProvider: "IFileProvider",
|
|
@@ -1381,6 +1382,12 @@ class EntitiesServiceLocator {
|
|
|
1381
1382
|
registerEmailTemplatesCollection(instance) {
|
|
1382
1383
|
this.provider.register(GlobalServices.Plugins.IEmailTemplatesCollection, instance);
|
|
1383
1384
|
}
|
|
1385
|
+
resolveEmailLogger() {
|
|
1386
|
+
return this.provider.resolve(GlobalServices.Plugins.IEmailLogger);
|
|
1387
|
+
}
|
|
1388
|
+
registerEmailLogger(instance) {
|
|
1389
|
+
this.provider.register(GlobalServices.Plugins.IEmailLogger, instance);
|
|
1390
|
+
}
|
|
1384
1391
|
resolvePipelinesController() {
|
|
1385
1392
|
return this.provider.resolve(GlobalServices.Pipelines.IPipelineController);
|
|
1386
1393
|
}
|
|
@@ -2339,6 +2346,7 @@ const EntityManagerSymbols = {
|
|
|
2339
2346
|
EntityVersioningProvider: Symbol.for("WP:ENTITY_VERSIONING_PROVIDER"),
|
|
2340
2347
|
EmailProvider: Symbol.for("WP:EMAIL_PROVIDER"),
|
|
2341
2348
|
EmailTemplate: Symbol.for("WP:EMAIL_TEMPLATE"),
|
|
2349
|
+
EmailLogger: Symbol.for("WP:EMAIL_LOGGER"),
|
|
2342
2350
|
BucketProvider: Symbol.for("WP:BUCKET_PROVIDER"),
|
|
2343
2351
|
FileProvider: Symbol.for("WP:FILE_PROVIDER"),
|
|
2344
2352
|
FileReferenceRepository: Symbol.for("WP:FILE_REFERENCE_REPO"),
|
|
@@ -2380,6 +2388,9 @@ const WpEmailTemplate = (templateId) => applyDecorators(Injectable(), SetMetadat
|
|
|
2380
2388
|
const WpEmailProvider = (providerId) => applyDecorators(Injectable(), SetMetadata(EntityManagerSymbols.EmailProvider, {
|
|
2381
2389
|
providerId,
|
|
2382
2390
|
}));
|
|
2391
|
+
const WpEmailLogger = (providerId) => applyDecorators(Injectable(), SetMetadata(EntityManagerSymbols.EmailLogger, {
|
|
2392
|
+
providerId,
|
|
2393
|
+
}));
|
|
2383
2394
|
|
|
2384
2395
|
const WpEntity = (name, props = {}) => applyDecorators(SetMetadata(EntityManagerSymbols.Entity, {
|
|
2385
2396
|
name,
|
|
@@ -20283,9 +20294,11 @@ let EmailService = class EmailService {
|
|
|
20283
20294
|
async sendTemplatedEmail(input) {
|
|
20284
20295
|
const template = this.getTemplate(input.templateId);
|
|
20285
20296
|
await this.provider.sendTemplatedEmail(input, template);
|
|
20297
|
+
await this.logger.logTemplatedEmail(input);
|
|
20286
20298
|
}
|
|
20287
20299
|
async sendHtmlEmail(input) {
|
|
20288
20300
|
await this.provider.sendHtmlEmail(input);
|
|
20301
|
+
await this.logger.logHtmlEmail(input);
|
|
20289
20302
|
}
|
|
20290
20303
|
getTemplate(templateId) {
|
|
20291
20304
|
const template = this.templates.getTemplate(templateId);
|
|
@@ -20306,6 +20319,12 @@ let EmailService = class EmailService {
|
|
|
20306
20319
|
.getEntitiesServicesLocator()
|
|
20307
20320
|
.resolveEmailProvider();
|
|
20308
20321
|
}
|
|
20322
|
+
get logger() {
|
|
20323
|
+
return this.registry
|
|
20324
|
+
.getContainer()
|
|
20325
|
+
.getEntitiesServicesLocator()
|
|
20326
|
+
.resolveEmailLogger();
|
|
20327
|
+
}
|
|
20309
20328
|
};
|
|
20310
20329
|
EmailService = __decorate([
|
|
20311
20330
|
Injectable(),
|
|
@@ -21424,6 +21443,7 @@ let EntityManagerInitializer = EntityManagerInitializer_1 = class EntityManagerI
|
|
|
21424
21443
|
await this.registerEmailProviders();
|
|
21425
21444
|
await this.registerEventTrackingProviders();
|
|
21426
21445
|
await this.registerVersioningProviders();
|
|
21446
|
+
await this.registerEmailLogger();
|
|
21427
21447
|
await this.registerFilesReferenceRepositoryProviders();
|
|
21428
21448
|
await this.registerFileProviders();
|
|
21429
21449
|
await this.registerBucketProviders();
|
|
@@ -21569,6 +21589,18 @@ let EntityManagerInitializer = EntityManagerInitializer_1 = class EntityManagerI
|
|
|
21569
21589
|
.registerEventsTracker(providers[0].discoveredClass.instance);
|
|
21570
21590
|
this.logger.log(`Events tracker ${providers[0].discoveredClass.name} registered 🚜`);
|
|
21571
21591
|
}
|
|
21592
|
+
async registerEmailLogger() {
|
|
21593
|
+
const loggers = await this.discoverEmailLogger();
|
|
21594
|
+
if (!loggers.length) {
|
|
21595
|
+
this.logger.warn("No email loggers ⚠️");
|
|
21596
|
+
return;
|
|
21597
|
+
}
|
|
21598
|
+
this.registry
|
|
21599
|
+
.getContainer()
|
|
21600
|
+
.getEntitiesServicesLocator()
|
|
21601
|
+
.registerEmailLogger(loggers[0].discoveredClass.instance);
|
|
21602
|
+
this.logger.log(`Email logger ${loggers[0].discoveredClass.name} registered 🚜`);
|
|
21603
|
+
}
|
|
21572
21604
|
async registerVersioningProviders() {
|
|
21573
21605
|
const providers = await this.discoverVersioningProviders();
|
|
21574
21606
|
if (!providers.length) {
|
|
@@ -21660,6 +21692,9 @@ let EntityManagerInitializer = EntityManagerInitializer_1 = class EntityManagerI
|
|
|
21660
21692
|
async discoverEventTrackingProviders() {
|
|
21661
21693
|
return await this.discover.providersWithMetaAtKey(EntityManagerSymbols.EventsTracker);
|
|
21662
21694
|
}
|
|
21695
|
+
async discoverEmailLogger() {
|
|
21696
|
+
return await this.discover.providersWithMetaAtKey(EntityManagerSymbols.EmailLogger);
|
|
21697
|
+
}
|
|
21663
21698
|
async discoverBucketProviders() {
|
|
21664
21699
|
return await this.discover.providersWithMetaAtKey(EntityManagerSymbols.BucketProvider);
|
|
21665
21700
|
}
|
|
@@ -28160,5 +28195,5 @@ InMemoryEmailProvider = __decorate([
|
|
|
28160
28195
|
WpEmailProvider("in-memory")
|
|
28161
28196
|
], InMemoryEmailProvider);
|
|
28162
28197
|
|
|
28163
|
-
export { AUTHENTICATION_EVENTS_NAMESPACE, AppExceptionsFilterBase, AppHashingService, AppInMemorySettings, AppSessionMiddleware, AppSessionService, AuthGuard, Authenticated, AuthenticationEmailTemplates, AuthenticationError, AuthenticationEvents, AuthenticationExtensionSymbols, AuthenticationModule, AuthenticationService, AwsBucketModule, AwsEmailModule, AwsS3BucketError as AwsS2BucketError, AwsS3BucketProvider, AwsSesEmailTemplate, BooleanFacet, BooleanFacetItem, 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, NumericFacet, NumericFacetItem, OperationTokenMismatchError, PLATFORM_EVENT_NAMESPACE, PipelineController, PipelineErrorType, PipelineStatus, PipelineStepErrorType, PipelinesBuilder, PipelinesRunner, PlatformEvents, Public, QueryBuilderBase, QueryBuilderOperation, ReplicationMode, Roles, SendgridEmailModule, SendgridEmailTemplate, SortDirection, StringFacet, StringFacetItem, TrackingService, UserCreationError, UserRegistrationError, WpAppInitializer, WpAwsSesEmailTemplate, WpBucketProvider, WpEmailTemplate, WpEntity, WpEntityActions, WpEntityAdapter, WpEntityAuthMiddleware, WpEntityConnector, WpEntityConverter, WpEntityManager, WpEntityQueryBuilder, WpEntityRepository, WpEntitySeeder, WpEntitySerializer, WpEntitySnapshotService, WpEntityVersioningProvider, WpEventsTracker, WpFileProvider, WpFileReferenceRepository, WpPipeline, WpRolesService, WpSendgridEmailTemplate, WpUserRolesService, WpUserService, buildRolesGuard, createContainer, createExpressFileResponse, getLocalizedText, newUuid, renderHandlebarsTemplate, toEntitiesImportInput };
|
|
28198
|
+
export { AUTHENTICATION_EVENTS_NAMESPACE, AppExceptionsFilterBase, AppHashingService, AppInMemorySettings, AppSessionMiddleware, AppSessionService, AuthGuard, Authenticated, AuthenticationEmailTemplates, AuthenticationError, AuthenticationEvents, AuthenticationExtensionSymbols, AuthenticationModule, AuthenticationService, AwsBucketModule, AwsEmailModule, AwsS3BucketError as AwsS2BucketError, AwsS3BucketProvider, AwsSesEmailTemplate, BooleanFacet, BooleanFacetItem, 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, NumericFacet, NumericFacetItem, OperationTokenMismatchError, PLATFORM_EVENT_NAMESPACE, PipelineController, PipelineErrorType, PipelineStatus, PipelineStepErrorType, PipelinesBuilder, PipelinesRunner, PlatformEvents, Public, QueryBuilderBase, QueryBuilderOperation, ReplicationMode, Roles, SendgridEmailModule, SendgridEmailTemplate, SortDirection, StringFacet, StringFacetItem, 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, WpPipeline, WpRolesService, WpSendgridEmailTemplate, WpUserRolesService, WpUserService, buildRolesGuard, createContainer, createExpressFileResponse, getLocalizedText, newUuid, renderHandlebarsTemplate, toEntitiesImportInput };
|
|
28164
28199
|
//# sourceMappingURL=index.js.map
|