@nathapp/nestjs-notification 1.0.0-rc.5 → 1.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.
- package/README.md +3 -3
- package/dist/email/constant.js +1 -0
- package/dist/email/constant.js.map +1 -0
- package/dist/email/email-provider.factory.js +1 -0
- package/dist/email/email-provider.factory.js.map +1 -0
- package/dist/email/email.interface.js +1 -0
- package/dist/email/email.interface.js.map +1 -0
- package/dist/email/email.module.d.ts +3 -0
- package/dist/email/email.module.js +20 -5
- package/dist/email/email.module.js.map +1 -0
- package/dist/email/email.provider.d.ts +2 -0
- package/dist/email/email.provider.js +29 -7
- package/dist/email/email.provider.js.map +1 -0
- package/dist/email/email.service.d.ts +1 -1
- package/dist/email/email.service.js +3 -2
- package/dist/email/email.service.js.map +1 -0
- package/dist/email/index.d.ts +2 -2
- package/dist/email/index.js +3 -1
- package/dist/email/index.js.map +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -0
- package/dist/interface/index.d.ts +4 -2
- package/dist/interface/index.js +1 -0
- package/dist/interface/index.js.map +1 -0
- package/dist/interface/message.interface.d.ts +13 -0
- package/dist/interface/message.interface.js +1 -0
- package/dist/interface/message.interface.js.map +1 -0
- package/dist/interface/payload.inteface.d.ts +22 -0
- package/dist/interface/payload.inteface.js +3 -0
- package/dist/interface/payload.inteface.js.map +1 -0
- package/dist/interface/result.interface.d.ts +5 -0
- package/dist/interface/result.interface.js +1 -0
- package/dist/interface/result.interface.js.map +1 -0
- package/dist/notification/constant.js +1 -0
- package/dist/notification/constant.js.map +1 -0
- package/dist/notification/index.d.ts +2 -2
- package/dist/notification/index.js +1 -0
- package/dist/notification/index.js.map +1 -0
- package/dist/notification/notification.module.d.ts +28 -5
- package/dist/notification/notification.module.js +149 -10
- package/dist/notification/notification.module.js.map +1 -0
- package/dist/notification/notification.service.d.ts +14 -3
- package/dist/notification/notification.service.js +135 -10
- package/dist/notification/notification.service.js.map +1 -0
- package/dist/push-notification/constant.d.ts +1 -0
- package/dist/push-notification/constant.js +5 -0
- package/dist/push-notification/constant.js.map +1 -0
- package/dist/push-notification/fcm-push-notification.provider.d.ts +13 -0
- package/dist/push-notification/fcm-push-notification.provider.js +78 -0
- package/dist/push-notification/fcm-push-notification.provider.js.map +1 -0
- package/dist/push-notification/firebase.interface.d.ts +144 -0
- package/dist/push-notification/firebase.interface.js +3 -0
- package/dist/push-notification/firebase.interface.js.map +1 -0
- package/dist/push-notification/index.d.ts +11 -0
- package/dist/push-notification/index.js +24 -0
- package/dist/push-notification/index.js.map +1 -0
- package/dist/push-notification/push-notification-module.interface.d.ts +33 -0
- package/dist/push-notification/push-notification-module.interface.js +4 -0
- package/dist/push-notification/push-notification-module.interface.js.map +1 -0
- package/dist/push-notification/push-notification-provider-module.factory.d.ts +5 -0
- package/dist/push-notification/push-notification-provider-module.factory.js +13 -0
- package/dist/push-notification/push-notification-provider-module.factory.js.map +1 -0
- package/dist/push-notification/push-notification-provider.factory.d.ts +5 -0
- package/dist/push-notification/push-notification-provider.factory.js +16 -0
- package/dist/push-notification/push-notification-provider.factory.js.map +1 -0
- package/dist/push-notification/push-notification-provider.manager.d.ts +13 -0
- package/dist/push-notification/push-notification-provider.manager.js +38 -0
- package/dist/push-notification/push-notification-provider.manager.js.map +1 -0
- package/dist/push-notification/push-notification.interface.d.ts +16 -0
- package/dist/push-notification/push-notification.interface.js +11 -0
- package/dist/push-notification/push-notification.interface.js.map +1 -0
- package/dist/push-notification/push-notification.module.d.ts +15 -0
- package/dist/push-notification/push-notification.module.js +189 -0
- package/dist/push-notification/push-notification.module.js.map +1 -0
- package/dist/push-notification/push-notification.provider.d.ts +12 -0
- package/dist/push-notification/push-notification.provider.js +7 -0
- package/dist/push-notification/push-notification.provider.js.map +1 -0
- package/dist/push-notification/push-notification.service.d.ts +15 -0
- package/dist/push-notification/push-notification.service.js +66 -0
- package/dist/push-notification/push-notification.service.js.map +1 -0
- package/dist/push-notification/user-token.store.d.ts +19 -0
- package/dist/push-notification/user-token.store.js +44 -0
- package/dist/push-notification/user-token.store.js.map +1 -0
- package/dist/sms/index.js +1 -0
- package/dist/sms/index.js.map +1 -0
- package/dist/sms/sms.service.js +1 -0
- package/dist/sms/sms.service.js.map +1 -0
- package/dist/template/constant.js +1 -0
- package/dist/template/constant.js.map +1 -0
- package/dist/template/fake-template.loader.d.ts +3 -0
- package/dist/template/fake-template.loader.js +15 -1
- package/dist/template/fake-template.loader.js.map +1 -0
- package/dist/template/index.d.ts +2 -2
- package/dist/template/index.js +3 -1
- package/dist/template/index.js.map +1 -0
- package/dist/template/template.loader.js +3 -2
- package/dist/template/template.loader.js.map +1 -0
- package/dist/template/template.service.js +3 -2
- package/dist/template/template.service.js.map +1 -0
- package/package.json +13 -22
- package/.eslintrc.js +0 -24
package/README.md
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
# nestjs-notification Library
|
|
2
2
|
|
|
3
|
-
|
|
4
3
|
# Template Loader is using string-format to format args to value
|
|
5
4
|
|
|
6
|
-
|
|
7
5
|
# For CachableTemplateLoader is using nestjs native caching which required CacheModule.Register & install cache-manager
|
|
8
6
|
|
|
9
7
|
```
|
|
10
8
|
npm install @nestjs/cache-manager cache-manager
|
|
11
|
-
```
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
chatbot: 1
|
package/dist/email/constant.js
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constant.js","sourceRoot":"","sources":["../../lib/email/constant.ts"],"names":[],"mappings":";;;AAAa,QAAA,aAAa,GAAG,eAAe,CAAC;AAEhC,QAAA,cAAc,GAAG,gBAAgB,CAAC;AAElC,QAAA,aAAa,GAAG,eAAe,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"email-provider.factory.js","sourceRoot":"","sources":["../../lib/email/email-provider.factory.ts"],"names":[],"mappings":";;;AACA,qDAAoE;AAEpE,MAAa,oBAAoB;IAE/B,MAAM,CAAC,cAAc,CAAC,OAA+D;QACnF,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC;QAExC,MAAM,EAAE,IAAI,EAAE,GAAG,WAAW,CAAC;QAE7B,QAAO,IAAI,EAAE,CAAC;YACZ,KAAK,MAAM;gBACT,OAAO,IAAI,kCAAiB,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC;YACvD;gBACE,MAAM,IAAI,KAAK,CAAC,4BAA4B,IAAI,EAAE,CAAC,CAAC;QACxD,CAAC;IACH,CAAC;CACF;AAdD,oDAcC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"email.interface.js","sourceRoot":"","sources":["../../lib/email/email.interface.ts"],"names":[],"mappings":""}
|
|
@@ -22,3 +22,6 @@ export interface EmailModuleAsyncOptions extends Pick<ModuleMetadata, 'imports'>
|
|
|
22
22
|
export interface EmailModuleOptionsFactory {
|
|
23
23
|
createOptions(): EmailModuleOptionsWithoutProvider | Promise<EmailModuleOptionsWithoutProvider>;
|
|
24
24
|
}
|
|
25
|
+
export declare class DefaultSmtpEmailModuleOptionsFactory implements EmailModuleOptionsFactory {
|
|
26
|
+
createOptions(): EmailModuleOptionsWithoutProvider;
|
|
27
|
+
}
|
|
@@ -7,7 +7,7 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
7
7
|
};
|
|
8
8
|
var EmailModule_1;
|
|
9
9
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
-
exports.EmailModule = void 0;
|
|
10
|
+
exports.DefaultSmtpEmailModuleOptionsFactory = exports.EmailModule = void 0;
|
|
11
11
|
const common_1 = require("@nestjs/common");
|
|
12
12
|
const email_service_1 = require("./email.service");
|
|
13
13
|
const constant_1 = require("./constant");
|
|
@@ -35,14 +35,14 @@ let EmailModule = EmailModule_1 = class EmailModule {
|
|
|
35
35
|
const asyncOptionsProviders = this.createAsyncOptionsProviders(options);
|
|
36
36
|
const emailProvider = this.createEmailProvider(options);
|
|
37
37
|
const emailService = {
|
|
38
|
-
provide:
|
|
38
|
+
provide: email_service_1.EmailService,
|
|
39
39
|
useClass: email_service_1.EmailService,
|
|
40
40
|
};
|
|
41
41
|
return {
|
|
42
42
|
module: EmailModule_1,
|
|
43
43
|
imports: options.imports || [],
|
|
44
44
|
providers: [...asyncOptionsProviders, emailProvider, emailService],
|
|
45
|
-
exports: [constant_1.EMAIL_OPTIONS,
|
|
45
|
+
exports: [constant_1.EMAIL_OPTIONS, emailService],
|
|
46
46
|
};
|
|
47
47
|
}
|
|
48
48
|
static santitizeOptions(options) {
|
|
@@ -89,7 +89,22 @@ let EmailModule = EmailModule_1 = class EmailModule {
|
|
|
89
89
|
};
|
|
90
90
|
}
|
|
91
91
|
};
|
|
92
|
-
EmailModule =
|
|
92
|
+
exports.EmailModule = EmailModule;
|
|
93
|
+
exports.EmailModule = EmailModule = EmailModule_1 = __decorate([
|
|
93
94
|
(0, common_1.Module)({})
|
|
94
95
|
], EmailModule);
|
|
95
|
-
|
|
96
|
+
class DefaultSmtpEmailModuleOptionsFactory {
|
|
97
|
+
createOptions() {
|
|
98
|
+
return {
|
|
99
|
+
option: {
|
|
100
|
+
type: 'smtp',
|
|
101
|
+
options: {
|
|
102
|
+
url: process.env.EMAIL_URL,
|
|
103
|
+
from: process.env.EMAIL_FROM,
|
|
104
|
+
},
|
|
105
|
+
}
|
|
106
|
+
};
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
exports.DefaultSmtpEmailModuleOptionsFactory = DefaultSmtpEmailModuleOptionsFactory;
|
|
110
|
+
//# sourceMappingURL=email.module.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"email.module.js","sourceRoot":"","sources":["../../lib/email/email.module.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,12 +6,14 @@ export interface IEmailProvider {
|
|
|
6
6
|
}
|
|
7
7
|
export declare abstract class EmailProvider implements IEmailProvider {
|
|
8
8
|
abstract send(message: EmailMessage): Promise<SendResult>;
|
|
9
|
+
abstract get isSupportAttachments(): boolean;
|
|
9
10
|
}
|
|
10
11
|
export declare class SmtpEmailProvider extends EmailProvider {
|
|
11
12
|
private readonly option;
|
|
12
13
|
private readonly logger;
|
|
13
14
|
private readonly transporter;
|
|
14
15
|
constructor(option: SmtpOption["options"]);
|
|
16
|
+
get isSupportAttachments(): boolean;
|
|
15
17
|
send(message: EmailMessage): Promise<SendResult>;
|
|
16
18
|
private createSmtpOptions;
|
|
17
19
|
private isSmtpUriOption;
|
|
@@ -15,13 +15,23 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
|
|
|
15
15
|
}) : function(o, v) {
|
|
16
16
|
o["default"] = v;
|
|
17
17
|
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || function (
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
};
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
25
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
36
|
exports.SmtpEmailProvider = exports.EmailProvider = void 0;
|
|
27
37
|
const common_1 = require("@nestjs/common");
|
|
@@ -36,6 +46,9 @@ class SmtpEmailProvider extends EmailProvider {
|
|
|
36
46
|
this.logger = new common_1.Logger(SmtpEmailProvider.name);
|
|
37
47
|
this.transporter = nodemailer.createTransport(this.createSmtpOptions());
|
|
38
48
|
}
|
|
49
|
+
get isSupportAttachments() {
|
|
50
|
+
return true;
|
|
51
|
+
}
|
|
39
52
|
async send(message) {
|
|
40
53
|
try {
|
|
41
54
|
const result = await this.transporter
|
|
@@ -74,14 +87,23 @@ class SmtpEmailProvider extends EmailProvider {
|
|
|
74
87
|
return "url" in object;
|
|
75
88
|
}
|
|
76
89
|
createMailOption(emailMessage) {
|
|
90
|
+
var _a;
|
|
77
91
|
const { from } = this.option;
|
|
78
92
|
const { recipient, subject, message } = emailMessage;
|
|
93
|
+
const attachments = (_a = emailMessage.attachments) === null || _a === void 0 ? void 0 : _a.map(item => {
|
|
94
|
+
if (typeof item.content == "string") {
|
|
95
|
+
item.content = Buffer.from(item.content, "base64");
|
|
96
|
+
}
|
|
97
|
+
return item;
|
|
98
|
+
});
|
|
79
99
|
return {
|
|
80
100
|
from,
|
|
81
101
|
to: recipient,
|
|
82
102
|
subject: subject,
|
|
83
103
|
html: message,
|
|
104
|
+
attachments,
|
|
84
105
|
};
|
|
85
106
|
}
|
|
86
107
|
}
|
|
87
108
|
exports.SmtpEmailProvider = SmtpEmailProvider;
|
|
109
|
+
//# sourceMappingURL=email.provider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"email.provider.js","sourceRoot":"","sources":["../../lib/email/email.provider.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,2CAAwC;AAIxC,uDAAyC;AAOzC,MAAsB,aAAa;CAIlC;AAJD,sCAIC;AAGD,MAAa,iBAAkB,SAAQ,aAAa;IAKlD,YACmB,MAA6B;QAE9C,KAAK,EAAE,CAAC;QAFS,WAAM,GAAN,MAAM,CAAuB;QAJ/B,WAAM,GAAG,IAAI,eAAM,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;QAO3D,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC,eAAe,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC;IAC1E,CAAC;IAED,IAAI,oBAAoB;QACtB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,OAAqB;QAC9B,IAAG,CAAC;YACF,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,WAAW;iBACpC,QAAQ,CAAC,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC;YAC1C,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,yBAAyB,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;YAC5D,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,CAAC,QAAQ,CAAC;YACtC,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,SAAS,EAAE,MAAM,CAAC,SAAS,IAAI,SAAS;aACzC,CAAA;QACH,CAAC;QAAA,OAAM,GAAG,EAAC,CAAC;YACV,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,wBAAwB,EAAE,GAAG,CAAC,CAAC;YACjD,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC;aAC7B,CAAA;QACH,CAAC;IACH,CAAC;IAEO,iBAAiB;QACvB,IAAI,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YACtC,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC;QACzB,CAAC;QACD,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC,MAAwB,CAAC;QACjF,OAAO;YACL,IAAI;YACJ,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC;YACpB,MAAM;YACN,IAAI,EAAE;gBACJ,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,QAAQ;aACf;SACF,CAAC;IACJ,CAAC;IAEO,eAAe,CAAC,MAAW;QACjC,OAAO,KAAK,IAAI,MAAM,CAAC;IACzB,CAAC;IAEO,gBAAgB,CAAC,YAA0B;;QACjD,MAAM,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC;QAC7B,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,YAAY,CAAC;QAErD,MAAM,WAAW,GAAG,MAAA,YAAY,CAAC,WAAW,0CAAE,GAAG,CAAC,IAAI,CAAA,EAAE;YACtD,IAAG,OAAO,IAAI,CAAC,OAAO,IAAI,QAAQ,EAAE,CAAC;gBACnC,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAA;YACpD,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC,CAAC,CAAC;QACH,OAAO;YACL,IAAI;YACJ,EAAE,EAAE,SAAS;YACb,OAAO,EAAE,OAAO;YAChB,IAAI,EAAE,OAAO;YACb,WAAW;SACZ,CAAC;IACJ,CAAC;CACF;AAzED,8CAyEC"}
|
|
@@ -4,5 +4,5 @@ export declare class EmailService {
|
|
|
4
4
|
private readonly emailProvider;
|
|
5
5
|
private readonly logger;
|
|
6
6
|
constructor(emailProvider: EmailProvider);
|
|
7
|
-
send(message: EmailMessage): Promise<import("../interface
|
|
7
|
+
send(message: EmailMessage): Promise<import("../interface").SendResult>;
|
|
8
8
|
}
|
|
@@ -26,9 +26,10 @@ let EmailService = EmailService_1 = class EmailService {
|
|
|
26
26
|
return this.emailProvider.send(message);
|
|
27
27
|
}
|
|
28
28
|
};
|
|
29
|
-
EmailService =
|
|
29
|
+
exports.EmailService = EmailService;
|
|
30
|
+
exports.EmailService = EmailService = EmailService_1 = __decorate([
|
|
30
31
|
(0, common_1.Injectable)(),
|
|
31
32
|
__param(0, (0, common_1.Inject)(constant_1.EMAIL_PROVIDER)),
|
|
32
33
|
__metadata("design:paramtypes", [email_provider_1.EmailProvider])
|
|
33
34
|
], EmailService);
|
|
34
|
-
|
|
35
|
+
//# sourceMappingURL=email.service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"email.service.js","sourceRoot":"","sources":["../../lib/email/email.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAA4D;AAC5D,qDAAiD;AAEjD,yCAA4C;AAIrC,IAAM,YAAY,oBAAlB,MAAM,YAAY;IAGvB,YAAoC,aAA6C;QAA5B,kBAAa,GAAb,aAAa,CAAe;QAFhE,WAAM,GAAG,IAAI,eAAM,CAAC,cAAY,CAAC,IAAI,CAAC,CAAC;IAE4B,CAAC;IAE9E,IAAI,CAAC,OAAqB;QAC/B,OAAO,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC1C,CAAC;CACF,CAAA;AARY,oCAAY;uBAAZ,YAAY;IADxB,IAAA,mBAAU,GAAE;IAIE,WAAA,IAAA,eAAM,EAAC,yBAAc,CAAC,CAAA;qCAAiC,8BAAa;GAHtE,YAAY,CAQxB"}
|
package/dist/email/index.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { EMAIL_OPTIONS, EMAIL_PROVIDER, EMAIL_SERVICE } from "./constant";
|
|
2
2
|
import { EmailProviderFactory } from "./email-provider.factory";
|
|
3
3
|
import { EmailOption, SmtpOption, SmtpHostOption, SmtpUriOption, CustomEmailOption } from "./email.interface";
|
|
4
|
-
import { EmailModule, EmailModuleOptionsWithoutProvider, EmailModuleOptions, EmailModuleAsyncOptions, EmailModuleOptionsFactory } from "./email.module";
|
|
4
|
+
import { EmailModule, EmailModuleOptionsWithoutProvider, EmailModuleOptions, EmailModuleAsyncOptions, EmailModuleOptionsFactory, DefaultSmtpEmailModuleOptionsFactory } from "./email.module";
|
|
5
5
|
import { EmailProvider, SmtpEmailProvider } from "./email.provider";
|
|
6
6
|
import { EmailService } from "./email.service";
|
|
7
|
-
export { EMAIL_OPTIONS, EMAIL_PROVIDER, EMAIL_SERVICE, EmailOption, SmtpOption, SmtpHostOption, SmtpUriOption, CustomEmailOption, EmailModule, EmailModuleOptionsWithoutProvider, EmailModuleOptions, EmailModuleAsyncOptions, EmailModuleOptionsFactory, EmailService, EmailProvider, SmtpEmailProvider, EmailProviderFactory, };
|
|
7
|
+
export { EMAIL_OPTIONS, EMAIL_PROVIDER, EMAIL_SERVICE, EmailOption, SmtpOption, SmtpHostOption, SmtpUriOption, CustomEmailOption, EmailModule, EmailModuleOptionsWithoutProvider, EmailModuleOptions, EmailModuleAsyncOptions, EmailModuleOptionsFactory, EmailService, EmailProvider, SmtpEmailProvider, EmailProviderFactory, DefaultSmtpEmailModuleOptionsFactory, };
|
package/dist/email/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.EmailProviderFactory = exports.SmtpEmailProvider = exports.EmailProvider = exports.EmailService = exports.EmailModule = exports.EMAIL_SERVICE = exports.EMAIL_PROVIDER = exports.EMAIL_OPTIONS = void 0;
|
|
3
|
+
exports.DefaultSmtpEmailModuleOptionsFactory = exports.EmailProviderFactory = exports.SmtpEmailProvider = exports.EmailProvider = exports.EmailService = exports.EmailModule = exports.EMAIL_SERVICE = exports.EMAIL_PROVIDER = exports.EMAIL_OPTIONS = void 0;
|
|
4
4
|
const constant_1 = require("./constant");
|
|
5
5
|
Object.defineProperty(exports, "EMAIL_OPTIONS", { enumerable: true, get: function () { return constant_1.EMAIL_OPTIONS; } });
|
|
6
6
|
Object.defineProperty(exports, "EMAIL_PROVIDER", { enumerable: true, get: function () { return constant_1.EMAIL_PROVIDER; } });
|
|
@@ -9,8 +9,10 @@ const email_provider_factory_1 = require("./email-provider.factory");
|
|
|
9
9
|
Object.defineProperty(exports, "EmailProviderFactory", { enumerable: true, get: function () { return email_provider_factory_1.EmailProviderFactory; } });
|
|
10
10
|
const email_module_1 = require("./email.module");
|
|
11
11
|
Object.defineProperty(exports, "EmailModule", { enumerable: true, get: function () { return email_module_1.EmailModule; } });
|
|
12
|
+
Object.defineProperty(exports, "DefaultSmtpEmailModuleOptionsFactory", { enumerable: true, get: function () { return email_module_1.DefaultSmtpEmailModuleOptionsFactory; } });
|
|
12
13
|
const email_provider_1 = require("./email.provider");
|
|
13
14
|
Object.defineProperty(exports, "EmailProvider", { enumerable: true, get: function () { return email_provider_1.EmailProvider; } });
|
|
14
15
|
Object.defineProperty(exports, "SmtpEmailProvider", { enumerable: true, get: function () { return email_provider_1.SmtpEmailProvider; } });
|
|
15
16
|
const email_service_1 = require("./email.service");
|
|
16
17
|
Object.defineProperty(exports, "EmailService", { enumerable: true, get: function () { return email_service_1.EmailService; } });
|
|
18
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../lib/email/index.ts"],"names":[],"mappings":";;;AAAA,yCAA0E;AAQxE,8FARO,wBAAa,OAQP;AACb,+FATsB,yBAAc,OAStB;AACd,8FAVsC,wBAAa,OAUtC;AATf,qEAAgE;AAuB9D,qGAvBO,6CAAoB,OAuBP;AArBtB,iDAA8L;AAa5L,4FAbO,0BAAW,OAaP;AASX,qHAtB+H,mDAAoC,OAsB/H;AArBtC,qDAAoE;AAkBlE,8FAlBO,8BAAa,OAkBP;AACb,kGAnBsB,kCAAiB,OAmBtB;AAlBnB,mDAA+C;AAgB7C,6FAhBO,4BAAY,OAgBP"}
|
package/dist/index.d.ts
CHANGED
package/dist/index.js
CHANGED
|
@@ -17,5 +17,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
17
17
|
__exportStar(require("./email"), exports);
|
|
18
18
|
__exportStar(require("./interface"), exports);
|
|
19
19
|
__exportStar(require("./notification"), exports);
|
|
20
|
+
__exportStar(require("./push-notification"), exports);
|
|
20
21
|
__exportStar(require("./sms"), exports);
|
|
21
22
|
__exportStar(require("./template"), exports);
|
|
23
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../lib/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,0CAAwB;AACxB,8CAA4B;AAC5B,iDAA+B;AAC/B,sDAAoC;AACpC,wCAAsB;AACtB,6CAA2B"}
|
|
@@ -1,2 +1,4 @@
|
|
|
1
|
-
import { BaseMessage, SmsMessage, EmailMessage, PushMessage, Message } from "./message.interface";
|
|
2
|
-
|
|
1
|
+
import { BaseMessage, SmsMessage, EmailMessage, PushMessage, Message, PushMessageOnly, EmailAttachment } from "./message.interface";
|
|
2
|
+
import { EmailNotificationPayload, PushNotificationPayload } from "./payload.inteface";
|
|
3
|
+
import { BatchSendResult, SendResult } from "./result.interface";
|
|
4
|
+
export { BaseMessage, SmsMessage, EmailMessage, PushMessage, PushMessageOnly, Message, SendResult, BatchSendResult, EmailAttachment, EmailNotificationPayload, PushNotificationPayload, };
|
package/dist/interface/index.js
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../lib/interface/index.ts"],"names":[],"mappings":""}
|
|
@@ -1,3 +1,10 @@
|
|
|
1
|
+
import { PlatformOS } from "../push-notification";
|
|
2
|
+
import fs from "fs";
|
|
3
|
+
export interface EmailAttachment {
|
|
4
|
+
filename: string;
|
|
5
|
+
content: Buffer | fs.ReadStream | string;
|
|
6
|
+
contentType?: string;
|
|
7
|
+
}
|
|
1
8
|
export interface BaseMessage {
|
|
2
9
|
recipient: string;
|
|
3
10
|
message: string;
|
|
@@ -8,8 +15,14 @@ export interface SmsMessage extends BaseMessage {
|
|
|
8
15
|
}
|
|
9
16
|
export interface EmailMessage extends BaseMessage {
|
|
10
17
|
subject: string;
|
|
18
|
+
attachments?: EmailAttachment[];
|
|
11
19
|
}
|
|
12
20
|
export interface PushMessage extends BaseMessage {
|
|
21
|
+
paltform?: PlatformOS;
|
|
13
22
|
subject: string;
|
|
23
|
+
data?: {
|
|
24
|
+
[key: string]: string;
|
|
25
|
+
};
|
|
14
26
|
}
|
|
27
|
+
export type PushMessageOnly = Omit<PushMessage, "recipient" | "paltform">;
|
|
15
28
|
export type Message = SmsMessage | EmailMessage | PushMessage;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"message.interface.js","sourceRoot":"","sources":["../../lib/interface/message.interface.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { DeviceToken } from '../push-notification';
|
|
2
|
+
import { EmailAttachment } from './message.interface';
|
|
3
|
+
export interface EmailNotificationPayload {
|
|
4
|
+
email: string;
|
|
5
|
+
templateCode: string;
|
|
6
|
+
options?: {
|
|
7
|
+
locale?: string;
|
|
8
|
+
fallbackLocal?: string;
|
|
9
|
+
args?: any;
|
|
10
|
+
};
|
|
11
|
+
attachments?: EmailAttachment[];
|
|
12
|
+
}
|
|
13
|
+
export interface PushNotificationPayload {
|
|
14
|
+
userId?: string | number;
|
|
15
|
+
deviceToken?: DeviceToken;
|
|
16
|
+
templateCode: string;
|
|
17
|
+
options?: {
|
|
18
|
+
locale?: string;
|
|
19
|
+
fallbackLocal?: string;
|
|
20
|
+
args?: any;
|
|
21
|
+
};
|
|
22
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"payload.inteface.js","sourceRoot":"","sources":["../../lib/interface/payload.inteface.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"result.interface.js","sourceRoot":"","sources":["../../lib/interface/result.interface.ts"],"names":[],"mappings":""}
|
|
@@ -4,3 +4,4 @@ exports.TEMPLATE_SERVICE = exports.NOTIFICATION_SERVICE = exports.NOTIFICATION_O
|
|
|
4
4
|
exports.NOTIFICATION_OPTIONS = "NOTIFICATION_OPTIONS";
|
|
5
5
|
exports.NOTIFICATION_SERVICE = "NOTIFICATION_SERVICE";
|
|
6
6
|
exports.TEMPLATE_SERVICE = "TEMPLATE_SERVICE";
|
|
7
|
+
//# sourceMappingURL=constant.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constant.js","sourceRoot":"","sources":["../../lib/notification/constant.ts"],"names":[],"mappings":";;;AACa,QAAA,oBAAoB,GAAG,sBAAsB,CAAC;AAE9C,QAAA,oBAAoB,GAAG,sBAAsB,CAAC;AAE9C,QAAA,gBAAgB,GAAG,kBAAkB,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import { NOTIFICATION_OPTIONS, NOTIFICATION_SERVICE, TEMPLATE_SERVICE } from "./constant";
|
|
2
|
-
import { NotificationModule,
|
|
2
|
+
import { NotificationModule, NotificationModuleOptions } from "./notification.module";
|
|
3
3
|
import { NotificationService } from "./notification.service";
|
|
4
|
-
export { NOTIFICATION_OPTIONS, NOTIFICATION_SERVICE, TEMPLATE_SERVICE, NotificationModule, NotificationModuleOptions,
|
|
4
|
+
export { NOTIFICATION_OPTIONS, NOTIFICATION_SERVICE, TEMPLATE_SERVICE, NotificationModule, NotificationModuleOptions, NotificationService, };
|
|
@@ -9,3 +9,4 @@ const notification_module_1 = require("./notification.module");
|
|
|
9
9
|
Object.defineProperty(exports, "NotificationModule", { enumerable: true, get: function () { return notification_module_1.NotificationModule; } });
|
|
10
10
|
const notification_service_1 = require("./notification.service");
|
|
11
11
|
Object.defineProperty(exports, "NotificationService", { enumerable: true, get: function () { return notification_service_1.NotificationService; } });
|
|
12
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../lib/notification/index.ts"],"names":[],"mappings":";;;AAAA,yCAA0F;AAKxF,qGALO,+BAAoB,OAKP;AACpB,qGAN6B,+BAAoB,OAM7B;AACpB,iGAPmD,2BAAgB,OAOnD;AANlB,+DAAwJ;AAOtJ,mGAPO,wCAAkB,OAOP;AANpB,iEAA6D;AAU3D,oGAVO,0CAAmB,OAUP"}
|
|
@@ -1,23 +1,46 @@
|
|
|
1
1
|
import { DynamicModule, ModuleMetadata, Type } from '@nestjs/common';
|
|
2
|
-
import { EmailModuleOptions } from '../email';
|
|
2
|
+
import { EmailModuleAsyncOptions, EmailModuleOptions } from '../email';
|
|
3
3
|
import { TemplateLoader } from '../template';
|
|
4
|
+
import { TemplateService } from '../template/template.service';
|
|
5
|
+
import { NotificationService } from './notification.service';
|
|
6
|
+
import { PushNotificationModuleAsyncOptions, PushNotificationModuleOptions } from '../push-notification';
|
|
4
7
|
export declare class NotificationModule {
|
|
5
8
|
static forRoot(options: NotificationModuleOptions): DynamicModule;
|
|
9
|
+
static forRootAsync(options: NotificationModuleAsyncOptions): DynamicModule;
|
|
10
|
+
private static createTemplateLoader;
|
|
11
|
+
private static createTemplateService;
|
|
12
|
+
private static createNotificationService;
|
|
6
13
|
private static santitizeOptions;
|
|
14
|
+
private static isEmailModuleAsyncOption;
|
|
15
|
+
private static isPushNotificationModuleAsyncOption;
|
|
7
16
|
private static createAsyncOptionsProviders;
|
|
8
17
|
private static createAsyncOptionsProvider;
|
|
9
18
|
}
|
|
10
19
|
export interface NotificationModuleOptions {
|
|
11
|
-
emailOptions?: EmailModuleOptions;
|
|
20
|
+
emailOptions?: EmailModuleOptions | EmailModuleAsyncOptions;
|
|
21
|
+
pushNotificationOptions?: PushNotificationModuleOptions | PushNotificationModuleAsyncOptions;
|
|
12
22
|
templateLoader: Type<TemplateLoader>;
|
|
23
|
+
templateService?: Type<TemplateService>;
|
|
24
|
+
notificationService?: Type<NotificationService>;
|
|
13
25
|
}
|
|
26
|
+
export type NotificationModuleOptionsWithoutProvider = Omit<NotificationModuleOptions, 'templateLoader' | 'templateService' | 'notificationService'>;
|
|
14
27
|
export interface NotificationModuleAsyncOptions extends Pick<ModuleMetadata, 'imports'> {
|
|
15
|
-
|
|
28
|
+
emailOptions?: EmailModuleOptions | EmailModuleAsyncOptions;
|
|
29
|
+
pushNotificationOptions?: PushNotificationModuleOptions | PushNotificationModuleAsyncOptions;
|
|
16
30
|
useExisting?: Type<NotificationModuleOptionsFactory>;
|
|
17
31
|
useClass?: Type<NotificationModuleOptionsFactory>;
|
|
18
|
-
useFactory?: (...args: any[]) => Promise<
|
|
32
|
+
useFactory?: (...args: any[]) => Promise<NotificationModuleOptionsWithoutProvider> | NotificationModuleOptionsWithoutProvider;
|
|
33
|
+
inject?: any[];
|
|
34
|
+
templateLoader: Type<TemplateLoader> | ProviderAsyncOptions<TemplateLoader>;
|
|
35
|
+
templateService?: Type<TemplateService> | ProviderAsyncOptions<TemplateService>;
|
|
36
|
+
notificationService?: Type<NotificationService> | ProviderAsyncOptions<NotificationService>;
|
|
37
|
+
}
|
|
38
|
+
export interface ProviderAsyncOptions<T = any> extends Pick<ModuleMetadata, 'imports'> {
|
|
39
|
+
useExisting?: Type<T>;
|
|
40
|
+
useClass?: Type<T>;
|
|
41
|
+
useFactory?: (...args: any[]) => T | Promise<T>;
|
|
19
42
|
inject?: any[];
|
|
20
43
|
}
|
|
21
44
|
export interface NotificationModuleOptionsFactory {
|
|
22
|
-
createOptions():
|
|
45
|
+
createOptions(): NotificationModuleOptionsWithoutProvider | Promise<NotificationModuleOptionsWithoutProvider>;
|
|
23
46
|
}
|