@serene-dev/la-nest-library 0.0.35 → 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.
@@ -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
  }
@@ -7,4 +7,5 @@ class SDKConfig extends ts_helpers_1.HHConfig {
7
7
  exports.SDKConfig = SDKConfig;
8
8
  SDKConfig.baseURL = '';
9
9
  SDKConfig.appName = '';
10
+ SDKConfig.adminNotificationMails = ['ahmeddapo0110@gmail.com'];
10
11
  //# sourceMappingURL=index.config.js.map
@@ -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,8BAGC;AAFQ,iBAAO,GAAG,EAAE,CAAC;AACb,iBAAO,GAAG,EAAE,CAAC"}
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;AAGxC,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"}
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"}
@@ -13,7 +13,7 @@ export declare class SDKBaseService<TEntity extends BaseEntity, TSearchDto exten
13
13
  getById(id: string): Promise<TEntity>;
14
14
  find(data: Partial<TEntity>): Promise<TEntity[]>;
15
15
  findOne(data: Partial<TEntity>): Promise<TEntity>;
16
- _updateByID: (id: string, data: Partial<TEntity>) => Promise<TEntity>;
16
+ _updateByID(id: string, data: Partial<TEntity>): Promise<TEntity>;
17
17
  search(query: TSearchDto): Promise<import("../interfaces/search.interface").ISearchResponse<TEntity>>;
18
18
  protected _save(data: Partial<TEntity>): Promise<Partial<TEntity> & BaseEntity>;
19
19
  _create(data: Partial<TEntity>): Promise<Partial<TEntity> & BaseEntity>;
@@ -10,10 +10,6 @@ class SDKBaseService {
10
10
  this.repo = repo;
11
11
  this.tableName = tableName;
12
12
  this.queryStruct = [];
13
- this._updateByID = async (id, data) => {
14
- await this.repo.update({ id }, data);
15
- return this.getById(id);
16
- };
17
13
  }
18
14
  async getById(id) {
19
15
  const item = await this.repo.findOneBy({
@@ -28,6 +24,10 @@ class SDKBaseService {
28
24
  async findOne(data) {
29
25
  return (await this.find(data))?.[0];
30
26
  }
27
+ async _updateByID(id, data) {
28
+ await this.repo.update({ id }, data);
29
+ return this.getById(id);
30
+ }
31
31
  async search(query) {
32
32
  const res = await search_service_1.SearchService.search({
33
33
  repository: this.repo,
@@ -1 +1 @@
1
- {"version":3,"file":"base.service.js","sourceRoot":"","sources":["../../../../../libs/la-library/src/services/base.service.ts"],"names":[],"mappings":";;;AACA,qDAAiD;AAMjD,MAAa,cAAc;IAMzB,MAAM,KAAK,GAAG;QACZ,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC1E,CAAC;IAED,YACqB,IAA4B,EACxC,SAAiB;QADL,SAAI,GAAJ,IAAI,CAAwB;QACxC,cAAS,GAAT,SAAS,CAAQ;QAR1B,gBAAW,GAAmC,EAAE,CAAC;QA2BjD,gBAAW,GAAG,KAAK,EAAE,EAAU,EAAE,IAAsB,EAAE,EAAE;YACzD,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC;YACrC,OAAO,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAC1B,CAAC,CAAC;IArBC,CAAC;IAEJ,KAAK,CAAC,OAAO,CAAC,EAAU;QACtB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC;YACrC,EAAE;SACH,CAAC,CAAC;QACH,OAAO,IAAe,CAAC;IACzB,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,IAAsB;QAC/B,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC1C,OAAO,IAAiB,CAAC;IAC3B,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,IAAsB;QAClC,OAAO,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACtC,CAAC;IAOD,KAAK,CAAC,MAAM,CAAC,KAAiB;QAC5B,MAAM,GAAG,GAAG,MAAM,8BAAa,CAAC,MAAM,CACpC;YACE,UAAU,EAAE,IAAI,CAAC,IAAI;YACrB,SAAS,EAAE,IAAI,CAAC,SAAS;SAC1B,EACD,KAAK,EACL,IAAI,CAAC,WAAW,CACjB,CAAC;QACF,OAAO,GAAG,CAAC;IACb,CAAC;IAES,KAAK,CAAC,KAAK,CAAC,IAAsB;QAC1C,OAAO,MAAM,CAAC,IAAI,CAAC,EAAE;YACnB,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC;YACjC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAC5B,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,IAAsB;QAClC,OAAO,IAAI,CAAC,EAAE,CAAC;QACf,OAAO,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAChC,CAAC;CACF;AA1DD,wCA0DC;AAED,MAAa,WAGX,SAAQ,cAAmC;IAC3C,YACqB,IAA4B,EACxC,SAAqB;QAE5B,KAAK,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QAHJ,SAAI,GAAJ,IAAI,CAAwB;QACxC,cAAS,GAAT,SAAS,CAAY;IAG9B,CAAC;CACF;AAVD,kCAUC"}
1
+ {"version":3,"file":"base.service.js","sourceRoot":"","sources":["../../../../../libs/la-library/src/services/base.service.ts"],"names":[],"mappings":";;;AACA,qDAAiD;AAMjD,MAAa,cAAc;IAMzB,MAAM,KAAK,GAAG;QACZ,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC1E,CAAC;IAED,YACqB,IAA4B,EACxC,SAAiB;QADL,SAAI,GAAJ,IAAI,CAAwB;QACxC,cAAS,GAAT,SAAS,CAAQ;QAR1B,gBAAW,GAAmC,EAAE,CAAC;IAS9C,CAAC;IAEJ,KAAK,CAAC,OAAO,CAAC,EAAU;QACtB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC;YACrC,EAAE;SACH,CAAC,CAAC;QACH,OAAO,IAAe,CAAC;IACzB,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,IAAsB;QAC/B,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC1C,OAAO,IAAiB,CAAC;IAC3B,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,IAAsB;QAClC,OAAO,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACtC,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,EAAU,EAAE,IAAsB;QAClD,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC;QACrC,OAAO,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAC1B,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,KAAiB;QAC5B,MAAM,GAAG,GAAG,MAAM,8BAAa,CAAC,MAAM,CACpC;YACE,UAAU,EAAE,IAAI,CAAC,IAAI;YACrB,SAAS,EAAE,IAAI,CAAC,SAAS;SAC1B,EACD,KAAK,EACL,IAAI,CAAC,WAAW,CACjB,CAAC;QACF,OAAO,GAAG,CAAC;IACb,CAAC;IAES,KAAK,CAAC,KAAK,CAAC,IAAsB;QAC1C,OAAO,MAAM,CAAC,IAAI,CAAC,EAAE;YACnB,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC;YACjC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAC5B,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,IAAsB;QAClC,OAAO,IAAI,CAAC,EAAE,CAAC;QACf,OAAO,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAChC,CAAC;CACF;AA1DD,wCA0DC;AAED,MAAa,WAGX,SAAQ,cAAmC;IAC3C,YACqB,IAA4B,EACxC,SAAqB;QAE5B,KAAK,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QAHJ,SAAI,GAAJ,IAAI,CAAwB;QACxC,cAAS,GAAT,SAAS,CAAY;IAG9B,CAAC;CACF;AAVD,kCAUC"}
@@ -30,5 +30,5 @@ export interface ISDKEnvironment {
30
30
  SYSTEM_EMAIL_ADDRESS?: string;
31
31
  SYSTEM_EMAIL_PASSWORD?: string;
32
32
  SMTP_HOST?: string;
33
- SMTP_PORT?: string;
33
+ SMTP_PORT?: number;
34
34
  }
@@ -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.35",
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",