@spinajs/email 2.0.444 → 2.0.446

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.
@@ -7,6 +7,11 @@ declare const email: {
7
7
  };
8
8
  email: {
9
9
  queue: string;
10
+ /**
11
+ * Default email template filesystem
12
+ * FS must be set in configuration on server/app that sends emails
13
+ */
14
+ templateFs: string;
10
15
  };
11
16
  queue: {
12
17
  routing: {
@@ -1 +1 @@
1
- {"version":3,"file":"email.d.ts","sourceRoot":"","sources":["../../../src/config/email.ts"],"names":[],"mappings":"AAYA,QAAA,MAAM,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;CA2BV,CAAC;AAEF,eAAe,KAAK,CAAC"}
1
+ {"version":3,"file":"email.d.ts","sourceRoot":"","sources":["../../../src/config/email.ts"],"names":[],"mappings":"AAYA,QAAA,MAAM,KAAK;;;;;;;;;QAWP;;;WAGG;;;;;;;;;;;;;;;;;;;CAmBN,CAAC;AAEF,eAAe,KAAK,CAAC"}
@@ -19,6 +19,11 @@ const email = {
19
19
  email: {
20
20
  // default email queue / transport
21
21
  queue: 'email-queue-black-hole',
22
+ /**
23
+ * Default email template filesystem
24
+ * FS must be set in configuration on server/app that sends emails
25
+ */
26
+ templateFs: "email-templates",
22
27
  },
23
28
  queue: {
24
29
  routing: {
@@ -1 +1 @@
1
- {"version":3,"file":"email.js","sourceRoot":"","sources":["../../../src/config/email.ts"],"names":[],"mappings":";;AAAA,+BAAgD;AAEhD,SAAS,GAAG,CAAC,IAAY;IACvB,MAAM,UAAU,GAAG,OAAO,MAAM,KAAK,WAAW,CAAC;IACjD,OAAO;QACL,IAAA,cAAO,EAAC,IAAA,gBAAS,EAAC,IAAA,WAAI,EAAC,OAAO,CAAC,GAAG,CAAC,mBAAmB,IAAI,OAAO,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,UAAU,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC;QAExJ,4CAA4C;QAC5C,IAAA,cAAO,EAAC,IAAA,gBAAS,EAAC,IAAA,WAAI,EAAC,OAAO,CAAC,GAAG,CAAC,mBAAmB,IAAI,OAAO,CAAC,GAAG,EAAE,EAAC,KAAK,EAAC,cAAc,EAAE,UAAU,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC;KAC9J,CAAC;AACJ,CAAC;AAED,MAAM,KAAK,GAAG;IACZ,MAAM,EAAE;QACN,IAAI,EAAE;YACJ,GAAG,EAAE,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC;YACpB,IAAI,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC;SACvB;KACF;IACD,KAAK,EAAE;QACL,kCAAkC;QAClC,KAAK,EAAE,wBAAwB;KAChC;IACD,KAAK,EAAE;QACL,OAAO,EAAE;YACP,YAAY,EAAE,EAAE,UAAU,EAAE,wBAAwB,EAAE;YACtD,SAAS,EAAE,EAAE,UAAU,EAAE,wBAAwB,EAAE;SACpD;QAED,0DAA0D;QAC1D,WAAW,EAAE;YACX;gBACE,IAAI,EAAE,wBAAwB;gBAC9B,OAAO,EAAE,sBAAsB;gBAC/B,mBAAmB,EAAE,YAAY;gBACjC,mBAAmB,EAAE,cAAc;aACpC;SACF;KACF;CACF,CAAC;AAEF,kBAAe,KAAK,CAAC"}
1
+ {"version":3,"file":"email.js","sourceRoot":"","sources":["../../../src/config/email.ts"],"names":[],"mappings":";;AAAA,+BAAgD;AAEhD,SAAS,GAAG,CAAC,IAAY;IACvB,MAAM,UAAU,GAAG,OAAO,MAAM,KAAK,WAAW,CAAC;IACjD,OAAO;QACL,IAAA,cAAO,EAAC,IAAA,gBAAS,EAAC,IAAA,WAAI,EAAC,OAAO,CAAC,GAAG,CAAC,mBAAmB,IAAI,OAAO,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,UAAU,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC;QAExJ,4CAA4C;QAC5C,IAAA,cAAO,EAAC,IAAA,gBAAS,EAAC,IAAA,WAAI,EAAC,OAAO,CAAC,GAAG,CAAC,mBAAmB,IAAI,OAAO,CAAC,GAAG,EAAE,EAAC,KAAK,EAAC,cAAc,EAAE,UAAU,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC;KAC9J,CAAC;AACJ,CAAC;AAED,MAAM,KAAK,GAAG;IACZ,MAAM,EAAE;QACN,IAAI,EAAE;YACJ,GAAG,EAAE,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC;YACpB,IAAI,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC;SACvB;KACF;IACD,KAAK,EAAE;QACL,kCAAkC;QAClC,KAAK,EAAE,wBAAwB;QAE/B;;;WAGG;QACH,UAAU,EAAE,iBAAiB;KAC9B;IACD,KAAK,EAAE;QACL,OAAO,EAAE;YACP,YAAY,EAAE,EAAE,UAAU,EAAE,wBAAwB,EAAE;YACtD,SAAS,EAAE,EAAE,UAAU,EAAE,wBAAwB,EAAE;SACpD;QAED,0DAA0D;QAC1D,WAAW,EAAE;YACX;gBACE,IAAI,EAAE,wBAAwB;gBAC9B,OAAO,EAAE,sBAAsB;gBAC/B,mBAAmB,EAAE,YAAY;gBACjC,mBAAmB,EAAE,cAAc;aACpC;SACF;KACF;CACF,CAAC;AAEF,kBAAe,KAAK,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import { QueueEvent } from '@spinajs/queue';
2
2
  import { DateTime } from 'luxon';
3
- import { IEmail } from '../interfaces.js';
3
+ import { IEmail, IEmailTemplate } from '../interfaces.js';
4
4
  export declare class EmailSent extends QueueEvent {
5
5
  Connection?: string;
6
6
  From: string;
@@ -8,7 +8,7 @@ export declare class EmailSent extends QueueEvent {
8
8
  /**
9
9
  * Email template eg. pug file or mustashe
10
10
  */
11
- Template?: string;
11
+ Template?: string | IEmailTemplate;
12
12
  /**
13
13
  * Data model used in template
14
14
  */
@@ -1 +1 @@
1
- {"version":3,"file":"EmailSent.d.ts","sourceRoot":"","sources":["../../../src/events/EmailSent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAS,MAAM,gBAAgB,CAAC;AACnD,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACjC,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAE1C,qBACa,SAAU,SAAQ,UAAU;IAChC,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,IAAI,EAAE,MAAM,CAAC;IAEb,EAAE,EAAE,MAAM,EAAE,CAAC;IAEpB;;OAEG;IACI,QAAQ,CAAC,EAAE,MAAM,CAAC;IAEzB;;OAEG;IACI,KAAK,CAAC,EAAE,GAAG,CAAC;IAEZ,OAAO,EAAE,MAAM,CAAC;IAEvB;;OAEG;IACI,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,MAAM,EAAE,QAAQ,CAAC;gBAEZ,KAAK,EAAE,MAAM;CAa1B"}
1
+ {"version":3,"file":"EmailSent.d.ts","sourceRoot":"","sources":["../../../src/events/EmailSent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAS,MAAM,gBAAgB,CAAC;AACnD,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACjC,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAE1D,qBACa,SAAU,SAAQ,UAAU;IAChC,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,IAAI,EAAE,MAAM,CAAC;IAEb,EAAE,EAAE,MAAM,EAAE,CAAC;IAEpB;;OAEG;IACI,QAAQ,CAAC,EAAE,MAAM,GAAG,cAAc,CAAC;IAE1C;;OAEG;IACI,KAAK,CAAC,EAAE,GAAG,CAAC;IAEZ,OAAO,EAAE,MAAM,CAAC;IAEvB;;OAEG;IACI,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,MAAM,EAAE,QAAQ,CAAC;gBAEZ,KAAK,EAAE,MAAM;CAa1B"}
@@ -2,10 +2,14 @@ import { AsyncService, IMappableService } from '@spinajs/di';
2
2
  import { Log } from '@spinajs/log';
3
3
  import { QueueService } from '@spinajs/queue';
4
4
  import { EmailSend } from './jobs/EmailSend.js';
5
+ import { fs } from '@spinajs/fs';
5
6
  export declare abstract class EmailSender extends AsyncService implements IMappableService {
6
7
  Options: EmailConnectionOptions;
8
+ protected defaultTemplateFsName: string;
9
+ protected defaultTemplateFs: fs;
7
10
  get ServiceName(): string;
8
11
  abstract send(email: IEmail): Promise<void>;
12
+ resolve(): Promise<void>;
9
13
  }
10
14
  export declare class BlackHoleEmailSender extends EmailSender {
11
15
  Options: EmailConnectionOptions;
@@ -31,6 +35,19 @@ export interface IEmailAttachement {
31
35
  */
32
36
  cid?: string;
33
37
  }
38
+ /**
39
+ * Email template def if template is in different fs than default templateFs
40
+ */
41
+ export interface IEmailTemplate {
42
+ /**
43
+ * Template name
44
+ */
45
+ file: string;
46
+ /**
47
+ * Template filesystem to use
48
+ */
49
+ fs: string;
50
+ }
34
51
  export interface IEmail {
35
52
  to: string[];
36
53
  cc?: string[];
@@ -44,7 +61,7 @@ export interface IEmail {
44
61
  /**
45
62
  * Local template name. Must be avaible in one of dirs set in template config
46
63
  */
47
- template?: string;
64
+ template?: string | IEmailTemplate;
48
65
  /**
49
66
  * Some implementations have predefined templates. It can be accessed by this Id
50
67
  * eg. mailersend
@@ -1 +1 @@
1
- {"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../src/interfaces.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../src/interfaces.ts"],"names":[],"mappings":"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"}
@@ -18,8 +18,20 @@ class EmailSender extends di_1.AsyncService {
18
18
  get ServiceName() {
19
19
  return this.Options.name;
20
20
  }
21
+ async resolve() {
22
+ if (this.defaultTemplateFsName) {
23
+ this.defaultTemplateFs = di_1.DI.resolve("__file_provider__", [this.defaultTemplateFsName]);
24
+ if (!this.defaultTemplateFs) {
25
+ throw new di_1.ResolveException('Default email template filesystem ' + this.defaultTemplateFsName + ' not found. Please check your configuration for email.templateFs and make sure that fs provider with name ' + this.defaultTemplateFsName + ' is registered');
26
+ }
27
+ }
28
+ }
21
29
  }
22
30
  exports.EmailSender = EmailSender;
31
+ __decorate([
32
+ (0, configuration_1.Config)('email.templateFs'),
33
+ __metadata("design:type", String)
34
+ ], EmailSender.prototype, "defaultTemplateFsName", void 0);
23
35
  let BlackHoleEmailSender = class BlackHoleEmailSender extends EmailSender {
24
36
  constructor(Options) {
25
37
  super();
@@ -1 +1 @@
1
- {"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../../src/interfaces.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,oCAAkG;AAClG,sCAA2C;AAC3C,0DAAmE;AACnE,0CAA8C;AAE9C,MAAsB,WAAY,SAAQ,iBAAY;IAGpD,IAAW,WAAW;QACpB,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;IAC3B,CAAC;CAGF;AARD,kCAQC;AAIM,IAAM,oBAAoB,GAA1B,MAAM,oBAAqB,SAAQ,WAAW;IAInD,YAAmB,OAA+B;QAChD,KAAK,EAAE,CAAC;QADS,YAAO,GAAP,OAAO,CAAwB;IAElD,CAAC;IAEM,KAAK,CAAC,IAAI,CAAC,MAAc;QAC9B,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,MAAM,CAAC,OAAO,qBAAqB,CAAC,CAAC;QAC5D,OAAO;IACT,CAAC;CACF,CAAA;AAZY,oDAAoB;AAErB;IADT,IAAA,YAAM,EAAC,OAAO,CAAC;8BACD,SAAG;iDAAC;+BAFR,oBAAoB;IAFhC,IAAA,eAAU,EAAC,WAAW,CAAC;IACvB,IAAA,gBAAW,GAAE;;GACD,oBAAoB,CAYhC;AAgJD,MAAsB,YAAa,SAAQ,iBAAY;CAkCtD;AAlCD,oCAkCC;AAhCW;IADT,IAAA,YAAM,EAAC,OAAO,CAAC;8BACD,SAAG;yCAAC;AAGT;IADT,IAAA,iCAAiB,EAAC,mBAAmB,EAAE,WAAW,CAAC;8BACjC,GAAG;6CAAsB;AAGlC;IADT,IAAA,sBAAM,EAAC,OAAO,CAAC;;mDAC4B;AAGlC;IADT,IAAA,eAAU,EAAC,oBAAY,CAAC;8BACR,oBAAY;2CAAC"}
1
+ {"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../../src/interfaces.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,oCAAwH;AACxH,sCAA2C;AAC3C,0DAAmE;AACnE,0CAA8C;AAG9C,MAAsB,WAAY,SAAQ,iBAAY;IAQpD,IAAW,WAAW;QACpB,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;IAC3B,CAAC;IAIM,KAAK,CAAC,OAAO;QAClB,IAAI,IAAI,CAAC,qBAAqB,EAAE,CAAC;YAC/B,IAAI,CAAC,iBAAiB,GAAG,OAAE,CAAC,OAAO,CAAC,mBAAmB,EAAE,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC;YAEvF,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC;gBAC5B,MAAM,IAAI,qBAAgB,CAAC,oCAAoC,GAAG,IAAI,CAAC,qBAAqB,GAAG,4GAA4G,GAAG,IAAI,CAAC,qBAAqB,GAAG,gBAAgB,CAAC,CAAC;YAC/P,CAAC;QACH,CAAC;IACH,CAAC;CACF;AAvBD,kCAuBC;AAnBW;IADT,IAAA,sBAAM,EAAC,kBAAkB,CAAC;;0DACa;AAuBnC,IAAM,oBAAoB,GAA1B,MAAM,oBAAqB,SAAQ,WAAW;IAKnD,YAAmB,OAA+B;QAChD,KAAK,EAAE,CAAC;QADS,YAAO,GAAP,OAAO,CAAwB;IAElD,CAAC;IAEM,KAAK,CAAC,IAAI,CAAC,MAAc;QAC9B,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,MAAM,CAAC,OAAO,qBAAqB,CAAC,CAAC;QAC5D,OAAO;IACT,CAAC;CACF,CAAA;AAbY,oDAAoB;AAErB;IADT,IAAA,YAAM,EAAC,OAAO,CAAC;8BACD,SAAG;iDAAC;+BAFR,oBAAoB;IAFhC,IAAA,eAAU,EAAC,WAAW,CAAC;IACvB,IAAA,gBAAW,GAAE;;GACD,oBAAoB,CAahC;AAgKD,MAAsB,YAAa,SAAQ,iBAAY;CAmCtD;AAnCD,oCAmCC;AAjCW;IADT,IAAA,YAAM,EAAC,OAAO,CAAC;8BACD,SAAG;yCAAC;AAGT;IADT,IAAA,iCAAiB,EAAC,mBAAmB,EAAE,WAAW,CAAC;8BACjC,GAAG;6CAAsB;AAGlC;IADT,IAAA,sBAAM,EAAC,OAAO,CAAC;;mDAC4B;AAGlC;IADT,IAAA,eAAU,EAAC,oBAAY,CAAC;8BACR,oBAAY;2CAAC"}
@@ -7,6 +7,11 @@ declare const email: {
7
7
  };
8
8
  email: {
9
9
  queue: string;
10
+ /**
11
+ * Default email template filesystem
12
+ * FS must be set in configuration on server/app that sends emails
13
+ */
14
+ templateFs: string;
10
15
  };
11
16
  queue: {
12
17
  routing: {
@@ -1 +1 @@
1
- {"version":3,"file":"email.d.ts","sourceRoot":"","sources":["../../../src/config/email.ts"],"names":[],"mappings":"AAYA,QAAA,MAAM,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;CA2BV,CAAC;AAEF,eAAe,KAAK,CAAC"}
1
+ {"version":3,"file":"email.d.ts","sourceRoot":"","sources":["../../../src/config/email.ts"],"names":[],"mappings":"AAYA,QAAA,MAAM,KAAK;;;;;;;;;QAWP;;;WAGG;;;;;;;;;;;;;;;;;;;CAmBN,CAAC;AAEF,eAAe,KAAK,CAAC"}
@@ -17,6 +17,11 @@ const email = {
17
17
  email: {
18
18
  // default email queue / transport
19
19
  queue: 'email-queue-black-hole',
20
+ /**
21
+ * Default email template filesystem
22
+ * FS must be set in configuration on server/app that sends emails
23
+ */
24
+ templateFs: "email-templates",
20
25
  },
21
26
  queue: {
22
27
  routing: {
@@ -1 +1 @@
1
- {"version":3,"file":"email.js","sourceRoot":"","sources":["../../../src/config/email.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAEhD,SAAS,GAAG,CAAC,IAAY;IACvB,MAAM,UAAU,GAAG,OAAO,MAAM,KAAK,WAAW,CAAC;IACjD,OAAO;QACL,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,mBAAmB,IAAI,OAAO,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,UAAU,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC;QAExJ,4CAA4C;QAC5C,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,mBAAmB,IAAI,OAAO,CAAC,GAAG,EAAE,EAAC,KAAK,EAAC,cAAc,EAAE,UAAU,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC;KAC9J,CAAC;AACJ,CAAC;AAED,MAAM,KAAK,GAAG;IACZ,MAAM,EAAE;QACN,IAAI,EAAE;YACJ,GAAG,EAAE,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC;YACpB,IAAI,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC;SACvB;KACF;IACD,KAAK,EAAE;QACL,kCAAkC;QAClC,KAAK,EAAE,wBAAwB;KAChC;IACD,KAAK,EAAE;QACL,OAAO,EAAE;YACP,YAAY,EAAE,EAAE,UAAU,EAAE,wBAAwB,EAAE;YACtD,SAAS,EAAE,EAAE,UAAU,EAAE,wBAAwB,EAAE;SACpD;QAED,0DAA0D;QAC1D,WAAW,EAAE;YACX;gBACE,IAAI,EAAE,wBAAwB;gBAC9B,OAAO,EAAE,sBAAsB;gBAC/B,mBAAmB,EAAE,YAAY;gBACjC,mBAAmB,EAAE,cAAc;aACpC;SACF;KACF;CACF,CAAC;AAEF,eAAe,KAAK,CAAC"}
1
+ {"version":3,"file":"email.js","sourceRoot":"","sources":["../../../src/config/email.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAEhD,SAAS,GAAG,CAAC,IAAY;IACvB,MAAM,UAAU,GAAG,OAAO,MAAM,KAAK,WAAW,CAAC;IACjD,OAAO;QACL,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,mBAAmB,IAAI,OAAO,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,UAAU,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC;QAExJ,4CAA4C;QAC5C,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,mBAAmB,IAAI,OAAO,CAAC,GAAG,EAAE,EAAC,KAAK,EAAC,cAAc,EAAE,UAAU,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC;KAC9J,CAAC;AACJ,CAAC;AAED,MAAM,KAAK,GAAG;IACZ,MAAM,EAAE;QACN,IAAI,EAAE;YACJ,GAAG,EAAE,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC;YACpB,IAAI,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC;SACvB;KACF;IACD,KAAK,EAAE;QACL,kCAAkC;QAClC,KAAK,EAAE,wBAAwB;QAE/B;;;WAGG;QACH,UAAU,EAAE,iBAAiB;KAC9B;IACD,KAAK,EAAE;QACL,OAAO,EAAE;YACP,YAAY,EAAE,EAAE,UAAU,EAAE,wBAAwB,EAAE;YACtD,SAAS,EAAE,EAAE,UAAU,EAAE,wBAAwB,EAAE;SACpD;QAED,0DAA0D;QAC1D,WAAW,EAAE;YACX;gBACE,IAAI,EAAE,wBAAwB;gBAC9B,OAAO,EAAE,sBAAsB;gBAC/B,mBAAmB,EAAE,YAAY;gBACjC,mBAAmB,EAAE,cAAc;aACpC;SACF;KACF;CACF,CAAC;AAEF,eAAe,KAAK,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import { QueueEvent } from '@spinajs/queue';
2
2
  import { DateTime } from 'luxon';
3
- import { IEmail } from '../interfaces.js';
3
+ import { IEmail, IEmailTemplate } from '../interfaces.js';
4
4
  export declare class EmailSent extends QueueEvent {
5
5
  Connection?: string;
6
6
  From: string;
@@ -8,7 +8,7 @@ export declare class EmailSent extends QueueEvent {
8
8
  /**
9
9
  * Email template eg. pug file or mustashe
10
10
  */
11
- Template?: string;
11
+ Template?: string | IEmailTemplate;
12
12
  /**
13
13
  * Data model used in template
14
14
  */
@@ -1 +1 @@
1
- {"version":3,"file":"EmailSent.d.ts","sourceRoot":"","sources":["../../../src/events/EmailSent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAS,MAAM,gBAAgB,CAAC;AACnD,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACjC,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAE1C,qBACa,SAAU,SAAQ,UAAU;IAChC,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,IAAI,EAAE,MAAM,CAAC;IAEb,EAAE,EAAE,MAAM,EAAE,CAAC;IAEpB;;OAEG;IACI,QAAQ,CAAC,EAAE,MAAM,CAAC;IAEzB;;OAEG;IACI,KAAK,CAAC,EAAE,GAAG,CAAC;IAEZ,OAAO,EAAE,MAAM,CAAC;IAEvB;;OAEG;IACI,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,MAAM,EAAE,QAAQ,CAAC;gBAEZ,KAAK,EAAE,MAAM;CAa1B"}
1
+ {"version":3,"file":"EmailSent.d.ts","sourceRoot":"","sources":["../../../src/events/EmailSent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAS,MAAM,gBAAgB,CAAC;AACnD,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACjC,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAE1D,qBACa,SAAU,SAAQ,UAAU;IAChC,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,IAAI,EAAE,MAAM,CAAC;IAEb,EAAE,EAAE,MAAM,EAAE,CAAC;IAEpB;;OAEG;IACI,QAAQ,CAAC,EAAE,MAAM,GAAG,cAAc,CAAC;IAE1C;;OAEG;IACI,KAAK,CAAC,EAAE,GAAG,CAAC;IAEZ,OAAO,EAAE,MAAM,CAAC;IAEvB;;OAEG;IACI,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,MAAM,EAAE,QAAQ,CAAC;gBAEZ,KAAK,EAAE,MAAM;CAa1B"}
@@ -2,10 +2,14 @@ import { AsyncService, IMappableService } from '@spinajs/di';
2
2
  import { Log } from '@spinajs/log';
3
3
  import { QueueService } from '@spinajs/queue';
4
4
  import { EmailSend } from './jobs/EmailSend.js';
5
+ import { fs } from '@spinajs/fs';
5
6
  export declare abstract class EmailSender extends AsyncService implements IMappableService {
6
7
  Options: EmailConnectionOptions;
8
+ protected defaultTemplateFsName: string;
9
+ protected defaultTemplateFs: fs;
7
10
  get ServiceName(): string;
8
11
  abstract send(email: IEmail): Promise<void>;
12
+ resolve(): Promise<void>;
9
13
  }
10
14
  export declare class BlackHoleEmailSender extends EmailSender {
11
15
  Options: EmailConnectionOptions;
@@ -31,6 +35,19 @@ export interface IEmailAttachement {
31
35
  */
32
36
  cid?: string;
33
37
  }
38
+ /**
39
+ * Email template def if template is in different fs than default templateFs
40
+ */
41
+ export interface IEmailTemplate {
42
+ /**
43
+ * Template name
44
+ */
45
+ file: string;
46
+ /**
47
+ * Template filesystem to use
48
+ */
49
+ fs: string;
50
+ }
34
51
  export interface IEmail {
35
52
  to: string[];
36
53
  cc?: string[];
@@ -44,7 +61,7 @@ export interface IEmail {
44
61
  /**
45
62
  * Local template name. Must be avaible in one of dirs set in template config
46
63
  */
47
- template?: string;
64
+ template?: string | IEmailTemplate;
48
65
  /**
49
66
  * Some implementations have predefined templates. It can be accessed by this Id
50
67
  * eg. mailersend
@@ -1 +1 @@
1
- {"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../src/interfaces.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../src/interfaces.ts"],"names":[],"mappings":"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"}
@@ -7,7 +7,7 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
7
7
  var __metadata = (this && this.__metadata) || function (k, v) {
8
8
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
9
  };
10
- import { AsyncService, Autoinject, Injectable, NewInstance } from '@spinajs/di';
10
+ import { AsyncService, Autoinject, DI, Injectable, NewInstance, ResolveException } from '@spinajs/di';
11
11
  import { Log, Logger } from '@spinajs/log';
12
12
  import { AutoinjectService, Config } from '@spinajs/configuration';
13
13
  import { QueueService } from '@spinajs/queue';
@@ -15,7 +15,19 @@ export class EmailSender extends AsyncService {
15
15
  get ServiceName() {
16
16
  return this.Options.name;
17
17
  }
18
+ async resolve() {
19
+ if (this.defaultTemplateFsName) {
20
+ this.defaultTemplateFs = DI.resolve("__file_provider__", [this.defaultTemplateFsName]);
21
+ if (!this.defaultTemplateFs) {
22
+ throw new ResolveException('Default email template filesystem ' + this.defaultTemplateFsName + ' not found. Please check your configuration for email.templateFs and make sure that fs provider with name ' + this.defaultTemplateFsName + ' is registered');
23
+ }
24
+ }
25
+ }
18
26
  }
27
+ __decorate([
28
+ Config('email.templateFs'),
29
+ __metadata("design:type", String)
30
+ ], EmailSender.prototype, "defaultTemplateFsName", void 0);
19
31
  let BlackHoleEmailSender = class BlackHoleEmailSender extends EmailSender {
20
32
  constructor(Options) {
21
33
  super();
@@ -1 +1 @@
1
- {"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../../src/interfaces.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,YAAY,EAAE,UAAU,EAAoB,UAAU,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAClG,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,iBAAiB,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AACnE,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C,MAAM,OAAgB,WAAY,SAAQ,YAAY;IAGpD,IAAW,WAAW;QACpB,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;IAC3B,CAAC;CAGF;AAIM,IAAM,oBAAoB,GAA1B,MAAM,oBAAqB,SAAQ,WAAW;IAInD,YAAmB,OAA+B;QAChD,KAAK,EAAE,CAAC;QADS,YAAO,GAAP,OAAO,CAAwB;IAElD,CAAC;IAEM,KAAK,CAAC,IAAI,CAAC,MAAc;QAC9B,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,MAAM,CAAC,OAAO,qBAAqB,CAAC,CAAC;QAC5D,OAAO;IACT,CAAC;CACF,CAAA;AAVW;IADT,MAAM,CAAC,OAAO,CAAC;8BACD,GAAG;iDAAC;AAFR,oBAAoB;IAFhC,UAAU,CAAC,WAAW,CAAC;IACvB,WAAW,EAAE;;GACD,oBAAoB,CAYhC;;AAgJD,MAAM,OAAgB,YAAa,SAAQ,YAAY;CAkCtD;AAhCW;IADT,MAAM,CAAC,OAAO,CAAC;8BACD,GAAG;yCAAC;AAGT;IADT,iBAAiB,CAAC,mBAAmB,EAAE,WAAW,CAAC;8BACjC,GAAG;6CAAsB;AAGlC;IADT,MAAM,CAAC,OAAO,CAAC;;mDAC4B;AAGlC;IADT,UAAU,CAAC,YAAY,CAAC;8BACR,YAAY;2CAAC"}
1
+ {"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../../src/interfaces.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,EAAE,EAAoB,UAAU,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AACxH,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,iBAAiB,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AACnE,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAG9C,MAAM,OAAgB,WAAY,SAAQ,YAAY;IAQpD,IAAW,WAAW;QACpB,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;IAC3B,CAAC;IAIM,KAAK,CAAC,OAAO;QAClB,IAAI,IAAI,CAAC,qBAAqB,EAAE,CAAC;YAC/B,IAAI,CAAC,iBAAiB,GAAG,EAAE,CAAC,OAAO,CAAC,mBAAmB,EAAE,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC;YAEvF,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC;gBAC5B,MAAM,IAAI,gBAAgB,CAAC,oCAAoC,GAAG,IAAI,CAAC,qBAAqB,GAAG,4GAA4G,GAAG,IAAI,CAAC,qBAAqB,GAAG,gBAAgB,CAAC,CAAC;YAC/P,CAAC;QACH,CAAC;IACH,CAAC;CACF;AAnBW;IADT,MAAM,CAAC,kBAAkB,CAAC;;0DACa;AAuBnC,IAAM,oBAAoB,GAA1B,MAAM,oBAAqB,SAAQ,WAAW;IAKnD,YAAmB,OAA+B;QAChD,KAAK,EAAE,CAAC;QADS,YAAO,GAAP,OAAO,CAAwB;IAElD,CAAC;IAEM,KAAK,CAAC,IAAI,CAAC,MAAc;QAC9B,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,MAAM,CAAC,OAAO,qBAAqB,CAAC,CAAC;QAC5D,OAAO;IACT,CAAC;CACF,CAAA;AAXW;IADT,MAAM,CAAC,OAAO,CAAC;8BACD,GAAG;iDAAC;AAFR,oBAAoB;IAFhC,UAAU,CAAC,WAAW,CAAC;IACvB,WAAW,EAAE;;GACD,oBAAoB,CAahC;;AAgKD,MAAM,OAAgB,YAAa,SAAQ,YAAY;CAmCtD;AAjCW;IADT,MAAM,CAAC,OAAO,CAAC;8BACD,GAAG;yCAAC;AAGT;IADT,iBAAiB,CAAC,mBAAmB,EAAE,WAAW,CAAC;8BACjC,GAAG;6CAAsB;AAGlC;IADT,MAAM,CAAC,OAAO,CAAC;;mDAC4B;AAGlC;IADT,UAAU,CAAC,YAAY,CAAC;8BACR,YAAY;2CAAC"}