@serene-dev/la-nest-library 0.0.36 → 0.0.37
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/libs/la-library/src/configs/index.config.d.ts +7 -0
- package/dist/libs/la-library/src/configs/index.config.js +1 -0
- package/dist/libs/la-library/src/configs/index.config.js.map +1 -1
- package/dist/libs/la-library/src/index.d.ts +1 -0
- package/dist/libs/la-library/src/index.js +3 -1
- package/dist/libs/la-library/src/index.js.map +1 -1
- package/dist/libs/la-library/src/services/environment.service.d.ts +1 -1
- package/dist/libs/la-library/src/services/mail.service.d.ts +18 -0
- package/dist/libs/la-library/src/services/mail.service.js +63 -0
- package/dist/libs/la-library/src/services/mail.service.js.map +1 -0
- package/package.json +3 -1
|
@@ -2,4 +2,11 @@ import { HHConfig } from '@serene-dev/ts-helpers';
|
|
|
2
2
|
export declare class SDKConfig extends HHConfig {
|
|
3
3
|
static baseURL: string;
|
|
4
4
|
static appName: string;
|
|
5
|
+
static email: {
|
|
6
|
+
server: string;
|
|
7
|
+
smtpPort: number;
|
|
8
|
+
address: string;
|
|
9
|
+
password: string;
|
|
10
|
+
};
|
|
11
|
+
static adminNotificationMails: string[];
|
|
5
12
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.config.js","sourceRoot":"","sources":["../../../../../libs/la-library/src/configs/index.config.ts"],"names":[],"mappings":";;;AAAA,uDAAkD;AAElD,MAAa,SAAU,SAAQ,qBAAQ;;AAAvC,
|
|
1
|
+
{"version":3,"file":"index.config.js","sourceRoot":"","sources":["../../../../../libs/la-library/src/configs/index.config.ts"],"names":[],"mappings":";;;AAAA,uDAAkD;AAElD,MAAa,SAAU,SAAQ,qBAAQ;;AAAvC,8BAUC;AATQ,iBAAO,GAAG,EAAE,CAAC;AACb,iBAAO,GAAG,EAAE,CAAC;AAOb,gCAAsB,GAAa,CAAC,yBAAyB,CAAC,CAAC"}
|
|
@@ -4,6 +4,7 @@ export { SDKEnvironmentService, ISDKEnvironment, } from './services/environment.
|
|
|
4
4
|
export { ERefCat as SDKERefCat, ETableName as SDKETableName, } from './enums/base.enum';
|
|
5
5
|
export { TokenService as SDKTokenService } from './services/token.service';
|
|
6
6
|
export { UtilityClass as SDKUtilityClass } from './services/utility.service';
|
|
7
|
+
export { MailService } from './services/mail.service';
|
|
7
8
|
export { AuthenticationModule as SDKAuthenticationModule } from './modules/authentication/authentication.module';
|
|
8
9
|
export { AuthenticationGuard as SDKAuthenticationGuard, PublicAuth as SDKPublicAuth, } from './modules/authentication/authentication.guard';
|
|
9
10
|
export { AuthenticationService as SDKAuthenticationService, AuthenticationSessionService as SDKAuthenticationSessionService, } from './modules/authentication/authentication.service';
|
|
@@ -14,7 +14,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
14
14
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
exports.ESortOrder = exports.ESearchCondition = exports.SDKSearchService = exports.SearchQueryDto = exports.SDKFileUploadDto = exports.SDKFileUpdateDto = exports.SDKFileSearchDto = exports.SDKFileActionDto = exports.SDKLogEntity = exports.SDKLogsController = exports.SDKLogCreateSingleDTO = exports.SDKLogCreateMultipleDTO = exports.SDKLogSerarchDTO = exports.SDKLogsService = exports.SDKLogsModule = exports.stream = exports.logger = exports.SDKLikesService = exports.SDKFileService = exports.FileEntity = exports.FileBinEntity = exports.LikesEntity = exports.SDKFileController = exports.SDKEFileSizeUnit = exports.SDKSample = exports.SDKBaseDto = exports.BaseEntity = exports.SDKBaseService = exports.SDKBaseController = exports.SDKSystemLogoutDTO = exports.SDKRegisterDTO = exports.SDKLogoutDTO = exports.SDKLoginDTO = exports.SDKAuthSessionEntity = exports.SDKAuthEntity = exports.SDKAuthenticationController = exports.SDKAuthenticationSessionService = exports.SDKAuthenticationService = exports.SDKPublicAuth = exports.SDKAuthenticationGuard = exports.SDKAuthenticationModule = exports.SDKUtilityClass = exports.SDKTokenService = exports.SDKETableName = exports.SDKERefCat = exports.SDKEnvironmentService = exports.SDKConfig = void 0;
|
|
17
|
+
exports.ESortOrder = exports.ESearchCondition = exports.SDKSearchService = exports.SearchQueryDto = exports.SDKFileUploadDto = exports.SDKFileUpdateDto = exports.SDKFileSearchDto = exports.SDKFileActionDto = exports.SDKLogEntity = exports.SDKLogsController = exports.SDKLogCreateSingleDTO = exports.SDKLogCreateMultipleDTO = exports.SDKLogSerarchDTO = exports.SDKLogsService = exports.SDKLogsModule = exports.stream = exports.logger = exports.SDKLikesService = exports.SDKFileService = exports.FileEntity = exports.FileBinEntity = exports.LikesEntity = exports.SDKFileController = exports.SDKEFileSizeUnit = exports.SDKSample = exports.SDKBaseDto = exports.BaseEntity = exports.SDKBaseService = exports.SDKBaseController = exports.SDKSystemLogoutDTO = exports.SDKRegisterDTO = exports.SDKLogoutDTO = exports.SDKLoginDTO = exports.SDKAuthSessionEntity = exports.SDKAuthEntity = exports.SDKAuthenticationController = exports.SDKAuthenticationSessionService = exports.SDKAuthenticationService = exports.SDKPublicAuth = exports.SDKAuthenticationGuard = exports.SDKAuthenticationModule = exports.MailService = exports.SDKUtilityClass = exports.SDKTokenService = exports.SDKETableName = exports.SDKERefCat = exports.SDKEnvironmentService = exports.SDKConfig = void 0;
|
|
18
18
|
__exportStar(require("./la-library.module"), exports);
|
|
19
19
|
var index_config_1 = require("./configs/index.config");
|
|
20
20
|
Object.defineProperty(exports, "SDKConfig", { enumerable: true, get: function () { return index_config_1.SDKConfig; } });
|
|
@@ -27,6 +27,8 @@ var token_service_1 = require("./services/token.service");
|
|
|
27
27
|
Object.defineProperty(exports, "SDKTokenService", { enumerable: true, get: function () { return token_service_1.TokenService; } });
|
|
28
28
|
var utility_service_1 = require("./services/utility.service");
|
|
29
29
|
Object.defineProperty(exports, "SDKUtilityClass", { enumerable: true, get: function () { return utility_service_1.UtilityClass; } });
|
|
30
|
+
var mail_service_1 = require("./services/mail.service");
|
|
31
|
+
Object.defineProperty(exports, "MailService", { enumerable: true, get: function () { return mail_service_1.MailService; } });
|
|
30
32
|
var authentication_module_1 = require("./modules/authentication/authentication.module");
|
|
31
33
|
Object.defineProperty(exports, "SDKAuthenticationModule", { enumerable: true, get: function () { return authentication_module_1.AuthenticationModule; } });
|
|
32
34
|
var authentication_guard_1 = require("./modules/authentication/authentication.guard");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../libs/la-library/src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,sDAAoC;AAEpC,uDAAmD;AAA1C,yGAAA,SAAS,OAAA;AAClB,sEAGwC;AAFtC,4HAAA,qBAAqB,OAAA;AAGvB,+CAG2B;AAFzB,uGAAA,OAAO,OAAc;AACrB,0GAAA,UAAU,OAAiB;AAE7B,0DAA2E;AAAlE,gHAAA,YAAY,OAAmB;AACxC,8DAA6E;AAApE,kHAAA,YAAY,OAAmB;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../libs/la-library/src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,sDAAoC;AAEpC,uDAAmD;AAA1C,yGAAA,SAAS,OAAA;AAClB,sEAGwC;AAFtC,4HAAA,qBAAqB,OAAA;AAGvB,+CAG2B;AAFzB,uGAAA,OAAO,OAAc;AACrB,0GAAA,UAAU,OAAiB;AAE7B,0DAA2E;AAAlE,gHAAA,YAAY,OAAmB;AACxC,8DAA6E;AAApE,kHAAA,YAAY,OAAmB;AACxC,wDAAuD;AAA9C,2GAAA,WAAW,OAAA;AAGpB,wFAAiH;AAAxG,gIAAA,oBAAoB,OAA2B;AACxD,sFAGuD;AAFrD,8HAAA,mBAAmB,OAA0B;AAC7C,qHAAA,UAAU,OAAiB;AAE7B,0FAGyD;AAFvD,kIAAA,qBAAqB,OAA4B;AACjD,yIAAA,4BAA4B,OAAmC;AAEjE,gGAA6H;AAApH,wIAAA,wBAAwB,OAA+B;AAChE,wFAGwD;AAFtD,sHAAA,UAAU,OAAiB;AAC3B,6HAAA,iBAAiB,OAAwB;AAE3C,kFAKqD;AAJnD,iHAAA,QAAQ,OAAe;AACvB,kHAAA,SAAS,OAAgB;AACzB,oHAAA,WAAW,OAAkB;AAC7B,wHAAA,eAAe,OAAsB;AAKvC,iEAAoF;AAA3E,oHAAA,cAAc,OAAqB;AAC5C,wDAAyD;AAAhD,8GAAA,cAAc,OAAA;AACvB,sDAAoD;AAA3C,yGAAA,UAAU,OAAA;AACnB,4CAAwD;AAA/C,sGAAA,OAAO,OAAc;AAC9B,qDAA4D;AAAnD,wGAAA,MAAM,OAAa;AAC5B,8DAA4C;AAC5C,wDAAsC;AAKtC,+CAAsE;AAA7D,6GAAA,aAAa,OAAoB;AAC1C,iEAAoF;AAA3E,oHAAA,cAAc,OAAqB;AAC5C,wDAAsD;AAA7C,2GAAA,WAAW,OAAA;AACpB,8DAA2D;AAAlD,gHAAA,aAAa,OAAA;AACtB,sDAAoD;AAA3C,yGAAA,UAAU,OAAA;AACnB,wDAAwE;AAA/D,8GAAA,WAAW,OAAkB;AACtC,0DAA2E;AAAlE,gHAAA,YAAY,OAAmB;AAIxC,4DAA2D;AAAlD,wGAAA,MAAM,OAAA;AAAE,wGAAA,MAAM,OAAA;AACvB,0DAAyE;AAAhE,4GAAA,UAAU,OAAiB;AACpC,4DAA4E;AAAnE,8GAAA,WAAW,OAAkB;AACtC,oDAIiC;AAH/B,4GAAA,aAAa,OAAoB;AACjC,mHAAA,oBAAoB,OAA2B;AAC/C,iHAAA,kBAAkB,OAAyB;AAE7C,kEAAqF;AAA5E,oHAAA,cAAc,OAAqB;AAC5C,0DAAuE;AAA9D,2GAAA,SAAS,OAAgB;AAIlC,4CAKyB;AAJvB,4GAAA,aAAa,OAAoB;AACjC,4GAAA,aAAa,OAAoB;AACjC,4GAAA,aAAa,OAAoB;AACjC,4GAAA,aAAa,OAAoB;AAEnC,gDAAmD;AAA1C,4GAAA,cAAc,OAAA;AACvB,4DAA8E;AAArE,kHAAA,aAAa,OAAoB;AAC1C,mDAAmE;AAA1D,+GAAA,gBAAgB,OAAA;AAAE,yGAAA,UAAU,OAAA;AACrC,gEAA8C"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import Mail from 'nodemailer/lib/mailer';
|
|
2
|
+
import { SDKConfig } from '../configs/index.config';
|
|
3
|
+
import SMTPTransport from 'nodemailer/lib/smtp-transport';
|
|
4
|
+
import { ISDKEnvironment } from './environment.service';
|
|
5
|
+
export declare class MailService {
|
|
6
|
+
static loadConfig(config?: {
|
|
7
|
+
smtp?: typeof SDKConfig.email;
|
|
8
|
+
adminNotificationMails?: string[];
|
|
9
|
+
}): void;
|
|
10
|
+
static loadConfigFromEnvironment(environment: ISDKEnvironment): void;
|
|
11
|
+
static sendMail(config: Mail.Options): Promise<void | SMTPTransport.SentMessageInfo>;
|
|
12
|
+
static sendCrashNotification(error: any): Promise<void | SMTPTransport.SentMessageInfo>;
|
|
13
|
+
static sendToAdmin(data: {
|
|
14
|
+
subject: string;
|
|
15
|
+
text?: string;
|
|
16
|
+
html?: string;
|
|
17
|
+
}): Promise<void | SMTPTransport.SentMessageInfo>;
|
|
18
|
+
}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.MailService = void 0;
|
|
4
|
+
const nodemailer = require("nodemailer");
|
|
5
|
+
const logger_service_1 = require("./logger.service");
|
|
6
|
+
const index_config_1 = require("../configs/index.config");
|
|
7
|
+
class MailService {
|
|
8
|
+
static loadConfig(config) {
|
|
9
|
+
if (config.smtp)
|
|
10
|
+
index_config_1.SDKConfig.email = config.smtp;
|
|
11
|
+
if (config.adminNotificationMails)
|
|
12
|
+
index_config_1.SDKConfig.adminNotificationMails = config.adminNotificationMails;
|
|
13
|
+
}
|
|
14
|
+
static loadConfigFromEnvironment(environment) {
|
|
15
|
+
return this.loadConfig({
|
|
16
|
+
smtp: {
|
|
17
|
+
server: environment.SMTP_HOST,
|
|
18
|
+
smtpPort: environment.SMTP_PORT,
|
|
19
|
+
address: environment.SYSTEM_EMAIL_ADDRESS,
|
|
20
|
+
password: environment.SYSTEM_EMAIL_PASSWORD,
|
|
21
|
+
},
|
|
22
|
+
});
|
|
23
|
+
}
|
|
24
|
+
static sendMail(config) {
|
|
25
|
+
const transporter = nodemailer.createTransport({
|
|
26
|
+
host: index_config_1.SDKConfig.email.server,
|
|
27
|
+
port: index_config_1.SDKConfig.email.smtpPort,
|
|
28
|
+
secure: true,
|
|
29
|
+
auth: {
|
|
30
|
+
user: index_config_1.SDKConfig.email.address,
|
|
31
|
+
pass: index_config_1.SDKConfig.email.password,
|
|
32
|
+
},
|
|
33
|
+
});
|
|
34
|
+
return transporter
|
|
35
|
+
.verify()
|
|
36
|
+
.then((r) => {
|
|
37
|
+
console.log(r);
|
|
38
|
+
return transporter.sendMail(config).catch((e) => {
|
|
39
|
+
logger_service_1.logger.error(e);
|
|
40
|
+
});
|
|
41
|
+
})
|
|
42
|
+
.catch((error) => {
|
|
43
|
+
logger_service_1.logger.error(error);
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
static sendCrashNotification(error) {
|
|
47
|
+
return this.sendToAdmin({
|
|
48
|
+
subject: 'Server Crashed',
|
|
49
|
+
text: `Server crashed\nTime: ${new Date()}\n\n\nError\n\n${error?.toString()}`,
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
static sendToAdmin(data) {
|
|
53
|
+
return this.sendMail({
|
|
54
|
+
to: index_config_1.SDKConfig.adminNotificationMails,
|
|
55
|
+
from: index_config_1.SDKConfig.email.address,
|
|
56
|
+
subject: data.subject,
|
|
57
|
+
text: data.text,
|
|
58
|
+
html: data.html,
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
exports.MailService = MailService;
|
|
63
|
+
//# sourceMappingURL=mail.service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mail.service.js","sourceRoot":"","sources":["../../../../../libs/la-library/src/services/mail.service.ts"],"names":[],"mappings":";;;AAAA,yCAAyC;AACzC,qDAA0C;AAE1C,0DAAoD;AAGpD,MAAa,WAAW;IACtB,MAAM,CAAC,UAAU,CAAC,MAGjB;QACC,IAAI,MAAM,CAAC,IAAI;YAAE,wBAAS,CAAC,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC;QAC/C,IAAI,MAAM,CAAC,sBAAsB;YAC/B,wBAAS,CAAC,sBAAsB,GAAG,MAAM,CAAC,sBAAsB,CAAC;IACrE,CAAC;IAED,MAAM,CAAC,yBAAyB,CAAC,WAA4B;QAC3D,OAAO,IAAI,CAAC,UAAU,CAAC;YACrB,IAAI,EAAE;gBACJ,MAAM,EAAE,WAAW,CAAC,SAAS;gBAC7B,QAAQ,EAAE,WAAW,CAAC,SAAS;gBAC/B,OAAO,EAAE,WAAW,CAAC,oBAAoB;gBACzC,QAAQ,EAAE,WAAW,CAAC,qBAAqB;aAC5C;SACF,CAAC,CAAC;IACL,CAAC;IAED,MAAM,CAAC,QAAQ,CAAC,MAAoB;QAClC,MAAM,WAAW,GAAG,UAAU,CAAC,eAAe,CAAwB;YACpE,IAAI,EAAE,wBAAS,CAAC,KAAK,CAAC,MAAM;YAC5B,IAAI,EAAE,wBAAS,CAAC,KAAK,CAAC,QAAQ;YAC9B,MAAM,EAAE,IAAI;YACZ,IAAI,EAAE;gBACJ,IAAI,EAAE,wBAAS,CAAC,KAAK,CAAC,OAAO;gBAC7B,IAAI,EAAE,wBAAS,CAAC,KAAK,CAAC,QAAQ;aAC/B;SACF,CAAC,CAAC;QAEH,OAAO,WAAW;aACf,MAAM,EAAE;aACR,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE;YACV,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YAEf,OAAO,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE;gBAC9C,uBAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC,CAAC,CAAC;QACL,CAAC,CAAC;aACD,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;YACf,uBAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACtB,CAAC,CAAC,CAAC;IACP,CAAC;IAED,MAAM,CAAC,qBAAqB,CAAC,KAAK;QAChC,OAAO,IAAI,CAAC,WAAW,CAAC;YACtB,OAAO,EAAE,gBAAgB;YACzB,IAAI,EAAE,yBAAyB,IAAI,IAAI,EAAE,kBAAkB,KAAK,EAAE,QAAQ,EAAE,EAAE;SAC/E,CAAC,CAAC;IACL,CAAC;IAED,MAAM,CAAC,WAAW,CAAC,IAAuD;QACxE,OAAO,IAAI,CAAC,QAAQ,CAAC;YACnB,EAAE,EAAE,wBAAS,CAAC,sBAAsB;YACpC,IAAI,EAAE,wBAAS,CAAC,KAAK,CAAC,OAAO;YAC7B,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,IAAI,EAAE,IAAI,CAAC,IAAI;SAChB,CAAC,CAAC;IACL,CAAC;CACF;AA9DD,kCA8DC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@serene-dev/la-nest-library",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.37",
|
|
4
4
|
"description": "",
|
|
5
5
|
"author": "",
|
|
6
6
|
"license": "MIT",
|
|
@@ -59,6 +59,7 @@
|
|
|
59
59
|
"cors": "^2.8.5",
|
|
60
60
|
"helmet": "^7.0.0",
|
|
61
61
|
"mysql": "^2.18.1",
|
|
62
|
+
"nodemailer": "^6.9.7",
|
|
62
63
|
"passport": "^0.7.0",
|
|
63
64
|
"passport-jwt": "^4.0.1",
|
|
64
65
|
"passport-local": "^1.0.0",
|
|
@@ -83,6 +84,7 @@
|
|
|
83
84
|
"@types/passport-jwt": "^3.0.13",
|
|
84
85
|
"@types/passport-local": "^1.0.38",
|
|
85
86
|
"@types/supertest": "^2.0.12",
|
|
87
|
+
"@types/nodemailer": "^6.4.14",
|
|
86
88
|
"@typescript-eslint/eslint-plugin": "^6.0.0",
|
|
87
89
|
"@typescript-eslint/parser": "^6.0.0",
|
|
88
90
|
"cross-env": "^7.0.3",
|