@flusys/nestjs-email 4.1.1 → 5.0.1

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 (30) hide show
  1. package/README.md +93 -384
  2. package/cjs/config/message-keys.js +1 -38
  3. package/cjs/controllers/email-template.controller.js +9 -3
  4. package/cjs/docs/email-swagger.config.js +5 -3
  5. package/cjs/dtos/email-template.dto.js +1 -21
  6. package/cjs/entities/email-config.entity.js +2 -1
  7. package/cjs/entities/email-template.entity.js +3 -8
  8. package/cjs/providers/email-factory.service.js +5 -5
  9. package/cjs/providers/mailgun-provider.js +5 -2
  10. package/cjs/providers/sendgrid-provider.js +5 -2
  11. package/cjs/services/email-provider-config.service.js +0 -10
  12. package/cjs/services/email-template.service.js +0 -13
  13. package/config/message-keys.d.ts +0 -68
  14. package/dtos/email-template.dto.d.ts +0 -2
  15. package/entities/email-template.entity.d.ts +0 -1
  16. package/fesm/config/message-keys.js +1 -33
  17. package/fesm/controllers/email-template.controller.js +10 -4
  18. package/fesm/docs/email-swagger.config.js +5 -3
  19. package/fesm/dtos/email-template.dto.js +1 -21
  20. package/fesm/entities/email-config.entity.js +2 -1
  21. package/fesm/entities/email-template.entity.js +3 -8
  22. package/fesm/providers/email-factory.service.js +5 -5
  23. package/fesm/providers/mailgun-provider.js +5 -2
  24. package/fesm/providers/sendgrid-provider.js +5 -2
  25. package/fesm/services/email-provider-config.service.js +0 -10
  26. package/fesm/services/email-template.service.js +0 -13
  27. package/interfaces/email-template.interface.d.ts +0 -1
  28. package/package.json +3 -3
  29. package/services/email-provider-config.service.d.ts +0 -2
  30. package/services/email-template.service.d.ts +0 -1
@@ -11,8 +11,8 @@ function _define_property(obj, key, value) {
11
11
  }
12
12
  return obj;
13
13
  }
14
- import { InternalServerErrorException } from '@nestjs/common';
15
14
  import { SYSTEM_MESSAGES } from '@flusys/nestjs-shared/constants';
15
+ import { InternalServerErrorException } from '@nestjs/common';
16
16
  export class SendGridProvider {
17
17
  async initialize(config) {
18
18
  this.apiKey = config.apiKey;
@@ -24,7 +24,10 @@ export class SendGridProvider {
24
24
  } catch {
25
25
  throw new InternalServerErrorException({
26
26
  message: 'SendGrid initialization failed. Install: npm install @sendgrid/mail',
27
- messageKey: SYSTEM_MESSAGES.SDK_NOT_INSTALLED
27
+ messageKey: SYSTEM_MESSAGES.SDK_NOT_INSTALLED,
28
+ messageVariables: {
29
+ sdk: 'sendgrid'
30
+ }
28
31
  });
29
32
  }
30
33
  }
@@ -108,16 +108,6 @@ export class EmailProviderConfigService extends RequestScopedApiService {
108
108
  }
109
109
  });
110
110
  }
111
- async getConfigByProvider(provider, user) {
112
- await this.ensureRepositoryInitialized();
113
- const where = buildCompanyWhereCondition({
114
- provider,
115
- isActive: true
116
- }, this.emailConfig.isCompanyFeatureEnabled(), user);
117
- return this.repository.find({
118
- where
119
- });
120
- }
121
111
  constructor(cacheManager, utilsService, emailConfig, dataSourceProvider){
122
112
  super('emailConfig', null, cacheManager, utilsService, EmailProviderConfigService.name, true, 'email'), _define_property(this, "cacheManager", void 0), _define_property(this, "utilsService", void 0), _define_property(this, "emailConfig", void 0), _define_property(this, "dataSourceProvider", void 0), this.cacheManager = cacheManager, this.utilsService = utilsService, this.emailConfig = emailConfig, this.dataSourceProvider = dataSourceProvider;
123
113
  }
