@flusys/nestjs-email 7.1.0 → 8.0.0

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.
Files changed (159) hide show
  1. package/config/index.d.ts +3 -3
  2. package/controllers/email-config.controller.d.ts +2 -2
  3. package/controllers/email-send.controller.d.ts +3 -3
  4. package/controllers/email-template.controller.d.ts +4 -4
  5. package/controllers/index.d.ts +3 -3
  6. package/docs/email-swagger.config.d.ts +2 -2
  7. package/docs/index.d.ts +1 -1
  8. package/dtos/email-config.dto.d.ts +1 -1
  9. package/dtos/email-send.dto.d.ts +1 -1
  10. package/dtos/index.d.ts +3 -3
  11. package/entities/email-config-with-company.entity.d.ts +1 -1
  12. package/entities/email-template-with-company.entity.d.ts +1 -1
  13. package/entities/index.d.ts +10 -10
  14. package/enums/index.d.ts +1 -1
  15. package/fesm/261.js +799 -0
  16. package/fesm/493.js +1723 -0
  17. package/fesm/chunks/99.js +12 -0
  18. package/fesm/config/index.js +104 -3
  19. package/fesm/controllers/index.js +396 -3
  20. package/fesm/docs/index.js +134 -1
  21. package/fesm/dtos/index.js +22 -3
  22. package/fesm/entities/index.js +409 -13
  23. package/fesm/enums/index.js +37 -1
  24. package/fesm/index.js +762 -10
  25. package/fesm/interfaces/index.js +18 -4
  26. package/fesm/modules/index.js +541 -1
  27. package/fesm/providers/index.js +523 -5
  28. package/fesm/runtime.js +134 -0
  29. package/fesm/services/index.js +17 -5
  30. package/index.d.ts +10 -10
  31. package/interfaces/email-config.interface.d.ts +2 -2
  32. package/interfaces/email-module-options.interface.d.ts +3 -3
  33. package/interfaces/email-template.interface.d.ts +1 -1
  34. package/interfaces/index.d.ts +4 -4
  35. package/modules/email.module.d.ts +2 -2
  36. package/modules/index.d.ts +1 -1
  37. package/package.json +27 -38
  38. package/providers/email-factory.service.d.ts +2 -2
  39. package/providers/email-provider.registry.d.ts +2 -2
  40. package/providers/index.d.ts +5 -5
  41. package/providers/mailgun-provider.d.ts +1 -1
  42. package/providers/sendgrid-provider.d.ts +1 -1
  43. package/providers/smtp-provider.d.ts +1 -1
  44. package/services/email-config.service.d.ts +3 -3
  45. package/services/email-datasource.provider.d.ts +3 -3
  46. package/services/email-provider-config.service.d.ts +7 -7
  47. package/services/email-send.service.d.ts +7 -7
  48. package/services/email-template.service.d.ts +6 -6
  49. package/services/index.d.ts +5 -5
  50. package/utils/index.d.ts +1 -1
  51. package/cjs/config/email.constants.js +0 -22
  52. package/cjs/config/event-actions.js +0 -34
  53. package/cjs/config/index.js +0 -20
  54. package/cjs/config/message-keys.js +0 -39
  55. package/cjs/controllers/email-config.controller.js +0 -111
  56. package/cjs/controllers/email-config.controller.spec.js +0 -85
  57. package/cjs/controllers/email-send.controller.js +0 -128
  58. package/cjs/controllers/email-send.controller.spec.js +0 -139
  59. package/cjs/controllers/email-template.controller.js +0 -142
  60. package/cjs/controllers/email-template.controller.spec.js +0 -89
  61. package/cjs/controllers/index.js +0 -20
  62. package/cjs/docs/email-swagger.config.js +0 -116
  63. package/cjs/docs/email-swagger.config.spec.js +0 -62
  64. package/cjs/docs/index.js +0 -11
  65. package/cjs/dtos/email-config.dto.js +0 -212
  66. package/cjs/dtos/email-send.dto.js +0 -354
  67. package/cjs/dtos/email-template.dto.js +0 -252
  68. package/cjs/dtos/index.js +0 -20
  69. package/cjs/entities/email-config-with-company.entity.js +0 -63
  70. package/cjs/entities/email-config.entity.js +0 -114
  71. package/cjs/entities/email-template-with-company.entity.js +0 -65
  72. package/cjs/entities/email-template.entity.js +0 -136
  73. package/cjs/entities/index.js +0 -56
  74. package/cjs/entities/index.spec.js +0 -18
  75. package/cjs/enums/email-provider-type.enum.js +0 -18
  76. package/cjs/enums/index.js +0 -18
  77. package/cjs/index.js +0 -28
  78. package/cjs/interfaces/email-config.interface.js +0 -4
  79. package/cjs/interfaces/email-module-options.interface.js +0 -4
  80. package/cjs/interfaces/email-provider.interface.js +0 -4
  81. package/cjs/interfaces/email-template.interface.js +0 -4
  82. package/cjs/interfaces/index.js +0 -21
  83. package/cjs/modules/email.module.js +0 -122
  84. package/cjs/modules/email.module.spec.js +0 -142
  85. package/cjs/modules/index.js +0 -18
  86. package/cjs/providers/email-factory.service.js +0 -113
  87. package/cjs/providers/email-factory.service.spec.js +0 -242
  88. package/cjs/providers/email-provider.registry.js +0 -41
  89. package/cjs/providers/email-provider.registry.spec.js +0 -58
  90. package/cjs/providers/index.js +0 -22
  91. package/cjs/providers/mailgun-provider.js +0 -119
  92. package/cjs/providers/mailgun-provider.spec.js +0 -244
  93. package/cjs/providers/sendgrid-provider.js +0 -129
  94. package/cjs/providers/sendgrid-provider.spec.js +0 -346
  95. package/cjs/providers/smtp-provider.js +0 -164
  96. package/cjs/providers/smtp-provider.spec.js +0 -327
  97. package/cjs/services/email-config.service.js +0 -71
  98. package/cjs/services/email-config.service.spec.js +0 -69
  99. package/cjs/services/email-datasource.provider.js +0 -84
  100. package/cjs/services/email-datasource.provider.spec.js +0 -135
  101. package/cjs/services/email-provider-config.service.js +0 -159
  102. package/cjs/services/email-provider-config.service.spec.js +0 -269
  103. package/cjs/services/email-send.service.js +0 -315
  104. package/cjs/services/email-send.service.spec.js +0 -614
  105. package/cjs/services/email-template.service.js +0 -144
  106. package/cjs/services/email-template.service.spec.js +0 -261
  107. package/cjs/services/index.js +0 -22
  108. package/cjs/utils/email-templates.util.js +0 -64
  109. package/cjs/utils/email-templates.util.spec.js +0 -61
  110. package/cjs/utils/index.js +0 -18
  111. package/fesm/config/email.constants.js +0 -4
  112. package/fesm/config/event-actions.js +0 -13
  113. package/fesm/config/message-keys.js +0 -18
  114. package/fesm/controllers/email-config.controller.js +0 -101
  115. package/fesm/controllers/email-config.controller.spec.js +0 -81
  116. package/fesm/controllers/email-send.controller.js +0 -118
  117. package/fesm/controllers/email-send.controller.spec.js +0 -135
  118. package/fesm/controllers/email-template.controller.js +0 -132
  119. package/fesm/controllers/email-template.controller.spec.js +0 -85
  120. package/fesm/docs/email-swagger.config.js +0 -109
  121. package/fesm/docs/email-swagger.config.spec.js +0 -58
  122. package/fesm/dtos/email-config.dto.js +0 -191
  123. package/fesm/dtos/email-send.dto.js +0 -324
  124. package/fesm/dtos/email-template.dto.js +0 -231
  125. package/fesm/entities/email-config-with-company.entity.js +0 -53
  126. package/fesm/entities/email-config.entity.js +0 -104
  127. package/fesm/entities/email-template-with-company.entity.js +0 -55
  128. package/fesm/entities/email-template.entity.js +0 -126
  129. package/fesm/entities/index.spec.js +0 -14
  130. package/fesm/enums/email-provider-type.enum.js +0 -8
  131. package/fesm/interfaces/email-config.interface.js +0 -1
  132. package/fesm/interfaces/email-module-options.interface.js +0 -1
  133. package/fesm/interfaces/email-provider.interface.js +0 -1
  134. package/fesm/interfaces/email-template.interface.js +0 -1
  135. package/fesm/modules/email.module.js +0 -112
  136. package/fesm/modules/email.module.spec.js +0 -138
  137. package/fesm/providers/email-factory.service.js +0 -103
  138. package/fesm/providers/email-factory.service.spec.js +0 -238
  139. package/fesm/providers/email-provider.registry.js +0 -31
  140. package/fesm/providers/email-provider.registry.spec.js +0 -54
  141. package/fesm/providers/mailgun-provider.js +0 -109
  142. package/fesm/providers/mailgun-provider.spec.js +0 -240
  143. package/fesm/providers/sendgrid-provider.js +0 -119
  144. package/fesm/providers/sendgrid-provider.spec.js +0 -342
  145. package/fesm/providers/smtp-provider.js +0 -113
  146. package/fesm/providers/smtp-provider.spec.js +0 -282
  147. package/fesm/services/email-config.service.js +0 -61
  148. package/fesm/services/email-config.service.spec.js +0 -65
  149. package/fesm/services/email-datasource.provider.js +0 -74
  150. package/fesm/services/email-datasource.provider.spec.js +0 -131
  151. package/fesm/services/email-provider-config.service.js +0 -149
  152. package/fesm/services/email-provider-config.service.spec.js +0 -265
  153. package/fesm/services/email-send.service.js +0 -305
  154. package/fesm/services/email-send.service.spec.js +0 -610
  155. package/fesm/services/email-template.service.js +0 -134
  156. package/fesm/services/email-template.service.spec.js +0 -257
  157. package/fesm/utils/email-templates.util.js +0 -47
  158. package/fesm/utils/email-templates.util.spec.js +0 -57
  159. package/fesm/utils/index.js +0 -1
