hazo_notify 1.1.0 → 1.1.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 +32 -8
- package/config/hazo_logs_config.ini +21 -0
- package/dist/emailer/emailer.d.ts +2 -2
- package/dist/emailer/emailer.js +6 -6
- package/dist/emailer/emailer.js.map +1 -1
- package/dist/template_manager/config/config_loader.d.ts +2 -2
- package/dist/template_manager/config/config_loader.js +3 -3
- package/dist/template_manager/config/config_loader.js.map +1 -1
- package/package.json +3 -3
- /package/{hazo_notify_config.ini → config/hazo_notify_config.ini} +0 -0
package/README.md
CHANGED
|
@@ -8,7 +8,7 @@ A reusable component library for sending email notifications with support for mu
|
|
|
8
8
|
- **Text and HTML Emails**: Send both plain text and HTML formatted emails
|
|
9
9
|
- **Multiple Attachments**: Support for sending multiple file attachments (up to 10, configurable)
|
|
10
10
|
- **Security Features**: HTML sanitization, email injection protection, rate limiting, input validation
|
|
11
|
-
- **Configurable**: Configuration via `hazo_notify_config.ini` file using `hazo_config` package
|
|
11
|
+
- **Configurable**: Configuration via `config/hazo_notify_config.ini` file using `hazo_config` package
|
|
12
12
|
- **Test UI**: Optional test UI at `/hazo_notify/emailer_test` for testing email functionality
|
|
13
13
|
- **TypeScript**: Fully typed with TypeScript
|
|
14
14
|
- **Testing**: Comprehensive test coverage with Jest
|
|
@@ -21,6 +21,28 @@ npm install hazo_notify
|
|
|
21
21
|
|
|
22
22
|
The package automatically installs required dependencies including `hazo_config` for configuration management and `isomorphic-dompurify` for HTML sanitization.
|
|
23
23
|
|
|
24
|
+
### Optional: Enhanced Logging with hazo_logs
|
|
25
|
+
|
|
26
|
+
For structured logging with file rotation, install the optional `hazo_logs` peer dependency:
|
|
27
|
+
|
|
28
|
+
```bash
|
|
29
|
+
npm install hazo_logs
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
Then create `config/hazo_logs_config.ini`:
|
|
33
|
+
|
|
34
|
+
```ini
|
|
35
|
+
[hazo_logs]
|
|
36
|
+
log_directory = ./logs
|
|
37
|
+
log_level = debug
|
|
38
|
+
enable_console = true
|
|
39
|
+
enable_file = true
|
|
40
|
+
max_file_size = 20m
|
|
41
|
+
max_files = 14d
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
If `hazo_logs` is not installed, hazo_notify will use a built-in console logger.
|
|
45
|
+
|
|
24
46
|
## Quick Start
|
|
25
47
|
|
|
26
48
|
1. **Create `.env.local` file** with your Zeptomail API key:
|
|
@@ -28,7 +50,7 @@ The package automatically installs required dependencies including `hazo_config`
|
|
|
28
50
|
ZEPTOMAIL_API_KEY=your_zeptomail_api_key
|
|
29
51
|
```
|
|
30
52
|
|
|
31
|
-
2. **Create `hazo_notify_config.ini` file
|
|
53
|
+
2. **Create `config/hazo_notify_config.ini` file** (in a `config/` directory):
|
|
32
54
|
```ini
|
|
33
55
|
[emailer]
|
|
34
56
|
emailer_module=zeptoemail_api
|
|
@@ -73,7 +95,7 @@ ZEPTOMAIL_API_KEY=your_zeptomail_api_key
|
|
|
73
95
|
|
|
74
96
|
### Step 2: Create Configuration File
|
|
75
97
|
|
|
76
|
-
Create a `hazo_notify_config.ini` file in your project
|
|
98
|
+
Create a `config/hazo_notify_config.ini` file in your project's `config/` directory. See `config/hazo_notify_config.ini` in the package for a complete template with all available options.
|
|
77
99
|
|
|
78
100
|
**Minimum required configuration:**
|
|
79
101
|
|
|
@@ -601,7 +623,7 @@ Send an email using the configured provider.
|
|
|
601
623
|
- See [Input Parameters](#input-parameters) section above for detailed field descriptions
|
|
602
624
|
|
|
603
625
|
- **`config`** (optional): `EmailerConfig` - Emailer configuration
|
|
604
|
-
- If not provided, configuration is loaded from `hazo_notify_config.ini`
|
|
626
|
+
- If not provided, configuration is loaded from `config/hazo_notify_config.ini`
|
|
605
627
|
- Useful for programmatic configuration or testing
|
|
606
628
|
|
|
607
629
|
#### Returns
|
|
@@ -637,7 +659,7 @@ try {
|
|
|
637
659
|
|
|
638
660
|
### `load_emailer_config(): EmailerConfig`
|
|
639
661
|
|
|
640
|
-
Load emailer configuration from `hazo_notify_config.ini`.
|
|
662
|
+
Load emailer configuration from `config/hazo_notify_config.ini`.
|
|
641
663
|
|
|
642
664
|
#### Returns
|
|
643
665
|
|
|
@@ -655,7 +677,7 @@ console.log('From email:', config.from_email);
|
|
|
655
677
|
|
|
656
678
|
## Test UI
|
|
657
679
|
|
|
658
|
-
To enable the UI component and all routes, set `enable_ui=true` in the `[ui]` section of `hazo_notify_config.ini`. The test UI will be available at `/hazo_notify/emailer_test`.
|
|
680
|
+
To enable the UI component and all routes, set `enable_ui=true` in the `[ui]` section of `config/hazo_notify_config.ini`. The test UI will be available at `/hazo_notify/emailer_test`.
|
|
659
681
|
|
|
660
682
|
### Test UI Features
|
|
661
683
|
|
|
@@ -668,7 +690,7 @@ To enable the UI component and all routes, set `enable_ui=true` in the `[ui]` se
|
|
|
668
690
|
|
|
669
691
|
### Accessing the Test UI
|
|
670
692
|
|
|
671
|
-
1. Set `enable_ui=true` in `hazo_notify_config.ini`
|
|
693
|
+
1. Set `enable_ui=true` in `config/hazo_notify_config.ini`
|
|
672
694
|
2. Start your Next.js development server: `npm run dev`
|
|
673
695
|
3. Navigate to: `http://localhost:3000/hazo_notify/emailer_test`
|
|
674
696
|
|
|
@@ -743,7 +765,9 @@ hazo_notify/
|
|
|
743
765
|
│ └── layout.tsx # Test UI layout
|
|
744
766
|
├── components/
|
|
745
767
|
│ └── ui/ # Shadcn UI components
|
|
746
|
-
├──
|
|
768
|
+
├── config/
|
|
769
|
+
│ ├── hazo_notify_config.ini # Configuration file template
|
|
770
|
+
│ └── hazo_logs_config.ini # Optional logging configuration
|
|
747
771
|
├── .env.local.example # Environment variables example
|
|
748
772
|
└── package.json
|
|
749
773
|
```
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
[hazo_logs]
|
|
2
|
+
# Log directory for file output
|
|
3
|
+
log_directory = ./logs
|
|
4
|
+
|
|
5
|
+
# Minimum log level: debug, info, warn, error
|
|
6
|
+
log_level = debug
|
|
7
|
+
|
|
8
|
+
# Enable console output
|
|
9
|
+
enable_console = true
|
|
10
|
+
|
|
11
|
+
# Enable file output with daily rotation
|
|
12
|
+
enable_file = true
|
|
13
|
+
|
|
14
|
+
# Maximum size per log file (supports k, m, g)
|
|
15
|
+
max_file_size = 20m
|
|
16
|
+
|
|
17
|
+
# Log retention period (e.g., 14d = 14 days)
|
|
18
|
+
max_files = 14d
|
|
19
|
+
|
|
20
|
+
# Date pattern for log filenames
|
|
21
|
+
date_pattern = YYYY-MM-DD
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Emailer service implementation
|
|
3
|
-
* Reads configuration from hazo_notify_config.ini via hazo_config package
|
|
3
|
+
* Reads configuration from config/hazo_notify_config.ini via hazo_config package
|
|
4
4
|
* and sends emails using the configured provider
|
|
5
5
|
*/
|
|
6
6
|
import type { EmailerConfig, SendEmailOptions, EmailSendResponse } from './types';
|
|
7
7
|
/**
|
|
8
|
-
* Load emailer configuration from hazo_notify_config.ini
|
|
8
|
+
* Load emailer configuration from config/hazo_notify_config.ini
|
|
9
9
|
* @returns Emailer configuration
|
|
10
10
|
*/
|
|
11
11
|
export declare function load_emailer_config(): EmailerConfig;
|
package/dist/emailer/emailer.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
/**
|
|
3
3
|
* Emailer service implementation
|
|
4
|
-
* Reads configuration from hazo_notify_config.ini via hazo_config package
|
|
4
|
+
* Reads configuration from config/hazo_notify_config.ini via hazo_config package
|
|
5
5
|
* and sends emails using the configured provider
|
|
6
6
|
*/
|
|
7
7
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
@@ -14,15 +14,15 @@ const constants_1 = require("./utils/constants");
|
|
|
14
14
|
const logger_1 = require("./utils/logger");
|
|
15
15
|
const validation_1 = require("./utils/validation");
|
|
16
16
|
/**
|
|
17
|
-
* Load emailer configuration from hazo_notify_config.ini
|
|
17
|
+
* Load emailer configuration from config/hazo_notify_config.ini
|
|
18
18
|
* @returns Emailer configuration
|
|
19
19
|
*/
|
|
20
20
|
function load_emailer_config() {
|
|
21
21
|
const filename = 'emailer.ts';
|
|
22
22
|
const function_name = 'load_emailer_config';
|
|
23
23
|
try {
|
|
24
|
-
// Read configuration from hazo_notify_config.ini using hazo_config
|
|
25
|
-
const config_file_path = (0, path_1.join)(process.cwd(), 'hazo_notify_config.ini');
|
|
24
|
+
// Read configuration from config/hazo_notify_config.ini using hazo_config
|
|
25
|
+
const config_file_path = (0, path_1.join)(process.cwd(), 'config', 'hazo_notify_config.ini');
|
|
26
26
|
const hazo_config = new hazo_config_1.HazoConfig({ filePath: config_file_path });
|
|
27
27
|
const emailer_section = hazo_config.getSection('emailer') || {};
|
|
28
28
|
const emailer_module_raw = emailer_section?.emailer_module || 'zeptoemail_api';
|
|
@@ -93,10 +93,10 @@ function load_emailer_config() {
|
|
|
93
93
|
}
|
|
94
94
|
// Validate required configuration
|
|
95
95
|
if (!config.from_email) {
|
|
96
|
-
throw new Error('from_email is required in hazo_notify_config.ini');
|
|
96
|
+
throw new Error('from_email is required in config/hazo_notify_config.ini');
|
|
97
97
|
}
|
|
98
98
|
if (!config.from_name) {
|
|
99
|
-
throw new Error('from_name is required in hazo_notify_config.ini');
|
|
99
|
+
throw new Error('from_name is required in config/hazo_notify_config.ini');
|
|
100
100
|
}
|
|
101
101
|
// Validate emailer_module specific configuration
|
|
102
102
|
if (emailer_module === 'zeptoemail_api') {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"emailer.js","sourceRoot":"","sources":["../../src/lib/emailer/emailer.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;AA4BH,kDAwJC;AAQD,gCA6HC;AAvTD,2CAAiD;AACjD,6CAAyC;AACzC,+BAA4B;AAC5B,iDAS2B;AAC3B,2CAA4C;AAC5C,mDAK4B;AAG5B;;;GAGG;AACH,SAAgB,mBAAmB;IACjC,MAAM,QAAQ,GAAG,YAAY,CAAC;IAC9B,MAAM,aAAa,GAAG,qBAAqB,CAAC;IAE5C,IAAI,CAAC;QACH,
|
|
1
|
+
{"version":3,"file":"emailer.js","sourceRoot":"","sources":["../../src/lib/emailer/emailer.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;AA4BH,kDAwJC;AAQD,gCA6HC;AAvTD,2CAAiD;AACjD,6CAAyC;AACzC,+BAA4B;AAC5B,iDAS2B;AAC3B,2CAA4C;AAC5C,mDAK4B;AAG5B;;;GAGG;AACH,SAAgB,mBAAmB;IACjC,MAAM,QAAQ,GAAG,YAAY,CAAC;IAC9B,MAAM,aAAa,GAAG,qBAAqB,CAAC;IAE5C,IAAI,CAAC;QACH,0EAA0E;QAC1E,MAAM,gBAAgB,GAAG,IAAA,WAAI,EAAC,OAAO,CAAC,GAAG,EAAE,EAAE,QAAQ,EAAE,wBAAwB,CAAC,CAAC;QACjF,MAAM,WAAW,GAAG,IAAI,wBAAU,CAAC,EAAE,QAAQ,EAAE,gBAAgB,EAAE,CAAC,CAAC;QACnE,MAAM,eAAe,GAAG,WAAW,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;QAEhE,MAAM,kBAAkB,GAAG,eAAe,EAAE,cAAc,IAAI,gBAAgB,CAAC;QAE/E,0BAA0B;QAC1B,IAAI,CAAC,iCAAqB,CAAC,QAAQ,CAAC,kBAAmC,CAAC,EAAE,CAAC;YACzE,MAAM,IAAI,KAAK,CACb,2BAA2B,kBAAkB,qBAAqB,iCAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CACrG,CAAC;QACJ,CAAC;QAED,MAAM,cAAc,GAAG,kBAAmC,CAAC;QAE3D,6BAA6B;QAC7B,MAAM,MAAM,GAAkB;YAC5B,cAAc,EAAE,cAAc;YAC9B,UAAU,EAAE,eAAe,EAAE,UAAU,IAAI,EAAE;YAC7C,SAAS,EAAE,eAAe,EAAE,SAAS,IAAI,aAAa;YAEtD,gBAAgB;YAChB,mBAAmB,EAAE,QAAQ,CAC3B,eAAe,EAAE,mBAAmB,IAAI,MAAM,CAAC,uCAA2B,CAAC,EAC3E,EAAE,CACH;YACD,iBAAiB,EAAE,QAAQ,CACzB,eAAe,EAAE,iBAAiB,IAAI,MAAM,CAAC,qCAAyB,CAAC,EACvE,EAAE,CACH;YAED,oBAAoB;YACpB,mBAAmB,EAAE,QAAQ,CAC3B,eAAe,EAAE,mBAAmB,IAAI,MAAM,CAAC,uCAA2B,CAAC,EAC3E,EAAE,CACH;YACD,eAAe,EAAE,QAAQ,CACvB,eAAe,EAAE,eAAe,IAAI,MAAM,CAAC,mCAAuB,CAAC,EACnE,EAAE,CACH;YAED,kBAAkB;YAClB,eAAe,EAAE,QAAQ,CACvB,eAAe,EAAE,eAAe,IAAI,MAAM,CAAC,mCAAuB,CAAC,EACnE,EAAE,CACH;YAED,sBAAsB;YACtB,kBAAkB,EAAE,QAAQ,CAC1B,eAAe,EAAE,kBAAkB,IAAI,MAAM,CAAC,8BAAkB,CAAC,EACjE,EAAE,CACH;YACD,eAAe,EAAE,QAAQ,CACvB,eAAe,EAAE,eAAe,IAAI,MAAM,CAAC,2BAAe,CAAC,EAC3D,EAAE,CACH;YAED,OAAO;YACP,oBAAoB,EAAE,eAAe,EAAE,oBAAoB,IAAI,EAAE;SAClE,CAAC;QAEF,yEAAyE;QACzE,IAAI,cAAc,KAAK,gBAAgB,EAAE,CAAC;YACxC,MAAM,CAAC,sBAAsB;gBAC3B,eAAe,EAAE,sBAAsB;oBACvC,yCAAyC,CAAC;YAC5C,iEAAiE;YACjE,MAAM,CAAC,iBAAiB;gBACtB,OAAO,CAAC,GAAG,CAAC,iBAAiB,IAAI,eAAe,EAAE,iBAAiB,IAAI,EAAE,CAAC;QAC9E,CAAC;QAED,8BAA8B;QAC9B,IAAI,eAAe,EAAE,cAAc,EAAE,CAAC;YACpC,MAAM,CAAC,cAAc,GAAG,eAAe,CAAC,cAAc,CAAC;QACzD,CAAC;QACD,IAAI,eAAe,EAAE,YAAY,EAAE,CAAC;YAClC,MAAM,CAAC,YAAY,GAAG,eAAe,CAAC,YAAY,CAAC;QACrD,CAAC;QACD,IAAI,eAAe,EAAE,iBAAiB,EAAE,CAAC;YACvC,MAAM,CAAC,iBAAiB,GAAG,eAAe,CAAC,iBAAiB,CAAC;QAC/D,CAAC;QAED,sDAAsD;QACtD,IAAI,cAAc,KAAK,MAAM,EAAE,CAAC;YAC9B,MAAM,CAAC,SAAS,GAAG,eAAe,EAAE,SAAS,IAAI,EAAE,CAAC;YACpD,MAAM,CAAC,SAAS,GAAG,QAAQ,CAAC,eAAe,EAAE,SAAS,IAAI,KAAK,EAAE,EAAE,CAAC,CAAC;YACrE,MAAM,iBAAiB,GAAG,MAAM,CAAC,eAAe,EAAE,WAAW,IAAI,EAAE,CAAC,CAAC;YACrE,MAAM,CAAC,WAAW,GAAG,iBAAiB,KAAK,MAAM,CAAC;YAClD,MAAM,CAAC,cAAc,GAAG,eAAe,EAAE,cAAc,IAAI,EAAE,CAAC;YAC9D,MAAM,CAAC,cAAc,GAAG,eAAe,EAAE,cAAc,IAAI,EAAE,CAAC;YAC9D,MAAM,CAAC,YAAY,GAAG,QAAQ,CAAC,eAAe,EAAE,YAAY,IAAI,MAAM,EAAE,EAAE,CAAC,CAAC;YAC5E,MAAM,eAAe,GAAG,MAAM,CAAC,eAAe,EAAE,SAAS,IAAI,EAAE,CAAC,CAAC;YACjE,MAAM,CAAC,SAAS,GAAG,eAAe,KAAK,MAAM,CAAC;QAChD,CAAC;QAED,sDAAsD;QACtD,IAAI,cAAc,KAAK,MAAM,EAAE,CAAC;YAC9B,MAAM,CAAC,SAAS,GAAG,eAAe,EAAE,SAAS,IAAI,EAAE,CAAC;YACpD,MAAM,CAAC,SAAS,GAAG,QAAQ,CAAC,eAAe,EAAE,SAAS,IAAI,KAAK,EAAE,EAAE,CAAC,CAAC;YACrE,MAAM,iBAAiB,GAAG,MAAM,CAAC,eAAe,EAAE,WAAW,IAAI,EAAE,CAAC,CAAC;YACrE,MAAM,CAAC,WAAW,GAAG,iBAAiB,KAAK,MAAM,CAAC;YAClD,MAAM,CAAC,cAAc,GAAG,eAAe,EAAE,cAAc,IAAI,EAAE,CAAC;YAC9D,MAAM,CAAC,cAAc,GAAG,eAAe,EAAE,cAAc,IAAI,EAAE,CAAC;YAC9D,MAAM,CAAC,YAAY,GAAG,QAAQ,CAAC,eAAe,EAAE,YAAY,IAAI,MAAM,EAAE,EAAE,CAAC,CAAC;QAC9E,CAAC;QAED,kCAAkC;QAClC,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;YACvB,MAAM,IAAI,KAAK,CAAC,yDAAyD,CAAC,CAAC;QAC7E,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;YACtB,MAAM,IAAI,KAAK,CAAC,wDAAwD,CAAC,CAAC;QAC5E,CAAC;QAED,iDAAiD;QACjD,IAAI,cAAc,KAAK,gBAAgB,EAAE,CAAC;YACxC,IAAI,CAAC,MAAM,CAAC,sBAAsB,EAAE,CAAC;gBACnC,MAAM,IAAI,KAAK,CACb,uEAAuE,CACxE,CAAC;YACJ,CAAC;YACD,IAAI,CAAC,MAAM,CAAC,iBAAiB,EAAE,CAAC;gBAC9B,MAAM,IAAI,KAAK,CACb,wGAAwG,CACzG,CAAC;YACJ,CAAC;QACH,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,aAAa,GACjB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,sCAAsC,CAAC;QAClF,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC/E,MAAM,KAAK,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAE/D,gDAAgD;QAChD,MAAM,MAAM,GAAG,IAAA,mBAAU,GAAE,CAAC;QAC5B,MAAM,CAAC,KAAK,CAAC,aAAa,EAAE;YAC1B,QAAQ;YACR,aAAa;YACb,WAAW,EAAE,KAAK,IAAI,SAAS;YAC/B,KAAK,EAAE,YAAY;SACpB,CAAC,CAAC;QAEH,MAAM,IAAI,KAAK,CAAC,yCAAyC,aAAa,EAAE,CAAC,CAAC;IAC5E,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACI,KAAK,UAAU,UAAU,CAC9B,OAAyB,EACzB,MAAsB;IAEtB,0CAA0C;IAC1C,MAAM,MAAM,GAAG,IAAA,mBAAU,EAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAC1C,MAAM,QAAQ,GAAG,YAAY,CAAC;IAC9B,MAAM,aAAa,GAAG,YAAY,CAAC;IAEnC,IAAI,CAAC;QACH,qCAAqC;QACrC,MAAM,cAAc,GAAG,MAAM,IAAI,mBAAmB,EAAE,CAAC;QAEvD,yBAAyB;QACzB,IAAI,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,OAAO,CAAC,EAAE,CAAC,MAAM,KAAK,CAAC,CAAC,EAAE,CAAC;YAC1E,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;QAC9D,CAAC;QAED,2BAA2B;QAC3B,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACxE,KAAK,MAAM,KAAK,IAAI,SAAS,EAAE,CAAC;YAC9B,IAAI,CAAC,IAAA,mCAAsB,EAAC,KAAK,CAAC,EAAE,CAAC;gBACnC,MAAM,IAAI,KAAK,CAAC,oCAAoC,KAAK,EAAE,CAAC,CAAC;YAC/D,CAAC;QACH,CAAC;QAED,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;YACrB,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;QAC/C,CAAC;QAED,0BAA0B;QAC1B,IAAI,CAAC,IAAA,oCAAuB,EAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;YAC9C,MAAM,IAAI,KAAK,CACb,2CAA2C,cAAc,CAAC,kBAAkB,IAAI,8BAAkB,aAAa,CAChH,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;YACnD,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;QAC9D,CAAC;QAED,uBAAuB;QACvB,IAAI,OAAO,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,IAAA,iCAAoB,EAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YACxE,MAAM,IAAI,KAAK,CACb,2CAA2C,cAAc,CAAC,eAAe,IAAI,2BAAe,QAAQ,CACrG,CAAC;QACJ,CAAC;QACD,IAAI,OAAO,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,IAAA,iCAAoB,EAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YACxE,MAAM,IAAI,KAAK,CACb,2CAA2C,cAAc,CAAC,eAAe,IAAI,2BAAe,QAAQ,CACrG,CAAC;QACJ,CAAC;QAED,uBAAuB;QACvB,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;YACxB,MAAM,eAAe,GAAG,cAAc,CAAC,eAAe,IAAI,mCAAuB,CAAC;YAClF,IAAI,OAAO,CAAC,WAAW,CAAC,MAAM,GAAG,eAAe,EAAE,CAAC;gBACjD,MAAM,IAAI,KAAK,CAAC,WAAW,eAAe,sBAAsB,CAAC,CAAC;YACpE,CAAC;YAED,MAAM,QAAQ,GAAG,cAAc,CAAC,mBAAmB,IAAI,uCAA2B,CAAC;YACnF,KAAK,MAAM,UAAU,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;gBAC7C,IAAI,CAAC,IAAA,qCAAwB,EAAC,UAAU,CAAC,OAAO,EAAE,QAAQ,CAAC,EAAE,CAAC;oBAC5D,MAAM,IAAI,KAAK,CACb,eAAe,UAAU,CAAC,QAAQ,6BAA6B,QAAQ,QAAQ,CAChF,CAAC;gBACJ,CAAC;YACH,CAAC;QACH,CAAC;QAED,2BAA2B;QAC3B,MAAM,QAAQ,GAAG,IAAA,8BAAkB,EAAC,cAAc,CAAC,CAAC;QAEpD,uCAAuC;QACvC,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,UAAU,CAAC,OAAO,EAAE,cAAc,EAAE,MAAM,CAAC,CAAC;QAE5E,oCAAoC;QACpC,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;YACtB,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,IAAI,sBAAsB,EAAE;gBACrD,QAAQ;gBACR,aAAa;gBACb,OAAO,EAAE;oBACP,EAAE,EAAE,OAAO,CAAC,EAAE;oBACd,OAAO,EAAE,OAAO,CAAC,OAAO;oBACxB,QAAQ,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI;oBAChC,QAAQ,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI;oBAChC,iBAAiB,EAAE,OAAO,CAAC,WAAW,EAAE,MAAM,IAAI,CAAC;iBACpD;gBACD,QAAQ,EAAE,QAAQ,CAAC,YAAY;aAChC,CAAC,CAAC;QACL,CAAC;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,aAAa,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,sBAAsB,CAAC;QACtF,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC/E,MAAM,KAAK,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAC/D,MAAM,aAAa,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY,CAAC;QAE5D,MAAM,CAAC,KAAK,CAAC,aAAa,EAAE;YAC1B,QAAQ;YACR,aAAa;YACb,WAAW,EAAE,KAAK,IAAI,SAAS;YAC/B,KAAK,EAAE,YAAY;YACnB,OAAO,EAAE;gBACP,EAAE,EAAE,OAAO,CAAC,EAAE;gBACd,OAAO,EAAE,OAAO,CAAC,OAAO;gBACxB,QAAQ,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI;gBAChC,QAAQ,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI;gBAChC,iBAAiB,EAAE,OAAO,CAAC,WAAW,EAAE,MAAM,IAAI,CAAC;aACpD;SACF,CAAC,CAAC;QAEH,OAAO;YACL,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,aAAa;YACpB,OAAO,EAAE,aAAa;YACtB,YAAY,EAAE,aAAa;gBACzB,CAAC,CAAC,SAAS;gBACX,CAAC,CAAC;oBACE,KAAK,EAAE,YAAY;oBACnB,KAAK,EAAE,KAAK;iBACb;SACN,CAAC;IACJ,CAAC;AACH,CAAC"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Configuration loader for template manager
|
|
3
3
|
*
|
|
4
|
-
* Loads template configuration from hazo_notify_config.ini
|
|
4
|
+
* Loads template configuration from config/hazo_notify_config.ini
|
|
5
5
|
*/
|
|
6
6
|
import type { TemplateManagerConfig, TemplateVariableDefinition } from '../types';
|
|
7
7
|
/**
|
|
8
|
-
* Load template manager configuration from hazo_notify_config.ini
|
|
8
|
+
* Load template manager configuration from config/hazo_notify_config.ini
|
|
9
9
|
*
|
|
10
10
|
* Configuration is cached after first load
|
|
11
11
|
*
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
/**
|
|
3
3
|
* Configuration loader for template manager
|
|
4
4
|
*
|
|
5
|
-
* Loads template configuration from hazo_notify_config.ini
|
|
5
|
+
* Loads template configuration from config/hazo_notify_config.ini
|
|
6
6
|
*/
|
|
7
7
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
8
|
exports.load_template_config = load_template_config;
|
|
@@ -70,7 +70,7 @@ function parse_template_variable_types(json_string) {
|
|
|
70
70
|
}
|
|
71
71
|
}
|
|
72
72
|
/**
|
|
73
|
-
* Load template manager configuration from hazo_notify_config.ini
|
|
73
|
+
* Load template manager configuration from config/hazo_notify_config.ini
|
|
74
74
|
*
|
|
75
75
|
* Configuration is cached after first load
|
|
76
76
|
*
|
|
@@ -83,7 +83,7 @@ function load_template_config(force_reload = false) {
|
|
|
83
83
|
return cached_config;
|
|
84
84
|
}
|
|
85
85
|
try {
|
|
86
|
-
const config_file_path = (0, path_1.join)(process.cwd(), 'hazo_notify_config.ini');
|
|
86
|
+
const config_file_path = (0, path_1.join)(process.cwd(), 'config', 'hazo_notify_config.ini');
|
|
87
87
|
const hazo_config = new hazo_config_1.HazoConfig({ filePath: config_file_path });
|
|
88
88
|
const template_section = hazo_config.getSection('template_manager') || {};
|
|
89
89
|
// Parse email_template_variable_types
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config_loader.js","sourceRoot":"","sources":["../../../src/lib/template_manager/config/config_loader.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"config_loader.js","sourceRoot":"","sources":["../../../src/lib/template_manager/config/config_loader.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "hazo_notify",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.1",
|
|
4
4
|
"description": "Email that acts as a notification center as well for schedules too",
|
|
5
5
|
"main": "./dist/index.js",
|
|
6
6
|
"types": "./dist/index.d.ts",
|
|
@@ -36,7 +36,7 @@
|
|
|
36
36
|
"files": [
|
|
37
37
|
"dist",
|
|
38
38
|
"data",
|
|
39
|
-
"
|
|
39
|
+
"config",
|
|
40
40
|
"README.md"
|
|
41
41
|
],
|
|
42
42
|
"repository": {
|
|
@@ -65,7 +65,7 @@
|
|
|
65
65
|
"isomorphic-dompurify": "^2.9.0"
|
|
66
66
|
},
|
|
67
67
|
"peerDependencies": {
|
|
68
|
-
"hazo_logs": "^1.0.
|
|
68
|
+
"hazo_logs": "^1.0.5"
|
|
69
69
|
},
|
|
70
70
|
"peerDependenciesMeta": {
|
|
71
71
|
"hazo_logs": {
|
|
File without changes
|