hazo_notify 1.0.2 → 1.1.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 +1 -5
- package/data/templates/email_signature.html +11 -0
- package/data/templates/email_signature.txt +4 -0
- package/data/templates/email_verification.html +64 -0
- package/data/templates/email_verification.txt +11 -0
- package/data/templates/forgot_password.html +64 -0
- package/data/templates/forgot_password.txt +11 -0
- package/data/templates/manifest.json +86 -0
- package/data/templates/welcome_email.html +54 -0
- package/data/templates/welcome_email.txt +8 -0
- package/dist/emailer/emailer.d.ts +1 -1
- package/dist/emailer/emailer.d.ts.map +1 -1
- package/dist/emailer/emailer.js +19 -9
- package/dist/emailer/emailer.js.map +1 -1
- package/dist/emailer/index.d.ts +1 -0
- package/dist/emailer/index.d.ts.map +1 -1
- package/dist/emailer/index.js +5 -1
- package/dist/emailer/index.js.map +1 -1
- package/dist/emailer/providers/pop3_provider.d.ts +3 -2
- package/dist/emailer/providers/pop3_provider.d.ts.map +1 -1
- package/dist/emailer/providers/pop3_provider.js +2 -1
- package/dist/emailer/providers/pop3_provider.js.map +1 -1
- package/dist/emailer/providers/smtp_provider.d.ts +3 -2
- package/dist/emailer/providers/smtp_provider.d.ts.map +1 -1
- package/dist/emailer/providers/smtp_provider.js +2 -1
- package/dist/emailer/providers/smtp_provider.js.map +1 -1
- package/dist/emailer/providers/zeptomail_provider.d.ts +3 -2
- package/dist/emailer/providers/zeptomail_provider.d.ts.map +1 -1
- package/dist/emailer/providers/zeptomail_provider.js +24 -11
- package/dist/emailer/providers/zeptomail_provider.js.map +1 -1
- package/dist/emailer/types.d.ts +13 -1
- package/dist/emailer/types.d.ts.map +1 -1
- package/dist/emailer/utils/logger.d.ts +22 -14
- package/dist/emailer/utils/logger.d.ts.map +1 -1
- package/dist/emailer/utils/logger.js +51 -13
- package/dist/emailer/utils/logger.js.map +1 -1
- package/dist/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -1
- package/dist/index.js.map +1 -1
- package/dist/template_manager/config/config_loader.d.ts +48 -0
- package/dist/template_manager/config/config_loader.d.ts.map +1 -0
- package/dist/template_manager/config/config_loader.js +161 -0
- package/dist/template_manager/config/config_loader.js.map +1 -0
- package/dist/template_manager/config/constants.d.ts +101 -0
- package/dist/template_manager/config/constants.d.ts.map +1 -0
- package/dist/template_manager/config/constants.js +163 -0
- package/dist/template_manager/config/constants.js.map +1 -0
- package/dist/template_manager/config/index.d.ts +6 -0
- package/dist/template_manager/config/index.d.ts.map +1 -0
- package/dist/{lib/emailer/utils → template_manager/config}/index.js +4 -4
- package/dist/template_manager/config/index.js.map +1 -0
- package/dist/template_manager/db/category_repository.d.ts +57 -0
- package/dist/template_manager/db/category_repository.d.ts.map +1 -0
- package/dist/template_manager/db/category_repository.js +326 -0
- package/dist/template_manager/db/category_repository.js.map +1 -0
- package/dist/template_manager/db/index.d.ts +6 -0
- package/dist/template_manager/db/index.d.ts.map +1 -0
- package/dist/template_manager/db/index.js +23 -0
- package/dist/template_manager/db/index.js.map +1 -0
- package/dist/template_manager/db/template_repository.d.ts +76 -0
- package/dist/template_manager/db/template_repository.d.ts.map +1 -0
- package/dist/template_manager/db/template_repository.js +684 -0
- package/dist/template_manager/db/template_repository.js.map +1 -0
- package/dist/template_manager/engine/handlebars_engine.d.ts +52 -0
- package/dist/template_manager/engine/handlebars_engine.d.ts.map +1 -0
- package/dist/template_manager/engine/handlebars_engine.js +175 -0
- package/dist/template_manager/engine/handlebars_engine.js.map +1 -0
- package/dist/template_manager/engine/index.d.ts +6 -0
- package/dist/template_manager/engine/index.d.ts.map +1 -0
- package/dist/template_manager/engine/index.js +19 -0
- package/dist/template_manager/engine/index.js.map +1 -0
- package/dist/template_manager/engine/variable_resolver.d.ts +48 -0
- package/dist/template_manager/engine/variable_resolver.d.ts.map +1 -0
- package/dist/template_manager/engine/variable_resolver.js +223 -0
- package/dist/template_manager/engine/variable_resolver.js.map +1 -0
- package/dist/template_manager/index.d.ts +32 -0
- package/dist/template_manager/index.d.ts.map +1 -0
- package/dist/template_manager/index.js +88 -0
- package/dist/template_manager/index.js.map +1 -0
- package/dist/template_manager/template_manager.d.ts +69 -0
- package/dist/template_manager/template_manager.d.ts.map +1 -0
- package/dist/template_manager/template_manager.js +335 -0
- package/dist/template_manager/template_manager.js.map +1 -0
- package/dist/template_manager/types.d.ts +255 -0
- package/dist/template_manager/types.d.ts.map +1 -0
- package/dist/template_manager/types.js +12 -0
- package/dist/template_manager/types.js.map +1 -0
- package/dist/template_manager/utils/index.d.ts +6 -0
- package/dist/template_manager/utils/index.d.ts.map +1 -0
- package/dist/template_manager/utils/index.js +21 -0
- package/dist/template_manager/utils/index.js.map +1 -0
- package/dist/template_manager/utils/system_variables.d.ts +28 -0
- package/dist/template_manager/utils/system_variables.d.ts.map +1 -0
- package/dist/template_manager/utils/system_variables.js +209 -0
- package/dist/template_manager/utils/system_variables.js.map +1 -0
- package/dist/template_manager/utils/validation.d.ts +74 -0
- package/dist/template_manager/utils/validation.d.ts.map +1 -0
- package/dist/template_manager/utils/validation.js +163 -0
- package/dist/template_manager/utils/validation.js.map +1 -0
- package/hazo_notify_config.ini +39 -0
- package/package.json +69 -21
- package/dist/lib/emailer/emailer.d.ts +0 -19
- package/dist/lib/emailer/emailer.d.ts.map +0 -1
- package/dist/lib/emailer/emailer.js +0 -220
- package/dist/lib/emailer/emailer.js.map +0 -1
- package/dist/lib/emailer/index.d.ts +0 -11
- package/dist/lib/emailer/index.d.ts.map +0 -1
- package/dist/lib/emailer/index.js +0 -34
- package/dist/lib/emailer/index.js.map +0 -1
- package/dist/lib/emailer/providers/index.d.ts +0 -15
- package/dist/lib/emailer/providers/index.d.ts.map +0 -1
- package/dist/lib/emailer/providers/index.js +0 -36
- package/dist/lib/emailer/providers/index.js.map +0 -1
- package/dist/lib/emailer/providers/pop3_provider.d.ts +0 -15
- package/dist/lib/emailer/providers/pop3_provider.d.ts.map +0 -1
- package/dist/lib/emailer/providers/pop3_provider.js +0 -29
- package/dist/lib/emailer/providers/pop3_provider.js.map +0 -1
- package/dist/lib/emailer/providers/smtp_provider.d.ts +0 -15
- package/dist/lib/emailer/providers/smtp_provider.d.ts.map +0 -1
- package/dist/lib/emailer/providers/smtp_provider.js +0 -29
- package/dist/lib/emailer/providers/smtp_provider.js.map +0 -1
- package/dist/lib/emailer/providers/zeptomail_provider.d.ts +0 -15
- package/dist/lib/emailer/providers/zeptomail_provider.d.ts.map +0 -1
- package/dist/lib/emailer/providers/zeptomail_provider.js +0 -250
- package/dist/lib/emailer/providers/zeptomail_provider.js.map +0 -1
- package/dist/lib/emailer/types.d.ts +0 -94
- package/dist/lib/emailer/types.d.ts.map +0 -1
- package/dist/lib/emailer/types.js +0 -6
- package/dist/lib/emailer/types.js.map +0 -1
- package/dist/lib/emailer/utils/constants.d.ts +0 -14
- package/dist/lib/emailer/utils/constants.d.ts.map +0 -1
- package/dist/lib/emailer/utils/constants.js +0 -22
- package/dist/lib/emailer/utils/constants.js.map +0 -1
- package/dist/lib/emailer/utils/index.d.ts +0 -8
- package/dist/lib/emailer/utils/index.d.ts.map +0 -1
- package/dist/lib/emailer/utils/index.js.map +0 -1
- package/dist/lib/emailer/utils/logger.d.ts +0 -37
- package/dist/lib/emailer/utils/logger.d.ts.map +0 -1
- package/dist/lib/emailer/utils/logger.js +0 -60
- package/dist/lib/emailer/utils/logger.js.map +0 -1
- package/dist/lib/emailer/utils/validation.d.ts +0 -37
- package/dist/lib/emailer/utils/validation.d.ts.map +0 -1
- package/dist/lib/emailer/utils/validation.js +0 -81
- package/dist/lib/emailer/utils/validation.js.map +0 -1
- package/dist/lib/index.d.ts +0 -6
- package/dist/lib/index.d.ts.map +0 -1
- package/dist/lib/index.js +0 -22
- package/dist/lib/index.js.map +0 -1
- package/dist/lib/utils.d.ts +0 -3
- package/dist/lib/utils.d.ts.map +0 -1
- package/dist/lib/utils.js +0 -9
- package/dist/lib/utils.js.map +0 -1
|
@@ -17,9 +17,12 @@ class ZeptomailProvider {
|
|
|
17
17
|
* Send email using Zeptomail API
|
|
18
18
|
* @param options - Email send options
|
|
19
19
|
* @param config - Emailer configuration
|
|
20
|
+
* @param logger - Optional logger instance (compatible with hazo_logs)
|
|
20
21
|
* @returns Promise with email send response
|
|
21
22
|
*/
|
|
22
|
-
async send_email(options, config) {
|
|
23
|
+
async send_email(options, config, logger) {
|
|
24
|
+
// Get logger (use provided, options.logger, or fallback)
|
|
25
|
+
const log = (0, logger_1.get_logger)(logger || options.logger);
|
|
23
26
|
const filename = 'zeptomail_provider.ts';
|
|
24
27
|
const function_name = 'send_email';
|
|
25
28
|
try {
|
|
@@ -106,7 +109,9 @@ class ZeptomailProvider {
|
|
|
106
109
|
Authorization: auth_header,
|
|
107
110
|
};
|
|
108
111
|
// Log request for debugging (mask API key in logs)
|
|
109
|
-
|
|
112
|
+
log.info('Sending email via Zeptomail API', {
|
|
113
|
+
filename,
|
|
114
|
+
function_name,
|
|
110
115
|
endpoint: config.zeptomail_api_endpoint,
|
|
111
116
|
method: 'POST',
|
|
112
117
|
headers: {
|
|
@@ -121,7 +126,7 @@ class ZeptomailProvider {
|
|
|
121
126
|
has_html: !!email_data.htmlbody,
|
|
122
127
|
attachments_count: email_data.attachments?.length || 0,
|
|
123
128
|
},
|
|
124
|
-
})
|
|
129
|
+
});
|
|
125
130
|
// Set up request timeout
|
|
126
131
|
const timeout = config.request_timeout || constants_1.DEFAULT_REQUEST_TIMEOUT;
|
|
127
132
|
const controller = new AbortController();
|
|
@@ -152,12 +157,14 @@ class ZeptomailProvider {
|
|
|
152
157
|
text: response_text,
|
|
153
158
|
error: response_text.trim() || 'Unknown error from server',
|
|
154
159
|
};
|
|
155
|
-
|
|
160
|
+
log.error('Zeptomail API returned non-JSON response', {
|
|
161
|
+
filename,
|
|
162
|
+
function_name,
|
|
156
163
|
status: response.status,
|
|
157
164
|
statusText: response.statusText,
|
|
158
165
|
contentType: content_type,
|
|
159
166
|
body: response_text,
|
|
160
|
-
})
|
|
167
|
+
});
|
|
161
168
|
}
|
|
162
169
|
const raw_response = {
|
|
163
170
|
status: response.status,
|
|
@@ -170,11 +177,13 @@ class ZeptomailProvider {
|
|
|
170
177
|
const error_message = response_data.message ||
|
|
171
178
|
response_data.error ||
|
|
172
179
|
`HTTP ${response.status}: ${response.statusText}`;
|
|
173
|
-
|
|
180
|
+
log.error('Zeptomail API error', {
|
|
181
|
+
filename,
|
|
182
|
+
function_name,
|
|
174
183
|
status: response.status,
|
|
175
184
|
error_message,
|
|
176
185
|
response_body: response_data,
|
|
177
|
-
})
|
|
186
|
+
});
|
|
178
187
|
const is_production = process.env.NODE_ENV === 'production';
|
|
179
188
|
return {
|
|
180
189
|
success: false,
|
|
@@ -202,7 +211,9 @@ class ZeptomailProvider {
|
|
|
202
211
|
// Handle timeout errors
|
|
203
212
|
if (fetch_error instanceof Error && fetch_error.name === 'AbortError') {
|
|
204
213
|
const timeout_error = `Request timeout after ${timeout}ms`;
|
|
205
|
-
|
|
214
|
+
log.error(timeout_error, {
|
|
215
|
+
filename,
|
|
216
|
+
function_name,
|
|
206
217
|
options: {
|
|
207
218
|
to: options.to,
|
|
208
219
|
subject: options.subject,
|
|
@@ -210,7 +221,7 @@ class ZeptomailProvider {
|
|
|
210
221
|
has_html: !!options.content.html,
|
|
211
222
|
attachments_count: options.attachments?.length || 0,
|
|
212
223
|
},
|
|
213
|
-
})
|
|
224
|
+
});
|
|
214
225
|
return {
|
|
215
226
|
success: false,
|
|
216
227
|
error: timeout_error,
|
|
@@ -226,7 +237,9 @@ class ZeptomailProvider {
|
|
|
226
237
|
const error_string = error instanceof Error ? error.toString() : String(error);
|
|
227
238
|
const stack = error instanceof Error ? error.stack : undefined;
|
|
228
239
|
const is_production = process.env.NODE_ENV === 'production';
|
|
229
|
-
|
|
240
|
+
log.error(error_message, {
|
|
241
|
+
filename,
|
|
242
|
+
function_name,
|
|
230
243
|
line_number: stack || 'unknown',
|
|
231
244
|
error: error_string,
|
|
232
245
|
options: {
|
|
@@ -236,7 +249,7 @@ class ZeptomailProvider {
|
|
|
236
249
|
has_html: !!options.content.html,
|
|
237
250
|
attachments_count: options.attachments?.length || 0,
|
|
238
251
|
},
|
|
239
|
-
})
|
|
252
|
+
});
|
|
240
253
|
return {
|
|
241
254
|
success: false,
|
|
242
255
|
error: error_message,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"zeptomail_provider.js","sourceRoot":"","sources":["../../../src/lib/emailer/providers/zeptomail_provider.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;;;;AAEH,oDAA4D;AAC5D,
|
|
1
|
+
{"version":3,"file":"zeptomail_provider.js","sourceRoot":"","sources":["../../../src/lib/emailer/providers/zeptomail_provider.ts"],"names":[],"mappings":"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"}
|
package/dist/emailer/types.d.ts
CHANGED
|
@@ -2,6 +2,16 @@
|
|
|
2
2
|
* Type definitions for the emailer service
|
|
3
3
|
*/
|
|
4
4
|
export type EmailerModule = 'zeptoemail_api' | 'smtp' | 'pop3';
|
|
5
|
+
/**
|
|
6
|
+
* Logger interface compatible with hazo_logs
|
|
7
|
+
* Used for optional structured logging
|
|
8
|
+
*/
|
|
9
|
+
export interface Logger {
|
|
10
|
+
error(message: string, data?: Record<string, unknown>): void;
|
|
11
|
+
warn(message: string, data?: Record<string, unknown>): void;
|
|
12
|
+
info(message: string, data?: Record<string, unknown>): void;
|
|
13
|
+
debug(message: string, data?: Record<string, unknown>): void;
|
|
14
|
+
}
|
|
5
15
|
export interface EmailContent {
|
|
6
16
|
text?: string;
|
|
7
17
|
html?: string;
|
|
@@ -21,6 +31,8 @@ export interface SendEmailOptions {
|
|
|
21
31
|
reply_to?: string;
|
|
22
32
|
cc?: string | string[];
|
|
23
33
|
bcc?: string | string[];
|
|
34
|
+
/** Optional logger instance (compatible with hazo_logs) */
|
|
35
|
+
logger?: Logger;
|
|
24
36
|
}
|
|
25
37
|
export interface EmailerConfig {
|
|
26
38
|
emailer_module: EmailerModule;
|
|
@@ -89,6 +101,6 @@ export interface ZeptomailEmailData {
|
|
|
89
101
|
attachments?: ZeptomailAttachment[];
|
|
90
102
|
}
|
|
91
103
|
export interface EmailProvider {
|
|
92
|
-
send_email(options: SendEmailOptions, config: EmailerConfig): Promise<EmailSendResponse>;
|
|
104
|
+
send_email(options: SendEmailOptions, config: EmailerConfig, logger?: Logger): Promise<EmailSendResponse>;
|
|
93
105
|
}
|
|
94
106
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/lib/emailer/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,MAAM,aAAa,GAAG,gBAAgB,GAAG,MAAM,GAAG,MAAM,CAAC;AAE/D,MAAM,WAAW,YAAY;IAC3B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,YAAY,CAAC;IACtB,WAAW,CAAC,EAAE,eAAe,EAAE,CAAC;IAChC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IACvB,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/lib/emailer/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,25 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Centralized logging utility for emailer service
|
|
3
|
-
* Provides
|
|
3
|
+
* Provides a fallback console logger compatible with hazo_logs interface
|
|
4
4
|
*/
|
|
5
|
+
import type { Logger } from '../types';
|
|
5
6
|
/**
|
|
6
|
-
*
|
|
7
|
+
* Create a fallback console logger with hazo_logs-compatible interface
|
|
8
|
+
* Used when no external logger is provided
|
|
9
|
+
*
|
|
10
|
+
* @param package_name - Name of the package for log identification
|
|
11
|
+
* @returns Logger instance with error, warn, info, debug methods
|
|
12
|
+
*/
|
|
13
|
+
export declare function create_fallback_logger(package_name?: string): Logger;
|
|
14
|
+
/**
|
|
15
|
+
* Get logger instance - returns provided logger or creates fallback
|
|
16
|
+
*
|
|
17
|
+
* @param logger - Optional external logger (from hazo_logs)
|
|
18
|
+
* @returns Logger instance
|
|
19
|
+
*/
|
|
20
|
+
export declare function get_logger(logger?: Logger): Logger;
|
|
21
|
+
/**
|
|
22
|
+
* @deprecated Use get_logger() instead
|
|
7
23
|
*/
|
|
8
24
|
interface LogEntry {
|
|
9
25
|
filename: string;
|
|
@@ -13,27 +29,19 @@ interface LogEntry {
|
|
|
13
29
|
[key: string]: unknown;
|
|
14
30
|
}
|
|
15
31
|
/**
|
|
16
|
-
*
|
|
17
|
-
* @param entry - Log entry object
|
|
32
|
+
* @deprecated Use get_logger().error() instead
|
|
18
33
|
*/
|
|
19
34
|
export declare function log_error(entry: LogEntry): void;
|
|
20
35
|
/**
|
|
21
|
-
*
|
|
22
|
-
* @param entry - Log entry object
|
|
36
|
+
* @deprecated Use get_logger().info() instead
|
|
23
37
|
*/
|
|
24
38
|
export declare function log_info(entry: LogEntry): void;
|
|
25
39
|
/**
|
|
26
|
-
*
|
|
27
|
-
* @param entry - Log entry object
|
|
40
|
+
* @deprecated Use get_logger().warn() instead
|
|
28
41
|
*/
|
|
29
42
|
export declare function log_warning(entry: LogEntry): void;
|
|
30
43
|
/**
|
|
31
|
-
*
|
|
32
|
-
* @param filename - Name of the file
|
|
33
|
-
* @param function_name - Name of the function
|
|
34
|
-
* @param message - Log message
|
|
35
|
-
* @param additional_data - Additional data to include
|
|
36
|
-
* @returns Log entry object
|
|
44
|
+
* @deprecated Use structured logging with get_logger() instead
|
|
37
45
|
*/
|
|
38
46
|
export declare function create_log_entry(filename: string, function_name: string, message: string, additional_data?: Record<string, unknown>): LogEntry;
|
|
39
47
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../../src/lib/emailer/utils/logger.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;GAEG;AACH,UAAU,QAAQ;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED
|
|
1
|
+
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../../src/lib/emailer/utils/logger.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAEvC;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CAAC,YAAY,GAAE,MAAsB,GAAG,MAAM,CAgCnF;AAED;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAElD;AAOD;;GAEG;AACH,UAAU,QAAQ;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,QAAQ,GAAG,IAAI,CAQ/C;AAED;;GAEG;AACH,wBAAgB,QAAQ,CAAC,KAAK,EAAE,QAAQ,GAAG,IAAI,CAQ9C;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,QAAQ,GAAG,IAAI,CAQjD;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,MAAM,EAChB,aAAa,EAAE,MAAM,EACrB,OAAO,EAAE,MAAM,EACf,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACxC,QAAQ,CAOV"}
|
|
@@ -1,16 +1,61 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
/**
|
|
3
3
|
* Centralized logging utility for emailer service
|
|
4
|
-
* Provides
|
|
4
|
+
* Provides a fallback console logger compatible with hazo_logs interface
|
|
5
5
|
*/
|
|
6
6
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
+
exports.create_fallback_logger = create_fallback_logger;
|
|
8
|
+
exports.get_logger = get_logger;
|
|
7
9
|
exports.log_error = log_error;
|
|
8
10
|
exports.log_info = log_info;
|
|
9
11
|
exports.log_warning = log_warning;
|
|
10
12
|
exports.create_log_entry = create_log_entry;
|
|
11
13
|
/**
|
|
12
|
-
*
|
|
13
|
-
*
|
|
14
|
+
* Create a fallback console logger with hazo_logs-compatible interface
|
|
15
|
+
* Used when no external logger is provided
|
|
16
|
+
*
|
|
17
|
+
* @param package_name - Name of the package for log identification
|
|
18
|
+
* @returns Logger instance with error, warn, info, debug methods
|
|
19
|
+
*/
|
|
20
|
+
function create_fallback_logger(package_name = 'hazo_notify') {
|
|
21
|
+
const format_log_entry = (level, message, data) => {
|
|
22
|
+
return JSON.stringify({
|
|
23
|
+
level,
|
|
24
|
+
timestamp: new Date().toISOString(),
|
|
25
|
+
package: package_name,
|
|
26
|
+
message,
|
|
27
|
+
...(data || {}),
|
|
28
|
+
});
|
|
29
|
+
};
|
|
30
|
+
return {
|
|
31
|
+
error(message, data) {
|
|
32
|
+
console.error(format_log_entry('error', message, data));
|
|
33
|
+
},
|
|
34
|
+
warn(message, data) {
|
|
35
|
+
console.warn(format_log_entry('warn', message, data));
|
|
36
|
+
},
|
|
37
|
+
info(message, data) {
|
|
38
|
+
console.log(format_log_entry('info', message, data));
|
|
39
|
+
},
|
|
40
|
+
debug(message, data) {
|
|
41
|
+
// Only log debug in non-production environments
|
|
42
|
+
if (process.env.NODE_ENV !== 'production') {
|
|
43
|
+
console.log(format_log_entry('debug', message, data));
|
|
44
|
+
}
|
|
45
|
+
},
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Get logger instance - returns provided logger or creates fallback
|
|
50
|
+
*
|
|
51
|
+
* @param logger - Optional external logger (from hazo_logs)
|
|
52
|
+
* @returns Logger instance
|
|
53
|
+
*/
|
|
54
|
+
function get_logger(logger) {
|
|
55
|
+
return logger || create_fallback_logger();
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* @deprecated Use get_logger().error() instead
|
|
14
59
|
*/
|
|
15
60
|
function log_error(entry) {
|
|
16
61
|
console.error(JSON.stringify({
|
|
@@ -20,8 +65,7 @@ function log_error(entry) {
|
|
|
20
65
|
}));
|
|
21
66
|
}
|
|
22
67
|
/**
|
|
23
|
-
*
|
|
24
|
-
* @param entry - Log entry object
|
|
68
|
+
* @deprecated Use get_logger().info() instead
|
|
25
69
|
*/
|
|
26
70
|
function log_info(entry) {
|
|
27
71
|
console.log(JSON.stringify({
|
|
@@ -31,8 +75,7 @@ function log_info(entry) {
|
|
|
31
75
|
}));
|
|
32
76
|
}
|
|
33
77
|
/**
|
|
34
|
-
*
|
|
35
|
-
* @param entry - Log entry object
|
|
78
|
+
* @deprecated Use get_logger().warn() instead
|
|
36
79
|
*/
|
|
37
80
|
function log_warning(entry) {
|
|
38
81
|
console.warn(JSON.stringify({
|
|
@@ -42,12 +85,7 @@ function log_warning(entry) {
|
|
|
42
85
|
}));
|
|
43
86
|
}
|
|
44
87
|
/**
|
|
45
|
-
*
|
|
46
|
-
* @param filename - Name of the file
|
|
47
|
-
* @param function_name - Name of the function
|
|
48
|
-
* @param message - Log message
|
|
49
|
-
* @param additional_data - Additional data to include
|
|
50
|
-
* @returns Log entry object
|
|
88
|
+
* @deprecated Use structured logging with get_logger() instead
|
|
51
89
|
*/
|
|
52
90
|
function create_log_entry(filename, function_name, message, additional_data) {
|
|
53
91
|
return {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../../../src/lib/emailer/utils/logger.ts"],"names":[],"mappings":";AAAA;;;GAGG;;
|
|
1
|
+
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../../../src/lib/emailer/utils/logger.ts"],"names":[],"mappings":";AAAA;;;GAGG;;AAWH,wDAgCC;AAQD,gCAEC;AAqBD,8BAQC;AAKD,4BAQC;AAKD,kCAQC;AAKD,4CAYC;AAzHD;;;;;;GAMG;AACH,SAAgB,sBAAsB,CAAC,eAAuB,aAAa;IACzE,MAAM,gBAAgB,GAAG,CACvB,KAAa,EACb,OAAe,EACf,IAA8B,EACtB,EAAE;QACV,OAAO,IAAI,CAAC,SAAS,CAAC;YACpB,KAAK;YACL,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACnC,OAAO,EAAE,YAAY;YACrB,OAAO;YACP,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC;SAChB,CAAC,CAAC;IACL,CAAC,CAAC;IAEF,OAAO;QACL,KAAK,CAAC,OAAe,EAAE,IAA8B;YACnD,OAAO,CAAC,KAAK,CAAC,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;QAC1D,CAAC;QACD,IAAI,CAAC,OAAe,EAAE,IAA8B;YAClD,OAAO,CAAC,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;QACxD,CAAC;QACD,IAAI,CAAC,OAAe,EAAE,IAA8B;YAClD,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;QACvD,CAAC;QACD,KAAK,CAAC,OAAe,EAAE,IAA8B;YACnD,gDAAgD;YAChD,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY,EAAE,CAAC;gBAC1C,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;YACxD,CAAC;QACH,CAAC;KACF,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,SAAgB,UAAU,CAAC,MAAe;IACxC,OAAO,MAAM,IAAI,sBAAsB,EAAE,CAAC;AAC5C,CAAC;AAkBD;;GAEG;AACH,SAAgB,SAAS,CAAC,KAAe;IACvC,OAAO,CAAC,KAAK,CACX,IAAI,CAAC,SAAS,CAAC;QACb,KAAK,EAAE,OAAO;QACd,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QACnC,GAAG,KAAK;KACT,CAAC,CACH,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAgB,QAAQ,CAAC,KAAe;IACtC,OAAO,CAAC,GAAG,CACT,IAAI,CAAC,SAAS,CAAC;QACb,KAAK,EAAE,MAAM;QACb,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QACnC,GAAG,KAAK;KACT,CAAC,CACH,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAgB,WAAW,CAAC,KAAe;IACzC,OAAO,CAAC,IAAI,CACV,IAAI,CAAC,SAAS,CAAC;QACb,KAAK,EAAE,SAAS;QAChB,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QACnC,GAAG,KAAK;KACT,CAAC,CACH,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAgB,gBAAgB,CAC9B,QAAgB,EAChB,aAAqB,EACrB,OAAe,EACf,eAAyC;IAEzC,OAAO;QACL,QAAQ;QACR,aAAa;QACb,OAAO;QACP,GAAG,CAAC,eAAe,IAAI,EAAE,CAAC;KAC3B,CAAC;AACJ,CAAC"}
|
package/dist/index.d.ts
CHANGED
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/lib/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,cAAc,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/lib/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,cAAc,oBAAoB,CAAC;AACnC,cAAc,6BAA6B,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -18,5 +18,6 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
18
18
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
19
19
|
};
|
|
20
20
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
21
|
-
__exportStar(require("./emailer"), exports);
|
|
21
|
+
__exportStar(require("./emailer/index.js"), exports);
|
|
22
|
+
__exportStar(require("./template_manager/index.js"), exports);
|
|
22
23
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/lib/index.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;;;;;;;;;;;;;;AAEH,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/lib/index.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;;;;;;;;;;;;;;AAEH,qDAAmC;AACnC,8DAA4C"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Configuration loader for template manager
|
|
3
|
+
*
|
|
4
|
+
* Loads template configuration from hazo_notify_config.ini
|
|
5
|
+
*/
|
|
6
|
+
import type { TemplateManagerConfig, TemplateVariableDefinition } from '../types';
|
|
7
|
+
/**
|
|
8
|
+
* Load template manager configuration from hazo_notify_config.ini
|
|
9
|
+
*
|
|
10
|
+
* Configuration is cached after first load
|
|
11
|
+
*
|
|
12
|
+
* @param force_reload - Force reload from file (bypass cache)
|
|
13
|
+
* @returns Template manager configuration
|
|
14
|
+
* @throws Error if configuration is invalid
|
|
15
|
+
*/
|
|
16
|
+
export declare function load_template_config(force_reload?: boolean): TemplateManagerConfig;
|
|
17
|
+
/**
|
|
18
|
+
* Get template variable definitions for a specific template type
|
|
19
|
+
*
|
|
20
|
+
* @param template_name - Name of the template type
|
|
21
|
+
* @param config - Optional config (loads if not provided)
|
|
22
|
+
* @returns Variable definitions for the template, or empty array if not found
|
|
23
|
+
*/
|
|
24
|
+
export declare function get_template_variables(template_name: string, config?: TemplateManagerConfig): TemplateVariableDefinition[];
|
|
25
|
+
/**
|
|
26
|
+
* Get all available variable names (user + system) for a template type
|
|
27
|
+
*
|
|
28
|
+
* @param template_name - Name of the template type
|
|
29
|
+
* @param config - Optional config (loads if not provided)
|
|
30
|
+
* @returns Object with user and system variable names
|
|
31
|
+
*/
|
|
32
|
+
export declare function get_all_variable_names(template_name: string, config?: TemplateManagerConfig): {
|
|
33
|
+
user: string[];
|
|
34
|
+
system: string[];
|
|
35
|
+
};
|
|
36
|
+
/**
|
|
37
|
+
* Clear the cached configuration
|
|
38
|
+
*
|
|
39
|
+
* Useful for testing or when config file has been updated
|
|
40
|
+
*/
|
|
41
|
+
export declare function clear_config_cache(): void;
|
|
42
|
+
/**
|
|
43
|
+
* Check if configuration is loaded and cached
|
|
44
|
+
*
|
|
45
|
+
* @returns true if config is cached
|
|
46
|
+
*/
|
|
47
|
+
export declare function is_config_cached(): boolean;
|
|
48
|
+
//# sourceMappingURL=config_loader.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config_loader.d.ts","sourceRoot":"","sources":["../../../src/lib/template_manager/config/config_loader.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,KAAK,EACV,qBAAqB,EAErB,0BAA0B,EAC3B,MAAM,UAAU,CAAC;AA0FlB;;;;;;;;GAQG;AACH,wBAAgB,oBAAoB,CAClC,YAAY,GAAE,OAAe,GAC5B,qBAAqB,CA+CvB;AAED;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CACpC,aAAa,EAAE,MAAM,EACrB,MAAM,CAAC,EAAE,qBAAqB,GAC7B,0BAA0B,EAAE,CAQ9B;AAED;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CACpC,aAAa,EAAE,MAAM,EACrB,MAAM,CAAC,EAAE,qBAAqB,GAC7B;IAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IAAC,MAAM,EAAE,MAAM,EAAE,CAAA;CAAE,CAStC;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,IAAI,IAAI,CAEzC;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,IAAI,OAAO,CAE1C"}
|
|
@@ -0,0 +1,161 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Configuration loader for template manager
|
|
4
|
+
*
|
|
5
|
+
* Loads template configuration from hazo_notify_config.ini
|
|
6
|
+
*/
|
|
7
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
|
+
exports.load_template_config = load_template_config;
|
|
9
|
+
exports.get_template_variables = get_template_variables;
|
|
10
|
+
exports.get_all_variable_names = get_all_variable_names;
|
|
11
|
+
exports.clear_config_cache = clear_config_cache;
|
|
12
|
+
exports.is_config_cached = is_config_cached;
|
|
13
|
+
const hazo_config_1 = require("hazo_config");
|
|
14
|
+
const path_1 = require("path");
|
|
15
|
+
const system_variables_1 = require("../utils/system_variables");
|
|
16
|
+
const constants_1 = require("./constants");
|
|
17
|
+
/**
|
|
18
|
+
* Cached configuration
|
|
19
|
+
*/
|
|
20
|
+
let cached_config = null;
|
|
21
|
+
/**
|
|
22
|
+
* Parse and validate template variable types from JSON string
|
|
23
|
+
*
|
|
24
|
+
* @param json_string - JSON string from config
|
|
25
|
+
* @returns Parsed template type definitions
|
|
26
|
+
*/
|
|
27
|
+
function parse_template_variable_types(json_string) {
|
|
28
|
+
try {
|
|
29
|
+
const parsed = JSON.parse(json_string);
|
|
30
|
+
if (!Array.isArray(parsed)) {
|
|
31
|
+
throw new Error('email_template_variable_types must be an array');
|
|
32
|
+
}
|
|
33
|
+
// Validate and normalize each entry
|
|
34
|
+
return parsed.map((entry, index) => {
|
|
35
|
+
if (typeof entry.template_name !== 'string' || !entry.template_name) {
|
|
36
|
+
throw new Error(`Invalid template_name at index ${index}: must be a non-empty string`);
|
|
37
|
+
}
|
|
38
|
+
if (typeof entry.template_label !== 'string' || !entry.template_label) {
|
|
39
|
+
throw new Error(`Invalid template_label at index ${index}: must be a non-empty string`);
|
|
40
|
+
}
|
|
41
|
+
if (!Array.isArray(entry.variables)) {
|
|
42
|
+
throw new Error(`Invalid variables at index ${index}: must be an array`);
|
|
43
|
+
}
|
|
44
|
+
const variables = entry.variables.map((v, vIndex) => {
|
|
45
|
+
if (typeof v.variable_name !== 'string' || !v.variable_name) {
|
|
46
|
+
throw new Error(`Invalid variable_name at index ${index}.${vIndex}: must be a non-empty string`);
|
|
47
|
+
}
|
|
48
|
+
if (typeof v.variable_description !== 'string' ||
|
|
49
|
+
!v.variable_description) {
|
|
50
|
+
throw new Error(`Invalid variable_description at index ${index}.${vIndex}: must be a non-empty string`);
|
|
51
|
+
}
|
|
52
|
+
return {
|
|
53
|
+
variable_name: v.variable_name,
|
|
54
|
+
variable_description: v.variable_description,
|
|
55
|
+
default_value: typeof v.default_value === 'string' ? v.default_value : undefined,
|
|
56
|
+
};
|
|
57
|
+
});
|
|
58
|
+
return {
|
|
59
|
+
template_name: entry.template_name,
|
|
60
|
+
template_label: entry.template_label,
|
|
61
|
+
variables,
|
|
62
|
+
};
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
catch (error) {
|
|
66
|
+
if (error instanceof SyntaxError) {
|
|
67
|
+
throw new Error(`Failed to parse email_template_variable_types: Invalid JSON - ${error.message}`);
|
|
68
|
+
}
|
|
69
|
+
throw error;
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Load template manager configuration from hazo_notify_config.ini
|
|
74
|
+
*
|
|
75
|
+
* Configuration is cached after first load
|
|
76
|
+
*
|
|
77
|
+
* @param force_reload - Force reload from file (bypass cache)
|
|
78
|
+
* @returns Template manager configuration
|
|
79
|
+
* @throws Error if configuration is invalid
|
|
80
|
+
*/
|
|
81
|
+
function load_template_config(force_reload = false) {
|
|
82
|
+
if (cached_config && !force_reload) {
|
|
83
|
+
return cached_config;
|
|
84
|
+
}
|
|
85
|
+
try {
|
|
86
|
+
const config_file_path = (0, path_1.join)(process.cwd(), 'hazo_notify_config.ini');
|
|
87
|
+
const hazo_config = new hazo_config_1.HazoConfig({ filePath: config_file_path });
|
|
88
|
+
const template_section = hazo_config.getSection('template_manager') || {};
|
|
89
|
+
// Parse email_template_variable_types
|
|
90
|
+
let email_template_variable_types;
|
|
91
|
+
if (template_section?.email_template_variable_types) {
|
|
92
|
+
email_template_variable_types = parse_template_variable_types(template_section.email_template_variable_types);
|
|
93
|
+
}
|
|
94
|
+
else {
|
|
95
|
+
// Use defaults if not configured
|
|
96
|
+
email_template_variable_types = constants_1.DEFAULT_EMAIL_TEMPLATE_VARIABLE_TYPES.map((t) => ({
|
|
97
|
+
template_name: t.template_name,
|
|
98
|
+
template_label: t.template_label,
|
|
99
|
+
variables: t.variables.map((v) => ({
|
|
100
|
+
variable_name: v.variable_name,
|
|
101
|
+
variable_description: v.variable_description,
|
|
102
|
+
})),
|
|
103
|
+
}));
|
|
104
|
+
}
|
|
105
|
+
// Get system variables
|
|
106
|
+
const system_email_template_variables = (0, system_variables_1.get_system_variables)();
|
|
107
|
+
cached_config = {
|
|
108
|
+
email_template_variable_types,
|
|
109
|
+
system_email_template_variables,
|
|
110
|
+
};
|
|
111
|
+
return cached_config;
|
|
112
|
+
}
|
|
113
|
+
catch (error) {
|
|
114
|
+
const error_message = error instanceof Error ? error.message : 'Unknown error';
|
|
115
|
+
throw new Error(`${constants_1.ERROR_MESSAGES.CONFIG_NOT_LOADED}: ${error_message}`);
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
/**
|
|
119
|
+
* Get template variable definitions for a specific template type
|
|
120
|
+
*
|
|
121
|
+
* @param template_name - Name of the template type
|
|
122
|
+
* @param config - Optional config (loads if not provided)
|
|
123
|
+
* @returns Variable definitions for the template, or empty array if not found
|
|
124
|
+
*/
|
|
125
|
+
function get_template_variables(template_name, config) {
|
|
126
|
+
const cfg = config || load_template_config();
|
|
127
|
+
const template_type = cfg.email_template_variable_types.find((t) => t.template_name === template_name);
|
|
128
|
+
return template_type?.variables || [];
|
|
129
|
+
}
|
|
130
|
+
/**
|
|
131
|
+
* Get all available variable names (user + system) for a template type
|
|
132
|
+
*
|
|
133
|
+
* @param template_name - Name of the template type
|
|
134
|
+
* @param config - Optional config (loads if not provided)
|
|
135
|
+
* @returns Object with user and system variable names
|
|
136
|
+
*/
|
|
137
|
+
function get_all_variable_names(template_name, config) {
|
|
138
|
+
const cfg = config || load_template_config();
|
|
139
|
+
const user_vars = get_template_variables(template_name, cfg);
|
|
140
|
+
return {
|
|
141
|
+
user: user_vars.map((v) => v.variable_name),
|
|
142
|
+
system: cfg.system_email_template_variables.map((v) => v.variable_name),
|
|
143
|
+
};
|
|
144
|
+
}
|
|
145
|
+
/**
|
|
146
|
+
* Clear the cached configuration
|
|
147
|
+
*
|
|
148
|
+
* Useful for testing or when config file has been updated
|
|
149
|
+
*/
|
|
150
|
+
function clear_config_cache() {
|
|
151
|
+
cached_config = null;
|
|
152
|
+
}
|
|
153
|
+
/**
|
|
154
|
+
* Check if configuration is loaded and cached
|
|
155
|
+
*
|
|
156
|
+
* @returns true if config is cached
|
|
157
|
+
*/
|
|
158
|
+
function is_config_cached() {
|
|
159
|
+
return cached_config !== null;
|
|
160
|
+
}
|
|
161
|
+
//# sourceMappingURL=config_loader.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config_loader.js","sourceRoot":"","sources":["../../../src/lib/template_manager/config/config_loader.ts"],"names":[],"mappings":"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"}
|