package/index.d.ts CHANGED
@@ -1,10 +1,10 @@
1
- export * from './controllers';
2
- export * from './services';
3
- export * from './entities';
4
- export * from './modules';
5
- export * from './config';
6
- export * from './dtos';
7
- export * from './enums';
8
- export * from './interfaces';
9
- export * from './providers';
10
- export * from './utils';
1
+ export * from './controllers/index.js';
2
+ export * from './services/index.js';
3
+ export * from './entities/index.js';
4
+ export * from './modules/index.js';
5
+ export * from './config/index.js';
6
+ export * from './dtos/index.js';
7
+ export * from './enums/index.js';
8
+ export * from './interfaces/index.js';
9
+ export * from './providers/index.js';
10
+ export * from './utils/index.js';
@@ -1,5 +1,5 @@
1
- import { IIdentity } from '@flusys/nestjs-shared/interfaces';
2
- import { EmailProviderTypeEnum } from '../enums';
1
+ import { type IIdentity } from '@flusys/nestjs-shared/interfaces';
2
+ import { EmailProviderTypeEnum } from '../enums/index.js';
3
3
  export interface IEmailConfig extends IIdentity {
4
4
  name: string;
5
5
  provider: EmailProviderTypeEnum;
@@ -1,6 +1,6 @@
1
- import { IBootstrapAppConfig, IDataSourceServiceOptions, IDynamicModuleConfig } from '@flusys/nestjs-core';
2
- import { IModuleEventsConfig } from '@flusys/nestjs-shared/interfaces';
3
- import { ModuleMetadata, Type } from '@nestjs/common';
1
+ import { type IBootstrapAppConfig, type IDataSourceServiceOptions, type IDynamicModuleConfig } from '@flusys/nestjs-core';
2
+ import { type IModuleEventsConfig } from '@flusys/nestjs-shared/interfaces';
3
+ import { type ModuleMetadata, type Type } from '@nestjs/common';
4
4
  export interface IEmailModuleConfig extends IDataSourceServiceOptions {
5
5
  defaultProvider?: string;
6
6
  rateLimitPerMinute?: number;
@@ -1,4 +1,4 @@
1
- import { IIdentity } from '@flusys/nestjs-shared/interfaces';
1
+ import { type IIdentity } from '@flusys/nestjs-shared/interfaces';
2
2
  export interface IEmailTemplateVariable {
3
3
  name: string;
4
4
  type: 'string' | 'number' | 'boolean' | 'date';
@@ -1,4 +1,4 @@
1
- export * from './email-provider.interface';
2
- export * from './email-module-options.interface';
3
- export * from './email-config.interface';
4
- export * from './email-template.interface';
1
+ export * from './email-provider.interface.js';
2
+ export * from './email-module-options.interface.js';
3
+ export * from './email-config.interface.js';
4
+ export * from './email-template.interface.js';
@@ -1,5 +1,5 @@
1
- import { DynamicModule } from '@nestjs/common';
2
- import { EmailModuleAsyncOptions, EmailModuleOptions } from '../interfaces';
1
+ import { type DynamicModule } from '@nestjs/common';
2
+ import { type EmailModuleAsyncOptions, type EmailModuleOptions } from '../interfaces/index.js';
3
3
  export declare class EmailModule {
4
4
  static forRoot(options: EmailModuleOptions): DynamicModule;
5
5
  static forRootAsync(options: EmailModuleAsyncOptions): DynamicModule;
@@ -1 +1 @@
1
- export * from './email.module';
1
+ export * from './email.module.js';
package/package.json CHANGED
@@ -1,90 +1,79 @@
1
1
  {
2
2
  "name": "@flusys/nestjs-email",
3
- "version": "7.1.0",
3
+ "version": "8.0.0",
4
4
  "description": "Modular email package with SMTP, SendGrid, and Mailgun providers",
5
- "main": "cjs/index.js",
6
- "module": "fesm/index.js",
7
- "types": "index.d.ts",
5
+ "type": "module",
6
+ "main": "./fesm/index.js",
7
+ "module": "./fesm/index.js",
8
+ "types": "./index.d.ts",
8
9
  "sideEffects": false,
9
10
  "keywords": [
10
11
  "nestjs",
12
+ "@flusys",
11
13
  "email",
12
14
  "smtp",
13
15
  "sendgrid",
14
16
  "mailgun",
15
- "template",
16
- "@flusys"
17
+ "template"
17
18
  ],
18
19
  "license": "UNLICENSED",
19
20
  "exports": {
20
21
  ".": {
21
22
  "types": "./index.d.ts",
22
- "import": "./fesm/index.js",
23
- "require": "./cjs/index.js"
23
+ "import": "./fesm/index.js"
24
24
  },
25
25
  "./config": {
26
26
  "types": "./config/index.d.ts",
27
- "import": "./fesm/config/index.js",
28
- "require": "./cjs/config/index.js"
27
+ "import": "./fesm/config/index.js"
29
28
  },
30
29
  "./controllers": {
31
30
  "types": "./controllers/index.d.ts",
32
- "import": "./fesm/controllers/index.js",
33
- "require": "./cjs/controllers/index.js"
31
+ "import": "./fesm/controllers/index.js"
34
32
  },
35
33
  "./docs": {
36
34
  "types": "./docs/index.d.ts",
37
- "import": "./fesm/docs/index.js",
38
- "require": "./cjs/docs/index.js"
35
+ "import": "./fesm/docs/index.js"
39
36
  },
40
37
  "./dtos": {
41
38
  "types": "./dtos/index.d.ts",
42
- "import": "./fesm/dtos/index.js",
43
- "require": "./cjs/dtos/index.js"
39
+ "import": "./fesm/dtos/index.js"
44
40
  },
45
41
  "./entities": {
46
42
  "types": "./entities/index.d.ts",
47
- "import": "./fesm/entities/index.js",
48
- "require": "./cjs/entities/index.js"
43
+ "import": "./fesm/entities/index.js"
49
44
  },
50
45
  "./enums": {
51
46
  "types": "./enums/index.d.ts",
52
- "import": "./fesm/enums/index.js",
53
- "require": "./cjs/enums/index.js"
47
+ "import": "./fesm/enums/index.js"
54
48
  },
55
49
  "./interfaces": {
56
50
  "types": "./interfaces/index.d.ts",
57
- "import": "./fesm/interfaces/index.js",
58
- "require": "./cjs/interfaces/index.js"
51
+ "import": "./fesm/interfaces/index.js"
59
52
  },
60
53
  "./modules": {
61
54
  "types": "./modules/index.d.ts",
62
- "import": "./fesm/modules/index.js",
63
- "require": "./cjs/modules/index.js"
55
+ "import": "./fesm/modules/index.js"
64
56
  },
65
57
  "./providers": {
66
58
  "types": "./providers/index.d.ts",
67
- "import": "./fesm/providers/index.js",
68
- "require": "./cjs/providers/index.js"
59
+ "import": "./fesm/providers/index.js"
69
60
  },
70
61
  "./services": {
71
62
  "types": "./services/index.d.ts",
72
- "import": "./fesm/services/index.js",
73
- "require": "./cjs/services/index.js"
63
+ "import": "./fesm/services/index.js"
74
64
  },
75
65
  "./*": {
76
66
  "types": "./*.d.ts",
77
- "import": "./*.js",
78
- "require": "./*.js"
67
+ "import": "./fesm/*.js"
79
68
  }
80
69
  },
81
70
  "peerDependencies": {
82
- "@nestjs/common": "^11.0.0",
83
- "@nestjs/config": "^4.0.0",
84
- "@nestjs/core": "^11.0.0",
85
- "@nestjs/platform-express": "^11.0.0",
86
- "@nestjs/swagger": "^11.0.0",
87
- "@nestjs/typeorm": "^11.0.0",
71
+ "@nestjs/common": "^12.0.0",
72
+ "@nestjs/config": "^12.0.0",
73
+ "@nestjs/core": "^12.0.0",
74
+ "@nestjs/platform-express": "^12.0.0",
75
+ "@nestjs/swagger": "^12.0.0",
76
+ "@nestjs/typeorm": "^12.0.0",
88
77
  "class-transformer": "^0.5.1",
89
78
  "class-validator": "^0.15.0",
90
79
  "typeorm": "^0.3.0",
@@ -105,7 +94,7 @@
105
94
  }
106
95
  },
107
96
  "dependencies": {
108
- "@flusys/nestjs-core": "7.1.0",
109
- "@flusys/nestjs-shared": "7.1.0"
97
+ "@flusys/nestjs-core": "8.0.0",
98
+ "@flusys/nestjs-shared": "8.0.0"
110
99
  }
111
100
  }
@@ -1,5 +1,5 @@
1
- import { OnModuleDestroy } from '@nestjs/common';
2
- import { IEmailProvider, IEmailProviderConfig } from '../interfaces';
1
+ import { type OnModuleDestroy } from '@nestjs/common';
2
+ import { type IEmailProvider, type IEmailProviderConfig } from '../interfaces/index.js';
3
3
  export declare class EmailFactoryService implements OnModuleDestroy {
4
4
  private readonly providerCache;
5
5
  createProvider(config: IEmailProviderConfig): Promise<IEmailProvider>;
@@ -1,5 +1,5 @@
1
- import { Type } from '@nestjs/common';
2
- import { IEmailProvider } from '../interfaces';
1
+ import { type Type } from '@nestjs/common';
2
+ import { type IEmailProvider } from '../interfaces/index.js';
3
3
  export declare class EmailProviderRegistry {
4
4
  private static providers;
5
5
  static register(providerName: string, providerClass: Type<IEmailProvider>): void;
@@ -1,5 +1,5 @@
1
- export * from './email-provider.registry';
2
- export * from './email-factory.service';
3
- export * from './smtp-provider';
4
- export * from './sendgrid-provider';
5
- export * from './mailgun-provider';
1
+ export * from './email-provider.registry.js';
2
+ export * from './email-factory.service.js';
3
+ export * from './smtp-provider.js';
4
+ export * from './sendgrid-provider.js';
5
+ export * from './mailgun-provider.js';
@@ -1,4 +1,4 @@
1
- import { IEmailProvider, IEmailSendOptions, IEmailSendResult, IMailgunConfig } from '../interfaces';
1
+ import { type IEmailProvider, type IEmailSendOptions, type IEmailSendResult, type IMailgunConfig } from '../interfaces/index.js';
2
2
  export declare class MailgunProvider implements IEmailProvider {
3
3
  private client;
4
4
  private domain;
@@ -1,4 +1,4 @@
1
- import { IEmailProvider, IEmailSendOptions, IEmailSendResult, ISendGridConfig } from '../interfaces';
1
+ import { type IEmailProvider, type IEmailSendOptions, type IEmailSendResult, type ISendGridConfig } from '../interfaces/index.js';
2
2
  export declare class SendGridProvider implements IEmailProvider {
3
3
  private sgMail;
4
4
  private apiKey;
@@ -1,4 +1,4 @@
1
- import { IEmailProvider, IEmailSendOptions, IEmailSendResult, ISmtpConfig } from '../interfaces';
1
+ import { type IEmailProvider, type IEmailSendOptions, type IEmailSendResult, type ISmtpConfig } from '../interfaces/index.js';
2
2
  export declare class SmtpProvider implements IEmailProvider {
3
3
  private transporter;
4
4
  initialize(config: ISmtpConfig): Promise<void>;
@@ -1,6 +1,6 @@
1
- import { DatabaseMode } from '@flusys/nestjs-core';
2
- import { IModuleConfigService } from '@flusys/nestjs-shared/interfaces';
3
- import { EmailModuleOptions } from '../interfaces';
1
+ import { type DatabaseMode } from '@flusys/nestjs-core';
2
+ import { type IModuleConfigService } from '@flusys/nestjs-shared/interfaces';
3
+ import { type EmailModuleOptions } from '../interfaces/index.js';
4
4
  export declare class EmailConfigService implements IModuleConfigService {
5
5
  private readonly options;
6
6
  constructor(options: EmailModuleOptions);
@@ -1,8 +1,8 @@
1
1
  import { MultiTenantDataSourceService } from '@flusys/nestjs-shared/modules';
2
- import { IDatabaseConfig, ITenantDatabaseConfig } from '@flusys/nestjs-core';
3
- import { Request } from 'express';
2
+ import { type IDatabaseConfig, type ITenantDatabaseConfig } from '@flusys/nestjs-core';
3
+ import { type Request } from 'express';
4
4
  import { DataSource } from 'typeorm';
5
- import { EmailConfigService } from './email-config.service';
5
+ import { EmailConfigService } from './email-config.service.js';
6
6
  export declare class EmailDataSourceProvider extends MultiTenantDataSourceService {
7
7
  private readonly configService;
8
8
  protected static readonly tenantConnections: Map<string, DataSource>;
@@ -1,13 +1,13 @@
1
1
  import { HybridCache, ApiService } from '@flusys/nestjs-shared/classes';
2
2
  import { DeleteDto, FilterAndPaginationDto } from '@flusys/nestjs-shared/dtos';
3
- import { ILoggedUserInfo } from '@flusys/nestjs-shared/interfaces';
3
+ import { type ILoggedUserInfo } from '@flusys/nestjs-shared/interfaces';
4
4
  import { UtilsService } from '@flusys/nestjs-shared/modules';
5
- import { QueryRunner, SelectQueryBuilder } from 'typeorm';
6
- import { CreateEmailConfigDto, UpdateEmailConfigDto } from '../dtos';
7
- import { EmailConfig, EmailConfigBase } from '../entities';
8
- import { IEmailConfig } from '../interfaces';
9
- import { EmailConfigService } from './email-config.service';
10
- import { EmailDataSourceProvider } from './email-datasource.provider';
5
+ import { type QueryRunner, SelectQueryBuilder } from 'typeorm';
6
+ import { CreateEmailConfigDto, UpdateEmailConfigDto } from '../dtos/index.js';
7
+ import { EmailConfig, EmailConfigBase } from '../entities/index.js';
8
+ import { type IEmailConfig } from '../interfaces/index.js';
9
+ import { EmailConfigService } from './email-config.service.js';
10
+ import { EmailDataSourceProvider } from './email-datasource.provider.js';
11
11
  export declare class EmailProviderConfigService extends ApiService<CreateEmailConfigDto, UpdateEmailConfigDto, IEmailConfig, EmailConfigBase> {
12
12
  protected cacheManager: HybridCache;
13
13
  protected utilsService: UtilsService;
@@ -1,10 +1,10 @@
1
- import { ILoggedUserInfo } from '@flusys/nestjs-shared/interfaces';
2
- import { EmailConfigService } from './email-config.service';
3
- import { SendEmailDto, SendTemplateEmailDto } from '../dtos';
4
- import { IEmailSendResult } from '../interfaces';
5
- import { EmailFactoryService } from '../providers';
6
- import { EmailProviderConfigService } from './email-provider-config.service';
7
- import { EmailTemplateService } from './email-template.service';
1
+ import { type ILoggedUserInfo } from '@flusys/nestjs-shared/interfaces';
2
+ import { EmailConfigService } from './email-config.service.js';
3
+ import { SendEmailDto, SendTemplateEmailDto } from '../dtos/index.js';
4
+ import { type IEmailSendResult } from '../interfaces/index.js';
5
+ import { EmailFactoryService } from '../providers/index.js';
6
+ import { EmailProviderConfigService } from './email-provider-config.service.js';
7
+ import { EmailTemplateService } from './email-template.service.js';
8
8
  export declare class EmailSendService {
9
9
  private readonly emailFactory;
10
10
  private readonly emailConfigService;
@@ -1,13 +1,13 @@
1
1
  import { HybridCache, ApiService } from '@flusys/nestjs-shared/classes';
2
2
  import { FilterAndPaginationDto } from '@flusys/nestjs-shared/dtos';
3
- import { ILoggedUserInfo } from '@flusys/nestjs-shared/interfaces';
3
+ import { type ILoggedUserInfo } from '@flusys/nestjs-shared/interfaces';
4
4
  import { UtilsService } from '@flusys/nestjs-shared/modules';
5
5
  import { SelectQueryBuilder } from 'typeorm';
6
- import { CreateEmailTemplateDto, UpdateEmailTemplateDto } from '../dtos';
7
- import { EmailTemplate, EmailTemplateBase } from '../entities';
8
- import { IEmailTemplate } from '../interfaces';
9
- import { EmailConfigService } from './email-config.service';
10
- import { EmailDataSourceProvider } from './email-datasource.provider';
6
+ import { CreateEmailTemplateDto, UpdateEmailTemplateDto } from '../dtos/index.js';
7
+ import { EmailTemplate, EmailTemplateBase } from '../entities/index.js';
8
+ import { type IEmailTemplate } from '../interfaces/index.js';
9
+ import { EmailConfigService } from './email-config.service.js';
10
+ import { EmailDataSourceProvider } from './email-datasource.provider.js';
11
11
  export declare class EmailTemplateService extends ApiService<CreateEmailTemplateDto, UpdateEmailTemplateDto, IEmailTemplate, EmailTemplateBase> {
12
12
  protected cacheManager: HybridCache;
13
13
  protected utilsService: UtilsService;
@@ -1,5 +1,5 @@
1
- export * from './email-config.service';
2
- export * from './email-datasource.provider';
3
- export * from './email-provider-config.service';
4
- export * from './email-send.service';
5
- export * from './email-template.service';
1
+ export * from './email-config.service.js';
2
+ export * from './email-datasource.provider.js';
3
+ export * from './email-provider-config.service.js';
4
+ export * from './email-send.service.js';
5
+ export * from './email-template.service.js';
package/utils/index.d.ts CHANGED
@@ -1 +1 @@
1
- export * from './email-templates.util';
1
+ export * from './email-templates.util.js';
@@ -1,22 +0,0 @@
1
- /**
2
- * Email Module Constants
3
- */ "use strict";
4
- Object.defineProperty(exports, "__esModule", {
5
- value: true
6
- });
7
- function _export(target, all) {
8
- for(var name in all)Object.defineProperty(target, name, {
9
- enumerable: true,
10
- get: Object.getOwnPropertyDescriptor(all, name).get
11
- });
12
- }
13
- _export(exports, {
14
- get DEFAULT_FROM_NAME () {
15
- return DEFAULT_FROM_NAME;
16
- },
17
- get EMAIL_MODULE_OPTIONS () {
18
- return EMAIL_MODULE_OPTIONS;
19
- }
20
- });
21
- const EMAIL_MODULE_OPTIONS = 'EMAIL_MODULE_OPTIONS';
22
- const DEFAULT_FROM_NAME = 'FLUSYS';
@@ -1,34 +0,0 @@
1
- /**
2
- * Domain event actions published by the email module, alongside the CRUD
3
- * lifecycle actions every ApiService emits.
4
- */ "use strict";
5
- Object.defineProperty(exports, "__esModule", {
6
- value: true
7
- });
8
- function _export(target, all) {
9
- for(var name in all)Object.defineProperty(target, name, {
10
- enumerable: true,
11
- get: Object.getOwnPropertyDescriptor(all, name).get
12
- });
13
- }
14
- _export(exports, {
15
- get EMAIL_EVENT_ACTIONS () {
16
- return EMAIL_EVENT_ACTIONS;
17
- },
18
- get EMAIL_EVENT_ENTITIES () {
19
- return EMAIL_EVENT_ENTITIES;
20
- },
21
- get EMAIL_EVENT_MODULE () {
22
- return EMAIL_EVENT_MODULE;
23
- }
24
- });
25
- const EMAIL_EVENT_ACTIONS = {
26
- SENT: 'sent',
27
- FAILED: 'failed'
28
- };
29
- const EMAIL_EVENT_ENTITIES = {
30
- MESSAGE: 'email_message',
31
- CONFIG: 'emailConfig',
32
- TEMPLATE: 'emailTemplate'
33
- };
34
- const EMAIL_EVENT_MODULE = 'email';
@@ -1,20 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- _export_star(require("./email.constants"), exports);
6
- _export_star(require("./event-actions"), exports);
7
- _export_star(require("./message-keys"), exports);
8
- function _export_star(from, to) {
9
- Object.keys(from).forEach(function(k) {
10
- if (k !== "default" && !Object.prototype.hasOwnProperty.call(to, k)) {
11
- Object.defineProperty(to, k, {
12
- enumerable: true,
13
- get: function() {
14
- return from[k];
15
- }
16
- });
17
- }
18
- });
19
- return from;
20
- }
@@ -1,39 +0,0 @@
1
- // ==================== EMAIL MODULE MESSAGE KEYS ====================
2
- "use strict";
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- function _export(target, all) {
7
- for(var name in all)Object.defineProperty(target, name, {
8
- enumerable: true,
9
- get: Object.getOwnPropertyDescriptor(all, name).get
10
- });
11
- }
12
- _export(exports, {
13
- get EMAIL_CONFIG_MESSAGES () {
14
- return EMAIL_CONFIG_MESSAGES;
15
- },
16
- get EMAIL_SEND_MESSAGES () {
17
- return EMAIL_SEND_MESSAGES;
18
- },
19
- get EMAIL_TEMPLATE_MESSAGES () {
20
- return EMAIL_TEMPLATE_MESSAGES;
21
- }
22
- });
23
- const EMAIL_TEMPLATE_MESSAGES = {
24
- GET_SUCCESS: 'email.template.get.success',
25
- NOT_FOUND: 'email.template.not.found'
26
- };
27
- const EMAIL_CONFIG_MESSAGES = {
28
- DEFAULT_DELETE_FORBIDDEN: 'email.config.default.delete.forbidden'
29
- };
30
- const EMAIL_SEND_MESSAGES = {
31
- SUCCESS: 'email.send.success',
32
- FAILED: 'email.send.failed',
33
- CONFIG_NOT_FOUND: 'email.send.config.not.found',
34
- CONFIG_INACTIVE: 'email.send.config.inactive',
35
- CONFIG_DEFAULT_NOT_FOUND: 'email.send.config.default.not.found',
36
- TEMPLATE_NOT_FOUND: 'email.send.template.not.found',
37
- TEMPLATE_INACTIVE: 'email.send.template.inactive',
38
- TEMPLATE_ID_OR_SLUG_REQUIRED: 'email.send.template.id.or.slug.required'
39
- };
@@ -1,111 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- Object.defineProperty(exports, "EmailConfigController", {
6
- enumerable: true,
7
- get: function() {
8
- return EmailConfigController;
9
- }
10
- });
11
- const _classes = require("@flusys/nestjs-shared/classes");
12
- const _common = require("@nestjs/common");
13
- const _swagger = require("@nestjs/swagger");
14
- const _dtos = require("../dtos");
15
- const _services = require("../services");
16
- function _define_property(obj, key, value) {
17
- if (key in obj) {
18
- Object.defineProperty(obj, key, {
19
- value: value,
20
- enumerable: true,
21
- configurable: true,
22
- writable: true
23
- });
24
- } else {
25
- obj[key] = value;
26
- }
27
- return obj;
28
- }
29
- function _ts_decorate(decorators, target, key, desc) {
30
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
31
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
32
- else for(var i = decorators.length - 1; i >= 0; i--)if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
33
- return c > 3 && r && Object.defineProperty(target, key, r), r;
34
- }
35
- function _ts_metadata(k, v) {
36
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
37
- }
38
- function _ts_param(paramIndex, decorator) {
39
- return function(target, key) {
40
- decorator(target, key, paramIndex);
41
- };
42
- }
43
- let EmailConfigController = class EmailConfigController extends (0, _classes.createApiController)(_dtos.CreateEmailConfigDto, _dtos.UpdateEmailConfigDto, _dtos.EmailConfigResponseDto, {
44
- entityName: 'email.config',
45
- security: {
46
- insert: {
47
- level: 'permission',
48
- permissions: [
49
- _classes.EMAIL_CONFIG_PERMISSIONS.CREATE
50
- ]
51
- },
52
- insertMany: {
53
- level: 'permission',
54
- permissions: [
55
- _classes.EMAIL_CONFIG_PERMISSIONS.CREATE
56
- ]
57
- },
58
- getById: {
59
- level: 'permission',
60
- permissions: [
61
- _classes.EMAIL_CONFIG_PERMISSIONS.READ
62
- ]
63
- },
64
- getAll: {
65
- level: 'permission',
66
- permissions: [
67
- _classes.EMAIL_CONFIG_PERMISSIONS.READ
68
- ]
69
- },
70
- update: {
71
- level: 'permission',
72
- permissions: [
73
- _classes.EMAIL_CONFIG_PERMISSIONS.UPDATE
74
- ]
75
- },
76
- updateMany: {
77
- level: 'permission',
78
- permissions: [
79
- _classes.EMAIL_CONFIG_PERMISSIONS.UPDATE
80
- ]
81
- },
82
- delete: {
83
- level: 'permission',
84
- permissions: [
85
- _classes.EMAIL_CONFIG_PERMISSIONS.DELETE
86
- ]
87
- }
88
- },
89
- enabledEndpoints: [
90
- 'insert',
91
- 'insertMany',
92
- 'getById',
93
- 'getAll',
94
- 'update',
95
- 'updateMany',
96
- 'delete'
97
- ]
98
- }) {
99
- constructor(emailConfigService){
100
- super(emailConfigService), _define_property(this, "emailConfigService", void 0), this.emailConfigService = emailConfigService;
101
- }
102
- };
103
- EmailConfigController = _ts_decorate([
104
- (0, _swagger.ApiTags)('Email Config'),
105
- (0, _common.Controller)('email/email-config'),
106
- _ts_param(0, (0, _common.Inject)(_services.EmailProviderConfigService)),
107
- _ts_metadata("design:type", Function),
108
- _ts_metadata("design:paramtypes", [
109
- typeof _services.EmailProviderConfigService === "undefined" ? Object : _services.EmailProviderConfigService
110
- ])
111
- ], EmailConfigController);