@@ -44,7 +44,6 @@ const DEFAULT_SELECT_FIELDS = [
44
44
  'schemaVersion',
45
45
  'isActive',
46
46
  'isHtml',
47
- 'metadata',
48
47
  'createdAt',
49
48
  'updatedAt'
50
49
  ];
@@ -104,18 +103,6 @@ export class EmailTemplateService extends RequestScopedApiService {
104
103
  where
105
104
  });
106
105
  }
107
- async getActiveTemplates(user) {
108
- await this.ensureRepositoryInitialized();
109
- const where = buildCompanyWhereCondition({
110
- isActive: true
111
- }, this.emailConfig.isCompanyFeatureEnabled(), user);
112
- return this.repository.find({
113
- where,
114
- order: {
115
- name: 'ASC'
116
- }
117
- });
118
- }
119
106
  // ─── Private Helpers ────────────────────────────────────────────────────────
120
107
  async incrementSchemaVersionIfChanged(dto, entity) {
121
108
  const updateDto = dto;
@@ -17,7 +17,6 @@ export interface IEmailTemplate extends IIdentity {
17
17
  schemaVersion: number;
18
18
  isActive: boolean;
19
19
  isHtml: boolean;
20
- metadata: Record<string, unknown> | null;
21
20
  companyId?: string | null;
22
21
  }
23
22
  export interface IEmailSection {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@flusys/nestjs-email",
3
- "version": "4.1.1",
3
+ "version": "5.0.1",
4
4
  "description": "Modular email package with SMTP, SendGrid, and Mailgun providers",
5
5
  "main": "cjs/index.js",
6
6
  "module": "fesm/index.js",
@@ -105,7 +105,7 @@
105
105
  }
106
106
  },
107
107
  "dependencies": {
108
- "@flusys/nestjs-core": "4.1.1",
109
- "@flusys/nestjs-shared": "4.1.1"
108
+ "@flusys/nestjs-core": "5.0.1",
109
+ "@flusys/nestjs-shared": "5.0.1"
110
110
  }
111
111
  }
@@ -6,7 +6,6 @@ import { EntityTarget, Repository, SelectQueryBuilder } from 'typeorm';
6
6
  import { EmailConfigService } from './email-config.service';
7
7
  import { CreateEmailConfigDto, UpdateEmailConfigDto } from '../dtos';
8
8
  import { EmailConfig, EmailConfigBase } from '../entities';
9
- import { EmailProviderTypeEnum } from '../enums';
10
9
  import { IEmailConfig } from '../interfaces';
11
10
  import { EmailDataSourceProvider } from './email-datasource.provider';
12
11
  export declare class EmailProviderConfigService extends RequestScopedApiService<CreateEmailConfigDto, UpdateEmailConfigDto, IEmailConfig, EmailConfigBase, Repository<EmailConfigBase>> {
@@ -28,5 +27,4 @@ export declare class EmailProviderConfigService extends RequestScopedApiService<
28
27
  }>;
29
28
  findByIdDirect(id: string): Promise<EmailConfigBase | null>;
30
29
  getDefaultConfig(user?: ILoggedUserInfo): Promise<EmailConfigBase | null>;
31
- getConfigByProvider(provider: EmailProviderTypeEnum, user?: ILoggedUserInfo): Promise<EmailConfigBase[]>;
32
30
  }
@@ -27,6 +27,5 @@ export declare class EmailTemplateService extends RequestScopedApiService<Create
27
27
  }>;
28
28
  findByIdDirect(id: string): Promise<EmailTemplateBase | null>;
29
29
  findBySlug(slug: string, user?: ILoggedUserInfo): Promise<EmailTemplateBase | null>;
30
- getActiveTemplates(user?: ILoggedUserInfo): Promise<EmailTemplateBase[]>;
31
30
  private incrementSchemaVersionIfChanged;
32
31
  }