hazo_notify 1.1.4 → 3.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 +163 -41
- package/dist/components/template_manager/category_dialog.d.ts +11 -0
- package/dist/components/template_manager/category_dialog.d.ts.map +1 -0
- package/dist/components/template_manager/category_dialog.js +41 -0
- package/dist/components/template_manager/category_dialog.js.map +1 -0
- package/dist/components/template_manager/category_tree.d.ts +13 -0
- package/dist/components/template_manager/category_tree.d.ts.map +1 -0
- package/dist/components/template_manager/category_tree.js +45 -0
- package/dist/components/template_manager/category_tree.js.map +1 -0
- package/dist/components/template_manager/index.d.ts +10 -0
- package/dist/components/template_manager/index.d.ts.map +1 -0
- package/dist/components/template_manager/index.js +8 -0
- package/dist/components/template_manager/index.js.map +1 -0
- package/dist/components/template_manager/preview_dialog.d.ts +11 -0
- package/dist/components/template_manager/preview_dialog.d.ts.map +1 -0
- package/dist/components/template_manager/preview_dialog.js +15 -0
- package/dist/components/template_manager/preview_dialog.js.map +1 -0
- package/dist/components/template_manager/template_dialog.d.ts +12 -0
- package/dist/components/template_manager/template_dialog.d.ts.map +1 -0
- package/dist/components/template_manager/template_dialog.js +46 -0
- package/dist/components/template_manager/template_dialog.js.map +1 -0
- package/dist/components/template_manager/template_editor.d.ts +12 -0
- package/dist/components/template_manager/template_editor.d.ts.map +1 -0
- package/dist/components/template_manager/template_editor.js +57 -0
- package/dist/components/template_manager/template_editor.js.map +1 -0
- package/dist/components/template_manager/template_globals_admin.d.ts +8 -0
- package/dist/components/template_manager/template_globals_admin.d.ts.map +1 -0
- package/dist/components/template_manager/template_globals_admin.js +27 -0
- package/dist/components/template_manager/template_globals_admin.js.map +1 -0
- package/dist/components/template_manager/template_manager_admin.d.ts +44 -0
- package/dist/components/template_manager/template_manager_admin.d.ts.map +1 -0
- package/dist/components/template_manager/template_manager_admin.js +272 -0
- package/dist/components/template_manager/template_manager_admin.js.map +1 -0
- package/dist/lib/emailer/emailer.d.ts.map +1 -0
- package/dist/lib/emailer/emailer.js.map +1 -0
- package/dist/lib/emailer/index.d.ts.map +1 -0
- package/dist/lib/emailer/index.js.map +1 -0
- package/dist/lib/emailer/providers/index.d.ts.map +1 -0
- package/dist/lib/emailer/providers/index.js.map +1 -0
- package/dist/lib/emailer/providers/pop3_provider.d.ts.map +1 -0
- package/dist/lib/emailer/providers/pop3_provider.js.map +1 -0
- package/dist/lib/emailer/providers/smtp_provider.d.ts.map +1 -0
- package/dist/lib/emailer/providers/smtp_provider.js.map +1 -0
- package/dist/lib/emailer/providers/zeptomail_provider.d.ts.map +1 -0
- package/dist/{emailer → lib/emailer}/providers/zeptomail_provider.js +9 -6
- package/dist/lib/emailer/providers/zeptomail_provider.js.map +1 -0
- package/dist/lib/emailer/types.d.ts.map +1 -0
- package/dist/lib/emailer/types.js.map +1 -0
- package/dist/lib/emailer/utils/constants.d.ts.map +1 -0
- package/dist/lib/emailer/utils/constants.js.map +1 -0
- package/dist/lib/emailer/utils/index.d.ts.map +1 -0
- package/dist/lib/emailer/utils/index.js.map +1 -0
- package/dist/lib/emailer/utils/logger.d.ts.map +1 -0
- package/dist/lib/emailer/utils/logger.js.map +1 -0
- package/dist/lib/emailer/utils/validation.d.ts.map +1 -0
- package/dist/lib/emailer/utils/validation.js.map +1 -0
- package/dist/lib/index.d.ts.map +1 -0
- package/dist/lib/index.js.map +1 -0
- package/dist/lib/template_manager/cache/scope_chain_cache.d.ts +26 -0
- package/dist/lib/template_manager/cache/scope_chain_cache.d.ts.map +1 -0
- package/dist/lib/template_manager/cache/scope_chain_cache.js +60 -0
- package/dist/lib/template_manager/cache/scope_chain_cache.js.map +1 -0
- package/dist/{template_manager → lib/template_manager}/config/config_loader.d.ts +16 -15
- package/dist/lib/template_manager/config/config_loader.d.ts.map +1 -0
- package/dist/lib/template_manager/config/config_loader.js +98 -0
- package/dist/lib/template_manager/config/config_loader.js.map +1 -0
- package/dist/{template_manager → lib/template_manager}/config/constants.d.ts +4 -54
- package/dist/lib/template_manager/config/constants.d.ts.map +1 -0
- package/dist/{template_manager → lib/template_manager}/config/constants.js +4 -84
- package/dist/lib/template_manager/config/constants.js.map +1 -0
- package/dist/lib/template_manager/config/index.d.ts.map +1 -0
- package/dist/lib/template_manager/config/index.js.map +1 -0
- package/dist/{template_manager → lib/template_manager}/db/category_repository.d.ts +22 -14
- package/dist/lib/template_manager/db/category_repository.d.ts.map +1 -0
- package/dist/{template_manager → lib/template_manager}/db/category_repository.js +127 -83
- package/dist/lib/template_manager/db/category_repository.js.map +1 -0
- package/dist/lib/template_manager/db/index.d.ts +6 -0
- package/dist/lib/template_manager/db/index.d.ts.map +1 -0
- package/dist/lib/template_manager/db/index.js +6 -0
- package/dist/lib/template_manager/db/index.js.map +1 -0
- package/dist/{template_manager → lib/template_manager}/db/template_repository.d.ts +25 -28
- package/dist/lib/template_manager/db/template_repository.d.ts.map +1 -0
- package/dist/lib/template_manager/db/template_repository.js +507 -0
- package/dist/lib/template_manager/db/template_repository.js.map +1 -0
- package/dist/lib/template_manager/engine/handlebars_engine.d.ts.map +1 -0
- package/dist/lib/template_manager/engine/handlebars_engine.js.map +1 -0
- package/dist/lib/template_manager/engine/index.d.ts.map +1 -0
- package/dist/lib/template_manager/engine/index.js.map +1 -0
- package/dist/{template_manager → lib/template_manager}/engine/variable_resolver.d.ts +13 -14
- package/dist/lib/template_manager/engine/variable_resolver.d.ts.map +1 -0
- package/dist/{template_manager → lib/template_manager}/engine/variable_resolver.js +25 -33
- package/dist/lib/template_manager/engine/variable_resolver.js.map +1 -0
- package/dist/lib/template_manager/handlers/adapters/hazo_auth.d.ts +20 -0
- package/dist/lib/template_manager/handlers/adapters/hazo_auth.d.ts.map +1 -0
- package/dist/lib/template_manager/handlers/adapters/hazo_auth.js +46 -0
- package/dist/lib/template_manager/handlers/adapters/hazo_auth.js.map +1 -0
- package/dist/lib/template_manager/handlers/auth.d.ts +47 -0
- package/dist/lib/template_manager/handlers/auth.d.ts.map +1 -0
- package/dist/lib/template_manager/handlers/auth.js +67 -0
- package/dist/lib/template_manager/handlers/auth.js.map +1 -0
- package/dist/lib/template_manager/handlers/index.d.ts +67 -0
- package/dist/lib/template_manager/handlers/index.d.ts.map +1 -0
- package/dist/lib/template_manager/handlers/index.js +284 -0
- package/dist/lib/template_manager/handlers/index.js.map +1 -0
- package/dist/lib/template_manager/index.d.ts +56 -0
- package/dist/lib/template_manager/index.d.ts.map +1 -0
- package/dist/lib/template_manager/index.js +68 -0
- package/dist/lib/template_manager/index.js.map +1 -0
- package/dist/lib/template_manager/init.d.ts +54 -0
- package/dist/lib/template_manager/init.d.ts.map +1 -0
- package/dist/lib/template_manager/init.js +85 -0
- package/dist/lib/template_manager/init.js.map +1 -0
- package/dist/lib/template_manager/registry.d.ts +23 -0
- package/dist/lib/template_manager/registry.d.ts.map +1 -0
- package/dist/lib/template_manager/registry.js +33 -0
- package/dist/lib/template_manager/registry.js.map +1 -0
- package/dist/lib/template_manager/seed/sync.d.ts +8 -0
- package/dist/lib/template_manager/seed/sync.d.ts.map +1 -0
- package/dist/lib/template_manager/seed/sync.js +77 -0
- package/dist/lib/template_manager/seed/sync.js.map +1 -0
- package/dist/{template_manager → lib/template_manager}/template_manager.d.ts +25 -27
- package/dist/lib/template_manager/template_manager.d.ts.map +1 -0
- package/dist/{template_manager → lib/template_manager}/template_manager.js +41 -55
- package/dist/lib/template_manager/template_manager.js.map +1 -0
- package/dist/{template_manager → lib/template_manager}/types.d.ts +32 -125
- package/dist/lib/template_manager/types.d.ts.map +1 -0
- package/dist/lib/template_manager/types.js +12 -0
- package/dist/lib/template_manager/types.js.map +1 -0
- package/dist/lib/template_manager/utils/index.d.ts.map +1 -0
- package/dist/lib/template_manager/utils/index.js.map +1 -0
- package/dist/lib/template_manager/utils/system_variables.d.ts.map +1 -0
- package/dist/lib/template_manager/utils/system_variables.js.map +1 -0
- package/dist/lib/template_manager/utils/validation.d.ts.map +1 -0
- package/dist/lib/template_manager/utils/validation.js.map +1 -0
- package/dist/lib/utils.d.ts +3 -0
- package/dist/lib/utils.d.ts.map +1 -0
- package/dist/lib/utils.js +6 -0
- package/dist/lib/utils.js.map +1 -0
- package/migrations/002_scope_migration.sql +93 -0
- package/package.json +65 -37
- package/dist/emailer/emailer.d.ts.map +0 -1
- package/dist/emailer/emailer.js.map +0 -1
- package/dist/emailer/index.d.ts.map +0 -1
- package/dist/emailer/index.js.map +0 -1
- package/dist/emailer/providers/index.d.ts.map +0 -1
- package/dist/emailer/providers/index.js.map +0 -1
- package/dist/emailer/providers/pop3_provider.d.ts.map +0 -1
- package/dist/emailer/providers/pop3_provider.js.map +0 -1
- package/dist/emailer/providers/smtp_provider.d.ts.map +0 -1
- package/dist/emailer/providers/smtp_provider.js.map +0 -1
- package/dist/emailer/providers/zeptomail_provider.d.ts.map +0 -1
- package/dist/emailer/providers/zeptomail_provider.js.map +0 -1
- package/dist/emailer/types.d.ts.map +0 -1
- package/dist/emailer/types.js.map +0 -1
- package/dist/emailer/utils/constants.d.ts.map +0 -1
- package/dist/emailer/utils/constants.js.map +0 -1
- package/dist/emailer/utils/index.d.ts.map +0 -1
- package/dist/emailer/utils/index.js.map +0 -1
- package/dist/emailer/utils/logger.d.ts.map +0 -1
- package/dist/emailer/utils/logger.js.map +0 -1
- package/dist/emailer/utils/validation.d.ts.map +0 -1
- package/dist/emailer/utils/validation.js.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/template_manager/config/config_loader.d.ts.map +0 -1
- package/dist/template_manager/config/config_loader.js +0 -154
- package/dist/template_manager/config/config_loader.js.map +0 -1
- package/dist/template_manager/config/constants.d.ts.map +0 -1
- package/dist/template_manager/config/constants.js.map +0 -1
- package/dist/template_manager/config/index.d.ts.map +0 -1
- package/dist/template_manager/config/index.js.map +0 -1
- package/dist/template_manager/db/category_repository.d.ts.map +0 -1
- package/dist/template_manager/db/category_repository.js.map +0 -1
- package/dist/template_manager/db/index.d.ts +0 -6
- package/dist/template_manager/db/index.d.ts.map +0 -1
- package/dist/template_manager/db/index.js +0 -6
- package/dist/template_manager/db/index.js.map +0 -1
- package/dist/template_manager/db/template_repository.d.ts.map +0 -1
- package/dist/template_manager/db/template_repository.js +0 -674
- package/dist/template_manager/db/template_repository.js.map +0 -1
- package/dist/template_manager/engine/handlebars_engine.d.ts.map +0 -1
- package/dist/template_manager/engine/handlebars_engine.js.map +0 -1
- package/dist/template_manager/engine/index.d.ts.map +0 -1
- package/dist/template_manager/engine/index.js.map +0 -1
- package/dist/template_manager/engine/variable_resolver.d.ts.map +0 -1
- package/dist/template_manager/engine/variable_resolver.js.map +0 -1
- package/dist/template_manager/index.d.ts +0 -32
- package/dist/template_manager/index.d.ts.map +0 -1
- package/dist/template_manager/index.js +0 -41
- package/dist/template_manager/index.js.map +0 -1
- package/dist/template_manager/template_manager.d.ts.map +0 -1
- package/dist/template_manager/template_manager.js.map +0 -1
- package/dist/template_manager/types.d.ts.map +0 -1
- package/dist/template_manager/types.js +0 -11
- package/dist/template_manager/types.js.map +0 -1
- package/dist/template_manager/utils/index.d.ts.map +0 -1
- package/dist/template_manager/utils/index.js.map +0 -1
- package/dist/template_manager/utils/system_variables.d.ts.map +0 -1
- package/dist/template_manager/utils/system_variables.js.map +0 -1
- package/dist/template_manager/utils/validation.d.ts.map +0 -1
- package/dist/template_manager/utils/validation.js.map +0 -1
- /package/dist/{emailer → lib/emailer}/emailer.d.ts +0 -0
- /package/dist/{emailer → lib/emailer}/emailer.js +0 -0
- /package/dist/{emailer → lib/emailer}/index.d.ts +0 -0
- /package/dist/{emailer → lib/emailer}/index.js +0 -0
- /package/dist/{emailer → lib/emailer}/providers/index.d.ts +0 -0
- /package/dist/{emailer → lib/emailer}/providers/index.js +0 -0
- /package/dist/{emailer → lib/emailer}/providers/pop3_provider.d.ts +0 -0
- /package/dist/{emailer → lib/emailer}/providers/pop3_provider.js +0 -0
- /package/dist/{emailer → lib/emailer}/providers/smtp_provider.d.ts +0 -0
- /package/dist/{emailer → lib/emailer}/providers/smtp_provider.js +0 -0
- /package/dist/{emailer → lib/emailer}/providers/zeptomail_provider.d.ts +0 -0
- /package/dist/{emailer → lib/emailer}/types.d.ts +0 -0
- /package/dist/{emailer → lib/emailer}/types.js +0 -0
- /package/dist/{emailer → lib/emailer}/utils/constants.d.ts +0 -0
- /package/dist/{emailer → lib/emailer}/utils/constants.js +0 -0
- /package/dist/{emailer → lib/emailer}/utils/index.d.ts +0 -0
- /package/dist/{emailer → lib/emailer}/utils/index.js +0 -0
- /package/dist/{emailer → lib/emailer}/utils/logger.d.ts +0 -0
- /package/dist/{emailer → lib/emailer}/utils/logger.js +0 -0
- /package/dist/{emailer → lib/emailer}/utils/validation.d.ts +0 -0
- /package/dist/{emailer → lib/emailer}/utils/validation.js +0 -0
- /package/dist/{index.d.ts → lib/index.d.ts} +0 -0
- /package/dist/{index.js → lib/index.js} +0 -0
- /package/dist/{template_manager → lib/template_manager}/config/index.d.ts +0 -0
- /package/dist/{template_manager → lib/template_manager}/config/index.js +0 -0
- /package/dist/{template_manager → lib/template_manager}/engine/handlebars_engine.d.ts +0 -0
- /package/dist/{template_manager → lib/template_manager}/engine/handlebars_engine.js +0 -0
- /package/dist/{template_manager → lib/template_manager}/engine/index.d.ts +0 -0
- /package/dist/{template_manager → lib/template_manager}/engine/index.js +0 -0
- /package/dist/{template_manager → lib/template_manager}/utils/index.d.ts +0 -0
- /package/dist/{template_manager → lib/template_manager}/utils/index.js +0 -0
- /package/dist/{template_manager → lib/template_manager}/utils/system_variables.d.ts +0 -0
- /package/dist/{template_manager → lib/template_manager}/utils/system_variables.js +0 -0
- /package/dist/{template_manager → lib/template_manager}/utils/validation.d.ts +0 -0
- /package/dist/{template_manager → lib/template_manager}/utils/validation.js +0 -0
|
@@ -0,0 +1,507 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Template repository for template manager (v2.0.0)
|
|
3
|
+
*
|
|
4
|
+
* CRUD operations for email templates using hazo_connect.
|
|
5
|
+
* Uses scope_id (null = global) for hierarchical template resolution.
|
|
6
|
+
*/
|
|
7
|
+
import { TABLE_TEMPLATES, TABLE_TEMPLATE_CATEGORY, ERROR_MESSAGES, } from '../config/constants.js';
|
|
8
|
+
import { validate_template_name, validate_uuid, validate_template_html_size, validate_template_text_size, } from '../utils/validation.js';
|
|
9
|
+
/**
|
|
10
|
+
* List all templates visible for a given scope (scoped rows + global rows).
|
|
11
|
+
* When scope_id is provided, scoped rows override global rows with the same
|
|
12
|
+
* template_name in the returned set.
|
|
13
|
+
*
|
|
14
|
+
* @param hazo_connect - Database connection instance
|
|
15
|
+
* @param scope_id - Scope to list templates for (null/undefined = global only)
|
|
16
|
+
* @returns Response with array of templates
|
|
17
|
+
*/
|
|
18
|
+
export async function list_templates(hazo_connect, scope_id) {
|
|
19
|
+
try {
|
|
20
|
+
if (!hazo_connect) {
|
|
21
|
+
return {
|
|
22
|
+
success: false,
|
|
23
|
+
error: ERROR_MESSAGES.DB_CONNECTION_REQUIRED,
|
|
24
|
+
message: ERROR_MESSAGES.DB_CONNECTION_REQUIRED,
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
let templates;
|
|
28
|
+
if (scope_id) {
|
|
29
|
+
// Fetch rows for this scope AND global rows in parallel
|
|
30
|
+
const scoped_q = hazo_connect
|
|
31
|
+
.query()
|
|
32
|
+
.from(TABLE_TEMPLATES)
|
|
33
|
+
.select('*')
|
|
34
|
+
.where('scope_id', 'eq', scope_id);
|
|
35
|
+
const global_q = hazo_connect
|
|
36
|
+
.query()
|
|
37
|
+
.from(TABLE_TEMPLATES)
|
|
38
|
+
.select('*')
|
|
39
|
+
.where('scope_id', 'is', null);
|
|
40
|
+
const [scoped_rows, global_rows] = await Promise.all([
|
|
41
|
+
hazo_connect.list(scoped_q),
|
|
42
|
+
hazo_connect.list(global_q),
|
|
43
|
+
]);
|
|
44
|
+
// Merge: scoped rows override global rows with the same template_name
|
|
45
|
+
const by_name = new Map();
|
|
46
|
+
for (const row of global_rows)
|
|
47
|
+
by_name.set(row.template_name, row);
|
|
48
|
+
for (const row of scoped_rows)
|
|
49
|
+
by_name.set(row.template_name, row); // scoped wins
|
|
50
|
+
templates = Array.from(by_name.values()).sort((a, b) => a.template_name.localeCompare(b.template_name));
|
|
51
|
+
}
|
|
52
|
+
else {
|
|
53
|
+
// Global-only
|
|
54
|
+
const q = hazo_connect
|
|
55
|
+
.query()
|
|
56
|
+
.from(TABLE_TEMPLATES)
|
|
57
|
+
.select('*')
|
|
58
|
+
.where('scope_id', 'is', null)
|
|
59
|
+
.order('template_name', 'asc');
|
|
60
|
+
templates = await hazo_connect.list(q);
|
|
61
|
+
}
|
|
62
|
+
return {
|
|
63
|
+
success: true,
|
|
64
|
+
data: templates,
|
|
65
|
+
message: `Found ${templates.length} templates`,
|
|
66
|
+
};
|
|
67
|
+
}
|
|
68
|
+
catch (error) {
|
|
69
|
+
const msg = error instanceof Error ? error.message : 'Unknown error';
|
|
70
|
+
return {
|
|
71
|
+
success: false,
|
|
72
|
+
error: msg,
|
|
73
|
+
message: `Failed to list templates: ${msg}`,
|
|
74
|
+
};
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* List templates by category ID.
|
|
79
|
+
*
|
|
80
|
+
* @param hazo_connect - Database connection instance
|
|
81
|
+
* @param category_id - Category ID
|
|
82
|
+
* @returns Response with array of templates
|
|
83
|
+
*/
|
|
84
|
+
export async function list_templates_by_category(hazo_connect, category_id, scope_id) {
|
|
85
|
+
try {
|
|
86
|
+
if (!hazo_connect) {
|
|
87
|
+
return {
|
|
88
|
+
success: false,
|
|
89
|
+
error: ERROR_MESSAGES.DB_CONNECTION_REQUIRED,
|
|
90
|
+
message: ERROR_MESSAGES.DB_CONNECTION_REQUIRED,
|
|
91
|
+
};
|
|
92
|
+
}
|
|
93
|
+
if (!validate_uuid(category_id)) {
|
|
94
|
+
return {
|
|
95
|
+
success: false,
|
|
96
|
+
error: 'Invalid category ID',
|
|
97
|
+
message: 'Invalid category ID format',
|
|
98
|
+
};
|
|
99
|
+
}
|
|
100
|
+
let templates;
|
|
101
|
+
if (scope_id != null) {
|
|
102
|
+
const scoped_q = hazo_connect
|
|
103
|
+
.query()
|
|
104
|
+
.from(TABLE_TEMPLATES)
|
|
105
|
+
.select('*')
|
|
106
|
+
.where('template_category_id', 'eq', category_id)
|
|
107
|
+
.where('scope_id', 'eq', scope_id)
|
|
108
|
+
.order('template_name', 'asc');
|
|
109
|
+
const global_q = hazo_connect
|
|
110
|
+
.query()
|
|
111
|
+
.from(TABLE_TEMPLATES)
|
|
112
|
+
.select('*')
|
|
113
|
+
.where('template_category_id', 'eq', category_id)
|
|
114
|
+
.where('scope_id', 'is', null)
|
|
115
|
+
.order('template_name', 'asc');
|
|
116
|
+
const [scoped_rows, global_rows] = await Promise.all([
|
|
117
|
+
hazo_connect.list(scoped_q),
|
|
118
|
+
hazo_connect.list(global_q),
|
|
119
|
+
]);
|
|
120
|
+
const by_name = new Map();
|
|
121
|
+
for (const row of global_rows)
|
|
122
|
+
by_name.set(row.template_name, row);
|
|
123
|
+
for (const row of scoped_rows)
|
|
124
|
+
by_name.set(row.template_name, row);
|
|
125
|
+
templates = Array.from(by_name.values()).sort((a, b) => a.template_name.localeCompare(b.template_name));
|
|
126
|
+
}
|
|
127
|
+
else {
|
|
128
|
+
const q = hazo_connect
|
|
129
|
+
.query()
|
|
130
|
+
.from(TABLE_TEMPLATES)
|
|
131
|
+
.select('*')
|
|
132
|
+
.where('template_category_id', 'eq', category_id)
|
|
133
|
+
.order('template_name', 'asc');
|
|
134
|
+
templates = await hazo_connect.list(q);
|
|
135
|
+
}
|
|
136
|
+
return {
|
|
137
|
+
success: true,
|
|
138
|
+
data: templates,
|
|
139
|
+
message: `Found ${templates.length} templates in category`,
|
|
140
|
+
};
|
|
141
|
+
}
|
|
142
|
+
catch (error) {
|
|
143
|
+
const msg = error instanceof Error ? error.message : 'Unknown error';
|
|
144
|
+
return {
|
|
145
|
+
success: false,
|
|
146
|
+
error: msg,
|
|
147
|
+
message: `Failed to list templates: ${msg}`,
|
|
148
|
+
};
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
/**
|
|
152
|
+
* Get a single email template by ID.
|
|
153
|
+
*
|
|
154
|
+
* @param hazo_connect - Database connection instance
|
|
155
|
+
* @param id - Template ID
|
|
156
|
+
* @returns Response with template data
|
|
157
|
+
*/
|
|
158
|
+
export async function get_template(hazo_connect, id) {
|
|
159
|
+
try {
|
|
160
|
+
if (!hazo_connect) {
|
|
161
|
+
return {
|
|
162
|
+
success: false,
|
|
163
|
+
error: ERROR_MESSAGES.DB_CONNECTION_REQUIRED,
|
|
164
|
+
message: ERROR_MESSAGES.DB_CONNECTION_REQUIRED,
|
|
165
|
+
};
|
|
166
|
+
}
|
|
167
|
+
if (!validate_uuid(id)) {
|
|
168
|
+
return {
|
|
169
|
+
success: false,
|
|
170
|
+
error: 'Invalid template ID',
|
|
171
|
+
message: 'Invalid template ID format',
|
|
172
|
+
};
|
|
173
|
+
}
|
|
174
|
+
const template = await hazo_connect.findById(TABLE_TEMPLATES, id);
|
|
175
|
+
if (!template) {
|
|
176
|
+
return {
|
|
177
|
+
success: false,
|
|
178
|
+
error: ERROR_MESSAGES.TEMPLATE_NOT_FOUND,
|
|
179
|
+
message: ERROR_MESSAGES.TEMPLATE_NOT_FOUND,
|
|
180
|
+
};
|
|
181
|
+
}
|
|
182
|
+
return {
|
|
183
|
+
success: true,
|
|
184
|
+
data: template,
|
|
185
|
+
message: 'Template found',
|
|
186
|
+
};
|
|
187
|
+
}
|
|
188
|
+
catch (error) {
|
|
189
|
+
const msg = error instanceof Error ? error.message : 'Unknown error';
|
|
190
|
+
return {
|
|
191
|
+
success: false,
|
|
192
|
+
error: msg,
|
|
193
|
+
message: `Failed to get template: ${msg}`,
|
|
194
|
+
};
|
|
195
|
+
}
|
|
196
|
+
}
|
|
197
|
+
/**
|
|
198
|
+
* Get a template by name using hierarchical scope resolution.
|
|
199
|
+
*
|
|
200
|
+
* scope_chain: [scope_id, ...ancestors] — chain[0] is deepest (most preferred).
|
|
201
|
+
* Empty array → global-only lookup.
|
|
202
|
+
* Prefers the deepest-scope match; falls back to global (scope_id IS NULL).
|
|
203
|
+
*
|
|
204
|
+
* @param hazo_connect - Database connection instance
|
|
205
|
+
* @param scope_chain - Ordered scope chain, deepest first
|
|
206
|
+
* @param template_name - Template name to look up
|
|
207
|
+
* @returns Response with the best-matching template
|
|
208
|
+
*/
|
|
209
|
+
export async function get_template_by_name(hazo_connect, scope_chain, template_name) {
|
|
210
|
+
try {
|
|
211
|
+
if (!hazo_connect) {
|
|
212
|
+
return {
|
|
213
|
+
success: false,
|
|
214
|
+
error: ERROR_MESSAGES.DB_CONNECTION_REQUIRED,
|
|
215
|
+
message: ERROR_MESSAGES.DB_CONNECTION_REQUIRED,
|
|
216
|
+
};
|
|
217
|
+
}
|
|
218
|
+
let candidates = [];
|
|
219
|
+
if (scope_chain.length > 0) {
|
|
220
|
+
// Fetch all candidates: rows matching template_name where scope_id IN chain OR scope_id IS NULL
|
|
221
|
+
const scoped_q = hazo_connect
|
|
222
|
+
.query()
|
|
223
|
+
.from(TABLE_TEMPLATES)
|
|
224
|
+
.select('*')
|
|
225
|
+
.where('template_name', 'eq', template_name)
|
|
226
|
+
.whereIn('scope_id', scope_chain);
|
|
227
|
+
const global_q = hazo_connect
|
|
228
|
+
.query()
|
|
229
|
+
.from(TABLE_TEMPLATES)
|
|
230
|
+
.select('*')
|
|
231
|
+
.where('template_name', 'eq', template_name)
|
|
232
|
+
.where('scope_id', 'is', null);
|
|
233
|
+
const [scoped, global] = await Promise.all([
|
|
234
|
+
hazo_connect.list(scoped_q),
|
|
235
|
+
hazo_connect.list(global_q),
|
|
236
|
+
]);
|
|
237
|
+
candidates = [...scoped, ...global];
|
|
238
|
+
}
|
|
239
|
+
else {
|
|
240
|
+
// Global-only
|
|
241
|
+
const q = hazo_connect
|
|
242
|
+
.query()
|
|
243
|
+
.from(TABLE_TEMPLATES)
|
|
244
|
+
.select('*')
|
|
245
|
+
.where('template_name', 'eq', template_name)
|
|
246
|
+
.where('scope_id', 'is', null);
|
|
247
|
+
candidates = await hazo_connect.list(q);
|
|
248
|
+
}
|
|
249
|
+
if (candidates.length === 0) {
|
|
250
|
+
return {
|
|
251
|
+
success: false,
|
|
252
|
+
error: ERROR_MESSAGES.TEMPLATE_NOT_FOUND,
|
|
253
|
+
message: `Template '${template_name}' not found`,
|
|
254
|
+
};
|
|
255
|
+
}
|
|
256
|
+
// Sort: deepest scope first (chain index order), then global (null) last.
|
|
257
|
+
// A scope_id not present in the chain (and not null) also goes last.
|
|
258
|
+
candidates.sort((a, b) => {
|
|
259
|
+
const ai = a.scope_id !== null ? scope_chain.indexOf(a.scope_id) : -1;
|
|
260
|
+
const bi = b.scope_id !== null ? scope_chain.indexOf(b.scope_id) : -1;
|
|
261
|
+
const a_rank = a.scope_id === null ? Infinity : ai === -1 ? Infinity : ai;
|
|
262
|
+
const b_rank = b.scope_id === null ? Infinity : bi === -1 ? Infinity : bi;
|
|
263
|
+
return a_rank - b_rank;
|
|
264
|
+
});
|
|
265
|
+
return {
|
|
266
|
+
success: true,
|
|
267
|
+
data: candidates[0],
|
|
268
|
+
message: 'Template found',
|
|
269
|
+
};
|
|
270
|
+
}
|
|
271
|
+
catch (error) {
|
|
272
|
+
const msg = error instanceof Error ? error.message : 'Unknown error';
|
|
273
|
+
return {
|
|
274
|
+
success: false,
|
|
275
|
+
error: msg,
|
|
276
|
+
message: `Failed to get template: ${msg}`,
|
|
277
|
+
};
|
|
278
|
+
}
|
|
279
|
+
}
|
|
280
|
+
/**
|
|
281
|
+
* Create a new email template.
|
|
282
|
+
*
|
|
283
|
+
* @param hazo_connect - Database connection instance
|
|
284
|
+
* @param data - Template input data
|
|
285
|
+
* @returns Response with created template
|
|
286
|
+
*/
|
|
287
|
+
export async function create_template(hazo_connect, data) {
|
|
288
|
+
try {
|
|
289
|
+
if (!hazo_connect) {
|
|
290
|
+
return {
|
|
291
|
+
success: false,
|
|
292
|
+
error: ERROR_MESSAGES.DB_CONNECTION_REQUIRED,
|
|
293
|
+
message: ERROR_MESSAGES.DB_CONNECTION_REQUIRED,
|
|
294
|
+
};
|
|
295
|
+
}
|
|
296
|
+
if (!validate_template_name(data.template_name)) {
|
|
297
|
+
return {
|
|
298
|
+
success: false,
|
|
299
|
+
error: ERROR_MESSAGES.INVALID_TEMPLATE_NAME,
|
|
300
|
+
message: ERROR_MESSAGES.INVALID_TEMPLATE_NAME,
|
|
301
|
+
};
|
|
302
|
+
}
|
|
303
|
+
if (data.scope_id != null && !validate_uuid(data.scope_id)) {
|
|
304
|
+
return {
|
|
305
|
+
success: false,
|
|
306
|
+
error: 'Invalid scope ID',
|
|
307
|
+
message: 'Invalid scope ID format',
|
|
308
|
+
};
|
|
309
|
+
}
|
|
310
|
+
if (!validate_uuid(data.template_category_id)) {
|
|
311
|
+
return {
|
|
312
|
+
success: false,
|
|
313
|
+
error: 'Invalid category ID',
|
|
314
|
+
message: 'Invalid category ID format',
|
|
315
|
+
};
|
|
316
|
+
}
|
|
317
|
+
if (!validate_template_html_size(data.template_html)) {
|
|
318
|
+
return {
|
|
319
|
+
success: false,
|
|
320
|
+
error: ERROR_MESSAGES.TEMPLATE_HTML_TOO_LARGE,
|
|
321
|
+
message: ERROR_MESSAGES.TEMPLATE_HTML_TOO_LARGE,
|
|
322
|
+
};
|
|
323
|
+
}
|
|
324
|
+
if (!validate_template_text_size(data.template_text)) {
|
|
325
|
+
return {
|
|
326
|
+
success: false,
|
|
327
|
+
error: ERROR_MESSAGES.TEMPLATE_TEXT_TOO_LARGE,
|
|
328
|
+
message: ERROR_MESSAGES.TEMPLATE_TEXT_TOO_LARGE,
|
|
329
|
+
};
|
|
330
|
+
}
|
|
331
|
+
// Check that the category exists
|
|
332
|
+
const category = await hazo_connect.findById(TABLE_TEMPLATE_CATEGORY, data.template_category_id);
|
|
333
|
+
if (!category) {
|
|
334
|
+
return {
|
|
335
|
+
success: false,
|
|
336
|
+
error: ERROR_MESSAGES.CATEGORY_NOT_FOUND,
|
|
337
|
+
message: 'Template category does not exist',
|
|
338
|
+
};
|
|
339
|
+
}
|
|
340
|
+
const template = await hazo_connect.insert(TABLE_TEMPLATES, {
|
|
341
|
+
scope_id: data.scope_id,
|
|
342
|
+
template_category_id: data.template_category_id,
|
|
343
|
+
template_variables: data.template_variables || [],
|
|
344
|
+
template_name: data.template_name.trim(),
|
|
345
|
+
template_html: data.template_html,
|
|
346
|
+
template_text: data.template_text,
|
|
347
|
+
is_modified: false,
|
|
348
|
+
});
|
|
349
|
+
return {
|
|
350
|
+
success: true,
|
|
351
|
+
data: template,
|
|
352
|
+
message: 'Template created successfully',
|
|
353
|
+
};
|
|
354
|
+
}
|
|
355
|
+
catch (error) {
|
|
356
|
+
const msg = error instanceof Error ? error.message : 'Unknown error';
|
|
357
|
+
return {
|
|
358
|
+
success: false,
|
|
359
|
+
error: msg,
|
|
360
|
+
message: `Failed to create template: ${msg}`,
|
|
361
|
+
};
|
|
362
|
+
}
|
|
363
|
+
}
|
|
364
|
+
/**
|
|
365
|
+
* Update an existing email template.
|
|
366
|
+
*
|
|
367
|
+
* @param hazo_connect - Database connection instance
|
|
368
|
+
* @param id - Template ID
|
|
369
|
+
* @param data - Fields to update
|
|
370
|
+
* @returns Response with updated template
|
|
371
|
+
*/
|
|
372
|
+
export async function update_template(hazo_connect, id, data) {
|
|
373
|
+
try {
|
|
374
|
+
if (!hazo_connect) {
|
|
375
|
+
return {
|
|
376
|
+
success: false,
|
|
377
|
+
error: ERROR_MESSAGES.DB_CONNECTION_REQUIRED,
|
|
378
|
+
message: ERROR_MESSAGES.DB_CONNECTION_REQUIRED,
|
|
379
|
+
};
|
|
380
|
+
}
|
|
381
|
+
if (!validate_uuid(id)) {
|
|
382
|
+
return {
|
|
383
|
+
success: false,
|
|
384
|
+
error: 'Invalid template ID',
|
|
385
|
+
message: 'Invalid template ID format',
|
|
386
|
+
};
|
|
387
|
+
}
|
|
388
|
+
const existing = await hazo_connect.findById(TABLE_TEMPLATES, id);
|
|
389
|
+
if (!existing) {
|
|
390
|
+
return {
|
|
391
|
+
success: false,
|
|
392
|
+
error: ERROR_MESSAGES.TEMPLATE_NOT_FOUND,
|
|
393
|
+
message: ERROR_MESSAGES.TEMPLATE_NOT_FOUND,
|
|
394
|
+
};
|
|
395
|
+
}
|
|
396
|
+
if (data.template_name !== undefined &&
|
|
397
|
+
!validate_template_name(data.template_name)) {
|
|
398
|
+
return {
|
|
399
|
+
success: false,
|
|
400
|
+
error: ERROR_MESSAGES.INVALID_TEMPLATE_NAME,
|
|
401
|
+
message: ERROR_MESSAGES.INVALID_TEMPLATE_NAME,
|
|
402
|
+
};
|
|
403
|
+
}
|
|
404
|
+
if (data.template_category_id !== undefined &&
|
|
405
|
+
!validate_uuid(data.template_category_id)) {
|
|
406
|
+
return {
|
|
407
|
+
success: false,
|
|
408
|
+
error: 'Invalid category ID',
|
|
409
|
+
message: 'Invalid category ID format',
|
|
410
|
+
};
|
|
411
|
+
}
|
|
412
|
+
if (data.template_html !== undefined &&
|
|
413
|
+
!validate_template_html_size(data.template_html)) {
|
|
414
|
+
return {
|
|
415
|
+
success: false,
|
|
416
|
+
error: ERROR_MESSAGES.TEMPLATE_HTML_TOO_LARGE,
|
|
417
|
+
message: ERROR_MESSAGES.TEMPLATE_HTML_TOO_LARGE,
|
|
418
|
+
};
|
|
419
|
+
}
|
|
420
|
+
if (data.template_text !== undefined &&
|
|
421
|
+
!validate_template_text_size(data.template_text)) {
|
|
422
|
+
return {
|
|
423
|
+
success: false,
|
|
424
|
+
error: ERROR_MESSAGES.TEMPLATE_TEXT_TOO_LARGE,
|
|
425
|
+
message: ERROR_MESSAGES.TEMPLATE_TEXT_TOO_LARGE,
|
|
426
|
+
};
|
|
427
|
+
}
|
|
428
|
+
const patch = {
|
|
429
|
+
changed_at: new Date().toISOString(),
|
|
430
|
+
};
|
|
431
|
+
if (data.template_name !== undefined)
|
|
432
|
+
patch.template_name = data.template_name.trim();
|
|
433
|
+
if (data.template_category_id !== undefined)
|
|
434
|
+
patch.template_category_id = data.template_category_id;
|
|
435
|
+
if (data.template_variables !== undefined)
|
|
436
|
+
patch.template_variables = data.template_variables;
|
|
437
|
+
if (data.template_html !== undefined)
|
|
438
|
+
patch.template_html = data.template_html;
|
|
439
|
+
if (data.template_text !== undefined)
|
|
440
|
+
patch.template_text = data.template_text;
|
|
441
|
+
if (data.is_modified !== undefined)
|
|
442
|
+
patch.is_modified = data.is_modified;
|
|
443
|
+
const template = await hazo_connect.updateById(TABLE_TEMPLATES, id, patch);
|
|
444
|
+
return {
|
|
445
|
+
success: true,
|
|
446
|
+
data: template,
|
|
447
|
+
message: 'Template updated successfully',
|
|
448
|
+
};
|
|
449
|
+
}
|
|
450
|
+
catch (error) {
|
|
451
|
+
const msg = error instanceof Error ? error.message : 'Unknown error';
|
|
452
|
+
return {
|
|
453
|
+
success: false,
|
|
454
|
+
error: msg,
|
|
455
|
+
message: `Failed to update template: ${msg}`,
|
|
456
|
+
};
|
|
457
|
+
}
|
|
458
|
+
}
|
|
459
|
+
/**
|
|
460
|
+
* Delete a template by ID.
|
|
461
|
+
* Permission enforcement (manifest protection) is done at the API layer.
|
|
462
|
+
*
|
|
463
|
+
* @param hazo_connect - Database connection instance
|
|
464
|
+
* @param id - Template ID
|
|
465
|
+
* @returns Response with deletion result
|
|
466
|
+
*/
|
|
467
|
+
export async function delete_template(hazo_connect, id) {
|
|
468
|
+
try {
|
|
469
|
+
if (!hazo_connect) {
|
|
470
|
+
return {
|
|
471
|
+
success: false,
|
|
472
|
+
error: ERROR_MESSAGES.DB_CONNECTION_REQUIRED,
|
|
473
|
+
message: ERROR_MESSAGES.DB_CONNECTION_REQUIRED,
|
|
474
|
+
};
|
|
475
|
+
}
|
|
476
|
+
if (!validate_uuid(id)) {
|
|
477
|
+
return {
|
|
478
|
+
success: false,
|
|
479
|
+
error: 'Invalid template ID',
|
|
480
|
+
message: 'Invalid template ID format',
|
|
481
|
+
};
|
|
482
|
+
}
|
|
483
|
+
const existing = await hazo_connect.findById(TABLE_TEMPLATES, id);
|
|
484
|
+
if (!existing) {
|
|
485
|
+
return {
|
|
486
|
+
success: false,
|
|
487
|
+
error: ERROR_MESSAGES.TEMPLATE_NOT_FOUND,
|
|
488
|
+
message: ERROR_MESSAGES.TEMPLATE_NOT_FOUND,
|
|
489
|
+
};
|
|
490
|
+
}
|
|
491
|
+
await hazo_connect.deleteById(TABLE_TEMPLATES, id);
|
|
492
|
+
return {
|
|
493
|
+
success: true,
|
|
494
|
+
data: true,
|
|
495
|
+
message: 'Template deleted successfully',
|
|
496
|
+
};
|
|
497
|
+
}
|
|
498
|
+
catch (error) {
|
|
499
|
+
const msg = error instanceof Error ? error.message : 'Unknown error';
|
|
500
|
+
return {
|
|
501
|
+
success: false,
|
|
502
|
+
error: msg,
|
|
503
|
+
message: `Failed to delete template: ${msg}`,
|
|
504
|
+
};
|
|
505
|
+
}
|
|
506
|
+
}
|
|
507
|
+
//# sourceMappingURL=template_repository.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"template_repository.js","sourceRoot":"","sources":["../../../../src/lib/template_manager/db/template_repository.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"handlebars_engine.d.ts","sourceRoot":"","sources":["../../../../src/lib/template_manager/engine/handlebars_engine.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AA8ExD;;;;;;;GAOG;AACH,wBAAgB,wBAAwB,CACtC,eAAe,EAAE,MAAM,EACvB,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EACjC,SAAS,CAAC,EAAE,MAAM,GACjB,MAAM,CAGR;AAED;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAC/B,aAAa,EAAE,MAAM,EACrB,aAAa,EAAE,MAAM,EACrB,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EACjC,aAAa,CAAC,EAAE,MAAM,GACrB,oBAAoB,CA+BtB;AAED;;;;;;;GAOG;AACH,wBAAgB,sBAAsB,CACpC,aAAa,EAAE,MAAM,EACrB,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EACjC,SAAS,CAAC,EAAE,MAAM,GACjB,oBAAoB,CAsBtB;AAED;;GAEG;AACH,wBAAgB,oBAAoB,IAAI,IAAI,CAE3C;AAED;;;;GAIG;AACH,wBAAgB,yBAAyB,CAAC,aAAa,EAAE,MAAM,GAAG,IAAI,CAGrE;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAKjE"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"handlebars_engine.js","sourceRoot":"","sources":["../../../../src/lib/template_manager/engine/handlebars_engine.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/lib/template_manager/engine/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EACL,iBAAiB,EACjB,wBAAwB,EACxB,sBAAsB,EACtB,oBAAoB,EACpB,yBAAyB,EACzB,kBAAkB,GACnB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EACL,iBAAiB,EACjB,2BAA2B,EAC3B,2BAA2B,EAC3B,+BAA+B,GAChC,MAAM,wBAAwB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/lib/template_manager/engine/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EACL,iBAAiB,EACjB,wBAAwB,EACxB,sBAAsB,EACtB,oBAAoB,EACpB,yBAAyB,EACzB,kBAAkB,GACnB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EACL,iBAAiB,EACjB,2BAA2B,EAC3B,2BAA2B,EAC3B,+BAA+B,GAChC,MAAM,wBAAwB,CAAC"}
|
|
@@ -1,48 +1,47 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Variable resolver for template manager
|
|
2
|
+
* Variable resolver for template manager (v2.0.0)
|
|
3
3
|
*
|
|
4
|
-
* Resolves user variables, system variables, and @template references
|
|
4
|
+
* Resolves user variables, system variables, and @template references.
|
|
5
|
+
* Uses scope_chain (hierarchical scope resolution) instead of org_id.
|
|
5
6
|
*/
|
|
6
7
|
import type { HazoConnectInstance, TemplateRenderResult } from '../types.js';
|
|
7
8
|
/**
|
|
8
|
-
* Merge user variables with system variables
|
|
9
|
-
*
|
|
10
|
-
* System variables take lower priority than user variables
|
|
9
|
+
* Merge user variables with system variables.
|
|
10
|
+
* System variables take lower priority than user variables.
|
|
11
11
|
*
|
|
12
12
|
* @param user_variables - Variables provided by user
|
|
13
13
|
* @returns Merged variables with system variables
|
|
14
14
|
*/
|
|
15
15
|
export declare function resolve_variables(user_variables: Record<string, string>): Record<string, string>;
|
|
16
16
|
/**
|
|
17
|
-
* Extract @template references from content
|
|
17
|
+
* Extract @template references from content.
|
|
18
18
|
*
|
|
19
19
|
* @param content - Template content to scan
|
|
20
20
|
* @returns Array of template names referenced
|
|
21
21
|
*/
|
|
22
22
|
export declare function extract_template_references(content: string): string[];
|
|
23
23
|
/**
|
|
24
|
-
* Resolve @template references in content
|
|
25
|
-
*
|
|
26
|
-
* Recursively fetches and renders referenced templates
|
|
24
|
+
* Resolve @template references in HTML content.
|
|
25
|
+
* Recursively fetches and renders referenced templates using the scope_chain.
|
|
27
26
|
*
|
|
28
27
|
* @param content - Template content with @references
|
|
29
28
|
* @param variables - Variables to use for rendering
|
|
30
29
|
* @param hazo_connect - Database connection
|
|
31
|
-
* @param
|
|
30
|
+
* @param scope_chain - Ordered scope chain, deepest first (see get_template_by_name)
|
|
32
31
|
* @param visited - Set of already visited templates (for circular detection)
|
|
33
32
|
* @param depth - Current recursion depth
|
|
34
33
|
* @returns Resolved content with references replaced
|
|
35
34
|
*/
|
|
36
|
-
export declare function resolve_template_references(content: string, variables: Record<string, string>, hazo_connect: HazoConnectInstance,
|
|
35
|
+
export declare function resolve_template_references(content: string, variables: Record<string, string>, hazo_connect: HazoConnectInstance, scope_chain: string[], visited?: Set<string>, depth?: number): Promise<TemplateRenderResult>;
|
|
37
36
|
/**
|
|
38
|
-
* Resolve @template references for both HTML and text content
|
|
37
|
+
* Resolve @template references for both HTML and text content.
|
|
39
38
|
*
|
|
40
39
|
* @param html_content - HTML template content
|
|
41
40
|
* @param text_content - Text template content
|
|
42
41
|
* @param variables - Variables for rendering
|
|
43
42
|
* @param hazo_connect - Database connection
|
|
44
|
-
* @param
|
|
43
|
+
* @param scope_chain - Ordered scope chain, deepest first
|
|
45
44
|
* @returns Resolved HTML and text content
|
|
46
45
|
*/
|
|
47
|
-
export declare function resolve_all_template_references(html_content: string, text_content: string, variables: Record<string, string>, hazo_connect: HazoConnectInstance,
|
|
46
|
+
export declare function resolve_all_template_references(html_content: string, text_content: string, variables: Record<string, string>, hazo_connect: HazoConnectInstance, scope_chain: string[]): Promise<TemplateRenderResult>;
|
|
48
47
|
//# sourceMappingURL=variable_resolver.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"variable_resolver.d.ts","sourceRoot":"","sources":["../../../../src/lib/template_manager/engine/variable_resolver.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EACV,mBAAmB,EACnB,oBAAoB,EACrB,MAAM,aAAa,CAAC;AAUrB;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAC/B,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GACrC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAMxB;AAED;;;;;GAKG;AACH,wBAAgB,2BAA2B,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,CAerE;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,2BAA2B,CAC/C,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EACjC,YAAY,EAAE,mBAAmB,EACjC,WAAW,EAAE,MAAM,EAAE,EACrB,OAAO,GAAE,GAAG,CAAC,MAAM,CAAa,EAChC,KAAK,GAAE,MAAU,GAChB,OAAO,CAAC,oBAAoB,CAAC,CAiF/B;AAED;;;;;;;;;GASG;AACH,wBAAsB,+BAA+B,CACnD,YAAY,EAAE,MAAM,EACpB,YAAY,EAAE,MAAM,EACpB,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EACjC,YAAY,EAAE,mBAAmB,EACjC,WAAW,EAAE,MAAM,EAAE,GACpB,OAAO,CAAC,oBAAoB,CAAC,CAwC/B"}
|