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
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/**
|
|
3
|
-
* Constants for emailer service
|
|
4
|
-
* Centralized constants to avoid magic numbers and strings
|
|
5
|
-
*/
|
|
6
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
-
exports.VALID_EMAILER_MODULES = exports.MAX_EMAIL_LENGTH = exports.MAX_BODY_LENGTH = exports.MAX_SUBJECT_LENGTH = exports.DEFAULT_REQUEST_TIMEOUT = exports.DEFAULT_MAX_ATTACHMENTS = exports.DEFAULT_MAX_ATTACHMENT_SIZE = exports.DEFAULT_RATE_LIMIT_WINDOW = exports.DEFAULT_RATE_LIMIT_REQUESTS = void 0;
|
|
8
|
-
// Rate limiting constants
|
|
9
|
-
exports.DEFAULT_RATE_LIMIT_REQUESTS = 10; // requests per minute
|
|
10
|
-
exports.DEFAULT_RATE_LIMIT_WINDOW = 60; // seconds
|
|
11
|
-
// Attachment limits
|
|
12
|
-
exports.DEFAULT_MAX_ATTACHMENT_SIZE = 10 * 1024 * 1024; // 10MB in bytes
|
|
13
|
-
exports.DEFAULT_MAX_ATTACHMENTS = 10;
|
|
14
|
-
// Request timeout
|
|
15
|
-
exports.DEFAULT_REQUEST_TIMEOUT = 30000; // 30 seconds in milliseconds
|
|
16
|
-
// Input length limits
|
|
17
|
-
exports.MAX_SUBJECT_LENGTH = 255; // characters
|
|
18
|
-
exports.MAX_BODY_LENGTH = 1024 * 1024; // 1MB in bytes
|
|
19
|
-
exports.MAX_EMAIL_LENGTH = 254; // characters (RFC 5321)
|
|
20
|
-
// Valid emailer modules
|
|
21
|
-
exports.VALID_EMAILER_MODULES = ['zeptoemail_api', 'smtp', 'pop3'];
|
|
22
|
-
//# sourceMappingURL=constants.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../src/lib/emailer/utils/constants.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAEH,0BAA0B;AACb,QAAA,2BAA2B,GAAG,EAAE,CAAC,CAAC,sBAAsB;AACxD,QAAA,yBAAyB,GAAG,EAAE,CAAC,CAAC,UAAU;AAEvD,oBAAoB;AACP,QAAA,2BAA2B,GAAG,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC,gBAAgB;AAChE,QAAA,uBAAuB,GAAG,EAAE,CAAC;AAE1C,kBAAkB;AACL,QAAA,uBAAuB,GAAG,KAAK,CAAC,CAAC,6BAA6B;AAE3E,sBAAsB;AACT,QAAA,kBAAkB,GAAG,GAAG,CAAC,CAAC,aAAa;AACvC,QAAA,eAAe,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC,eAAe;AAC9C,QAAA,gBAAgB,GAAG,GAAG,CAAC,CAAC,wBAAwB;AAE7D,wBAAwB;AACX,QAAA,qBAAqB,GAAG,CAAC,gBAAgB,EAAE,MAAM,EAAE,MAAM,CAAU,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/lib/emailer/utils/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/lib/emailer/utils/index.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;;;;;;;;;;;;;;AAEH,8CAA4B;AAC5B,+CAA6B;AAC7B,2CAAyB"}
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Centralized logging utility for emailer service
|
|
3
|
-
* Provides consistent JSON logging format across all components
|
|
4
|
-
*/
|
|
5
|
-
interface LogEntry {
|
|
6
|
-
filename: string;
|
|
7
|
-
function_name: string;
|
|
8
|
-
line_number?: string | number;
|
|
9
|
-
message: string;
|
|
10
|
-
[key: string]: unknown;
|
|
11
|
-
}
|
|
12
|
-
/**
|
|
13
|
-
* Log an error message
|
|
14
|
-
* @param entry - Log entry object
|
|
15
|
-
*/
|
|
16
|
-
export declare function log_error(entry: LogEntry): void;
|
|
17
|
-
/**
|
|
18
|
-
* Log an info message
|
|
19
|
-
* @param entry - Log entry object
|
|
20
|
-
*/
|
|
21
|
-
export declare function log_info(entry: LogEntry): void;
|
|
22
|
-
/**
|
|
23
|
-
* Log a warning message
|
|
24
|
-
* @param entry - Log entry object
|
|
25
|
-
*/
|
|
26
|
-
export declare function log_warning(entry: LogEntry): void;
|
|
27
|
-
/**
|
|
28
|
-
* Create a log entry with standard fields
|
|
29
|
-
* @param filename - Name of the file
|
|
30
|
-
* @param function_name - Name of the function
|
|
31
|
-
* @param message - Log message
|
|
32
|
-
* @param additional_data - Additional data to include
|
|
33
|
-
* @returns Log entry object
|
|
34
|
-
*/
|
|
35
|
-
export declare function create_log_entry(filename: string, function_name: string, message: string, additional_data?: Record<string, unknown>): LogEntry;
|
|
36
|
-
export {};
|
|
37
|
-
//# sourceMappingURL=logger.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../../../src/lib/emailer/utils/logger.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,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;;;GAGG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,QAAQ,GAAG,IAAI,CAM/C;AAED;;;GAGG;AACH,wBAAgB,QAAQ,CAAC,KAAK,EAAE,QAAQ,GAAG,IAAI,CAM9C;AAED;;;GAGG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,QAAQ,GAAG,IAAI,CAMjD;AAED;;;;;;;GAOG;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,60 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/**
|
|
3
|
-
* Centralized logging utility for emailer service
|
|
4
|
-
* Provides consistent JSON logging format across all components
|
|
5
|
-
*/
|
|
6
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
-
exports.log_error = log_error;
|
|
8
|
-
exports.log_info = log_info;
|
|
9
|
-
exports.log_warning = log_warning;
|
|
10
|
-
exports.create_log_entry = create_log_entry;
|
|
11
|
-
/**
|
|
12
|
-
* Log an error message
|
|
13
|
-
* @param entry - Log entry object
|
|
14
|
-
*/
|
|
15
|
-
function log_error(entry) {
|
|
16
|
-
console.error(JSON.stringify({
|
|
17
|
-
level: 'error',
|
|
18
|
-
timestamp: new Date().toISOString(),
|
|
19
|
-
...entry,
|
|
20
|
-
}));
|
|
21
|
-
}
|
|
22
|
-
/**
|
|
23
|
-
* Log an info message
|
|
24
|
-
* @param entry - Log entry object
|
|
25
|
-
*/
|
|
26
|
-
function log_info(entry) {
|
|
27
|
-
console.log(JSON.stringify({
|
|
28
|
-
level: 'info',
|
|
29
|
-
timestamp: new Date().toISOString(),
|
|
30
|
-
...entry,
|
|
31
|
-
}));
|
|
32
|
-
}
|
|
33
|
-
/**
|
|
34
|
-
* Log a warning message
|
|
35
|
-
* @param entry - Log entry object
|
|
36
|
-
*/
|
|
37
|
-
function log_warning(entry) {
|
|
38
|
-
console.warn(JSON.stringify({
|
|
39
|
-
level: 'warning',
|
|
40
|
-
timestamp: new Date().toISOString(),
|
|
41
|
-
...entry,
|
|
42
|
-
}));
|
|
43
|
-
}
|
|
44
|
-
/**
|
|
45
|
-
* Create a log entry with standard fields
|
|
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
|
|
51
|
-
*/
|
|
52
|
-
function create_log_entry(filename, function_name, message, additional_data) {
|
|
53
|
-
return {
|
|
54
|
-
filename,
|
|
55
|
-
function_name,
|
|
56
|
-
message,
|
|
57
|
-
...(additional_data || {}),
|
|
58
|
-
};
|
|
59
|
-
}
|
|
60
|
-
//# sourceMappingURL=logger.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../../../../src/lib/emailer/utils/logger.ts"],"names":[],"mappings":";AAAA;;;GAGG;;AAcH,8BAMC;AAMD,4BAMC;AAMD,kCAMC;AAUD,4CAYC;AAxDD;;;GAGG;AACH,SAAgB,SAAS,CAAC,KAAe;IACvC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC;QAC3B,KAAK,EAAE,OAAO;QACd,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QACnC,GAAG,KAAK;KACT,CAAC,CAAC,CAAC;AACN,CAAC;AAED;;;GAGG;AACH,SAAgB,QAAQ,CAAC,KAAe;IACtC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC;QACzB,KAAK,EAAE,MAAM;QACb,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QACnC,GAAG,KAAK;KACT,CAAC,CAAC,CAAC;AACN,CAAC;AAED;;;GAGG;AACH,SAAgB,WAAW,CAAC,KAAe;IACzC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC;QAC1B,KAAK,EAAE,SAAS;QAChB,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QACnC,GAAG,KAAK;KACT,CAAC,CAAC,CAAC;AACN,CAAC;AAED;;;;;;;GAOG;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"}
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Validation utilities for emailer service
|
|
3
|
-
* Provides email validation, sanitization, and input validation functions
|
|
4
|
-
*/
|
|
5
|
-
/**
|
|
6
|
-
* Validate email address format
|
|
7
|
-
* @param email - Email address to validate
|
|
8
|
-
* @returns boolean indicating if email is valid
|
|
9
|
-
*/
|
|
10
|
-
export declare function validate_email_address(email: string): boolean;
|
|
11
|
-
/**
|
|
12
|
-
* Sanitize email header to prevent injection attacks
|
|
13
|
-
* Removes newlines, carriage returns, and other control characters
|
|
14
|
-
* @param value - Header value to sanitize
|
|
15
|
-
* @returns Sanitized header value
|
|
16
|
-
*/
|
|
17
|
-
export declare function sanitize_email_header(value: string): string;
|
|
18
|
-
/**
|
|
19
|
-
* Validate subject length
|
|
20
|
-
* @param subject - Email subject to validate
|
|
21
|
-
* @returns boolean indicating if subject is valid
|
|
22
|
-
*/
|
|
23
|
-
export declare function validate_subject_length(subject: string): boolean;
|
|
24
|
-
/**
|
|
25
|
-
* Validate body length
|
|
26
|
-
* @param body - Email body to validate
|
|
27
|
-
* @returns boolean indicating if body is valid
|
|
28
|
-
*/
|
|
29
|
-
export declare function validate_body_length(body: string): boolean;
|
|
30
|
-
/**
|
|
31
|
-
* Validate attachment size
|
|
32
|
-
* @param content - Base64 encoded attachment content
|
|
33
|
-
* @param max_size - Maximum size in bytes
|
|
34
|
-
* @returns boolean indicating if attachment size is valid
|
|
35
|
-
*/
|
|
36
|
-
export declare function validate_attachment_size(content: string, max_size: number): boolean;
|
|
37
|
-
//# sourceMappingURL=validation.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../../../../src/lib/emailer/utils/validation.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAS7D;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAO3D;AAED;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAKhE;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAQ1D;AAED;;;;;GAKG;AACH,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAWnF"}
|
|
@@ -1,81 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/**
|
|
3
|
-
* Validation utilities for emailer service
|
|
4
|
-
* Provides email validation, sanitization, and input validation functions
|
|
5
|
-
*/
|
|
6
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
-
exports.validate_email_address = validate_email_address;
|
|
8
|
-
exports.sanitize_email_header = sanitize_email_header;
|
|
9
|
-
exports.validate_subject_length = validate_subject_length;
|
|
10
|
-
exports.validate_body_length = validate_body_length;
|
|
11
|
-
exports.validate_attachment_size = validate_attachment_size;
|
|
12
|
-
const constants_1 = require("./constants");
|
|
13
|
-
/**
|
|
14
|
-
* Validate email address format
|
|
15
|
-
* @param email - Email address to validate
|
|
16
|
-
* @returns boolean indicating if email is valid
|
|
17
|
-
*/
|
|
18
|
-
function validate_email_address(email) {
|
|
19
|
-
if (!email || typeof email !== 'string') {
|
|
20
|
-
return false;
|
|
21
|
-
}
|
|
22
|
-
// RFC 5322 compliant regex (simplified)
|
|
23
|
-
const email_regex = /^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/;
|
|
24
|
-
return email_regex.test(email) && email.length <= constants_1.MAX_EMAIL_LENGTH;
|
|
25
|
-
}
|
|
26
|
-
/**
|
|
27
|
-
* Sanitize email header to prevent injection attacks
|
|
28
|
-
* Removes newlines, carriage returns, and other control characters
|
|
29
|
-
* @param value - Header value to sanitize
|
|
30
|
-
* @returns Sanitized header value
|
|
31
|
-
*/
|
|
32
|
-
function sanitize_email_header(value) {
|
|
33
|
-
if (!value || typeof value !== 'string') {
|
|
34
|
-
return '';
|
|
35
|
-
}
|
|
36
|
-
// Remove newlines, carriage returns, and other control characters
|
|
37
|
-
return value.replace(/[\r\n\t\0\x08\x0B\x0C\x1F]/g, '').trim();
|
|
38
|
-
}
|
|
39
|
-
/**
|
|
40
|
-
* Validate subject length
|
|
41
|
-
* @param subject - Email subject to validate
|
|
42
|
-
* @returns boolean indicating if subject is valid
|
|
43
|
-
*/
|
|
44
|
-
function validate_subject_length(subject) {
|
|
45
|
-
if (!subject || typeof subject !== 'string') {
|
|
46
|
-
return false;
|
|
47
|
-
}
|
|
48
|
-
return subject.length <= constants_1.MAX_SUBJECT_LENGTH;
|
|
49
|
-
}
|
|
50
|
-
/**
|
|
51
|
-
* Validate body length
|
|
52
|
-
* @param body - Email body to validate
|
|
53
|
-
* @returns boolean indicating if body is valid
|
|
54
|
-
*/
|
|
55
|
-
function validate_body_length(body) {
|
|
56
|
-
if (!body || typeof body !== 'string') {
|
|
57
|
-
return false;
|
|
58
|
-
}
|
|
59
|
-
// Calculate byte length (UTF-8 encoding)
|
|
60
|
-
const byte_length = Buffer.from(body, 'utf8').length;
|
|
61
|
-
return byte_length <= constants_1.MAX_BODY_LENGTH;
|
|
62
|
-
}
|
|
63
|
-
/**
|
|
64
|
-
* Validate attachment size
|
|
65
|
-
* @param content - Base64 encoded attachment content
|
|
66
|
-
* @param max_size - Maximum size in bytes
|
|
67
|
-
* @returns boolean indicating if attachment size is valid
|
|
68
|
-
*/
|
|
69
|
-
function validate_attachment_size(content, max_size) {
|
|
70
|
-
if (!content || typeof content !== 'string') {
|
|
71
|
-
return false;
|
|
72
|
-
}
|
|
73
|
-
try {
|
|
74
|
-
const size = Buffer.from(content, 'base64').length;
|
|
75
|
-
return size <= max_size;
|
|
76
|
-
}
|
|
77
|
-
catch (error) {
|
|
78
|
-
return false;
|
|
79
|
-
}
|
|
80
|
-
}
|
|
81
|
-
//# sourceMappingURL=validation.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"validation.js","sourceRoot":"","sources":["../../../../src/lib/emailer/utils/validation.ts"],"names":[],"mappings":";AAAA;;;GAGG;;AASH,wDASC;AAQD,sDAOC;AAOD,0DAKC;AAOD,oDAQC;AAQD,4DAWC;AA7ED,2CAAoF;AAEpF;;;;GAIG;AACH,SAAgB,sBAAsB,CAAC,KAAa;IAClD,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QACxC,OAAO,KAAK,CAAC;IACf,CAAC;IAED,wCAAwC;IACxC,MAAM,WAAW,GAAG,sIAAsI,CAAC;IAE3J,OAAO,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,IAAI,4BAAgB,CAAC;AACrE,CAAC;AAED;;;;;GAKG;AACH,SAAgB,qBAAqB,CAAC,KAAa;IACjD,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QACxC,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,kEAAkE;IAClE,OAAO,KAAK,CAAC,OAAO,CAAC,6BAA6B,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;AACjE,CAAC;AAED;;;;GAIG;AACH,SAAgB,uBAAuB,CAAC,OAAe;IACrD,IAAI,CAAC,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;QAC5C,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,OAAO,CAAC,MAAM,IAAI,8BAAkB,CAAC;AAC9C,CAAC;AAED;;;;GAIG;AACH,SAAgB,oBAAoB,CAAC,IAAY;IAC/C,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QACtC,OAAO,KAAK,CAAC;IACf,CAAC;IAED,yCAAyC;IACzC,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,MAAM,CAAC;IACrD,OAAO,WAAW,IAAI,2BAAe,CAAC;AACxC,CAAC;AAED;;;;;GAKG;AACH,SAAgB,wBAAwB,CAAC,OAAe,EAAE,QAAgB;IACxE,IAAI,CAAC,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;QAC5C,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,MAAM,CAAC;QACnD,OAAO,IAAI,IAAI,QAAQ,CAAC;IAC1B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC"}
|
package/dist/lib/index.d.ts
DELETED
package/dist/lib/index.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/lib/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,cAAc,WAAW,CAAC"}
|
package/dist/lib/index.js
DELETED
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/**
|
|
3
|
-
* Main library exports
|
|
4
|
-
* Entry point for the hazo_notify library
|
|
5
|
-
*/
|
|
6
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
7
|
-
if (k2 === undefined) k2 = k;
|
|
8
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
9
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
10
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
11
|
-
}
|
|
12
|
-
Object.defineProperty(o, k2, desc);
|
|
13
|
-
}) : (function(o, m, k, k2) {
|
|
14
|
-
if (k2 === undefined) k2 = k;
|
|
15
|
-
o[k2] = m[k];
|
|
16
|
-
}));
|
|
17
|
-
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
18
|
-
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
19
|
-
};
|
|
20
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
21
|
-
__exportStar(require("./emailer"), exports);
|
|
22
|
-
//# sourceMappingURL=index.js.map
|
package/dist/lib/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/lib/index.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;;;;;;;;;;;;;;AAEH,4CAA0B"}
|
package/dist/lib/utils.d.ts
DELETED
package/dist/lib/utils.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/lib/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,UAAU,EAAQ,MAAM,MAAM,CAAC;AAG7C,wBAAgB,EAAE,CAAC,GAAG,MAAM,EAAE,UAAU,EAAE,UAEzC"}
|
package/dist/lib/utils.js
DELETED
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.cn = cn;
|
|
4
|
-
const clsx_1 = require("clsx");
|
|
5
|
-
const tailwind_merge_1 = require("tailwind-merge");
|
|
6
|
-
function cn(...inputs) {
|
|
7
|
-
return (0, tailwind_merge_1.twMerge)((0, clsx_1.clsx)(inputs));
|
|
8
|
-
}
|
|
9
|
-
//# sourceMappingURL=utils.js.map
|
package/dist/lib/utils.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/lib/utils.ts"],"names":[],"mappings":";;AAGA,gBAEC;AALD,+BAA6C;AAC7C,mDAAyC;AAEzC,SAAgB,EAAE,CAAC,GAAG,MAAoB;IACxC,OAAO,IAAA,wBAAO,EAAC,IAAA,WAAI,EAAC,MAAM,CAAC,CAAC,CAAC;AAC/B,CAAC"}
|