elseware-nodejs 1.6.0 → 1.7.0

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 CHANGED
@@ -1 +1 @@
1
- # elseware-nodejs
1
+ # elseware-nodejs
package/dist/index.cjs CHANGED
@@ -5,6 +5,9 @@ var dotenv = require('dotenv');
5
5
  var storageBlob = require('@azure/storage-blob');
6
6
  var fs = require('fs');
7
7
  var cloudinaryModule = require('cloudinary');
8
+ var nodemailer = require('nodemailer');
9
+ var path = require('path');
10
+ var Handlebars = require('handlebars');
8
11
  var jwt = require('jsonwebtoken');
9
12
  var multer = require('multer');
10
13
 
@@ -14,6 +17,9 @@ var mongoose__default = /*#__PURE__*/_interopDefault(mongoose);
14
17
  var dotenv__default = /*#__PURE__*/_interopDefault(dotenv);
15
18
  var fs__default = /*#__PURE__*/_interopDefault(fs);
16
19
  var cloudinaryModule__default = /*#__PURE__*/_interopDefault(cloudinaryModule);
20
+ var nodemailer__default = /*#__PURE__*/_interopDefault(nodemailer);
21
+ var path__default = /*#__PURE__*/_interopDefault(path);
22
+ var Handlebars__default = /*#__PURE__*/_interopDefault(Handlebars);
17
23
  var jwt__default = /*#__PURE__*/_interopDefault(jwt);
18
24
  var multer__default = /*#__PURE__*/_interopDefault(multer);
19
25
 
@@ -5299,6 +5305,65 @@ var CloudinaryService = class {
5299
5305
  return this.rootFolder || subFolder;
5300
5306
  }
5301
5307
  };
5308
+ var SMTPProvider = class {
5309
+ transporter;
5310
+ constructor(config) {
5311
+ this.transporter = nodemailer__default.default.createTransport({
5312
+ host: config.host,
5313
+ port: config.port,
5314
+ secure: config.port === 465,
5315
+ auth: {
5316
+ user: config.user,
5317
+ pass: config.pass
5318
+ }
5319
+ });
5320
+ }
5321
+ async sendMail({ to, subject, html, from }) {
5322
+ await this.transporter.sendMail({
5323
+ from,
5324
+ to,
5325
+ subject,
5326
+ html
5327
+ });
5328
+ }
5329
+ };
5330
+ var TemplateEngine = class {
5331
+ static cache = {};
5332
+ static render(templateName, data, templateDir) {
5333
+ const cacheKey = `${templateDir}:${templateName}`;
5334
+ if (!this.cache[cacheKey]) {
5335
+ const filePath = path__default.default.join(templateDir, `${templateName}.hbs`);
5336
+ const source = fs__default.default.readFileSync(filePath, "utf-8");
5337
+ this.cache[cacheKey] = Handlebars__default.default.compile(source);
5338
+ }
5339
+ return this.cache[cacheKey](data);
5340
+ }
5341
+ };
5342
+
5343
+ // src/services/email/email.service.ts
5344
+ var EmailService = class {
5345
+ provider;
5346
+ from;
5347
+ templateDir;
5348
+ constructor(provider, from, templateDir) {
5349
+ this.provider = provider;
5350
+ this.from = from;
5351
+ this.templateDir = templateDir;
5352
+ }
5353
+ async send(options) {
5354
+ const html = TemplateEngine.render(
5355
+ options.template,
5356
+ options.data,
5357
+ this.templateDir
5358
+ );
5359
+ await this.provider.sendMail({
5360
+ to: options.to,
5361
+ subject: options.subject,
5362
+ html,
5363
+ from: this.from
5364
+ });
5365
+ }
5366
+ };
5302
5367
  var JWTService = class {
5303
5368
  accessSecret;
5304
5369
  refreshSecret;
@@ -5524,6 +5589,7 @@ exports.DirectedGraph = DirectedGraph;
5524
5589
  exports.DisjointSetUnion = DisjointSetUnion;
5525
5590
  exports.DoublyLinkedList = DoublyLinkedList;
5526
5591
  exports.DynamicArray = DynamicArray;
5592
+ exports.EmailService = EmailService;
5527
5593
  exports.FenwickTree = FenwickTree;
5528
5594
  exports.FibNode = FibNode;
5529
5595
  exports.FibonacciHeap = FibonacciHeap;
@@ -5552,6 +5618,7 @@ exports.QuadTree = QuadTree;
5552
5618
  exports.Queue = Queue;
5553
5619
  exports.RadixTree = RadixTree;
5554
5620
  exports.RedBlackTree = RedBlackTree;
5621
+ exports.SMTPProvider = SMTPProvider;
5555
5622
  exports.SegmentTree = SegmentTree;
5556
5623
  exports.Set = Set2;
5557
5624
  exports.SinglyLinkedList = SinglyLinkedList;
@@ -5561,6 +5628,7 @@ exports.Stack = Stack;
5561
5628
  exports.StaticArray = StaticArray;
5562
5629
  exports.SuffixArray = SuffixArray;
5563
5630
  exports.SuffixTree = SuffixTree;
5631
+ exports.TemplateEngine = TemplateEngine;
5564
5632
  exports.TernarySearchTree = TernarySearchTree;
5565
5633
  exports.TreeNode = TreeNode;
5566
5634
  exports.Trie = Trie;