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
|
@@ -1,117 +1,87 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Type definitions for the template manager service
|
|
2
|
+
* Type definitions for the template manager service (v2.0.0)
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
* -
|
|
6
|
-
* -
|
|
7
|
-
* -
|
|
8
|
-
* -
|
|
4
|
+
* Key changes from v1:
|
|
5
|
+
* - org_id/root_org_id replaced with scope_id (null = global)
|
|
6
|
+
* - email_type enum removed (use scope_id IS NULL discriminator instead)
|
|
7
|
+
* - is_modified added to EmailTemplate (tracks super-admin edits to globals)
|
|
8
|
+
* - template_variables retyped to TemplateVariableDefinition[]
|
|
9
|
+
* - SystemTemplateManifest added (inline content, no file paths)
|
|
9
10
|
*/
|
|
10
11
|
import type { Logger } from '../emailer/types.js';
|
|
11
|
-
/**
|
|
12
|
-
* Definition of a template variable
|
|
13
|
-
*/
|
|
14
12
|
export interface TemplateVariableDefinition {
|
|
15
13
|
variable_name: string;
|
|
16
14
|
variable_description: string;
|
|
17
15
|
default_value?: string;
|
|
18
16
|
}
|
|
19
|
-
/**
|
|
20
|
-
* Definition of a template type with its associated variables
|
|
21
|
-
* Loaded from config: email_template_variable_types
|
|
22
|
-
*/
|
|
23
17
|
export interface TemplateTypeDefinition {
|
|
24
18
|
template_name: string;
|
|
25
19
|
template_label: string;
|
|
26
20
|
variables: TemplateVariableDefinition[];
|
|
27
21
|
}
|
|
28
|
-
/**
|
|
29
|
-
* System variable that is auto-generated (e.g., date formats)
|
|
30
|
-
*/
|
|
31
22
|
export interface SystemVariable {
|
|
32
23
|
variable_name: string;
|
|
33
24
|
variable_description: string;
|
|
34
25
|
resolver: () => string;
|
|
35
26
|
}
|
|
36
|
-
/**
|
|
37
|
-
* Configuration for the template manager
|
|
38
|
-
*/
|
|
39
27
|
export interface TemplateManagerConfig {
|
|
40
|
-
|
|
41
|
-
|
|
28
|
+
scope_chain_cache_ttl_seconds?: number;
|
|
29
|
+
cors_allowed_origins?: string[];
|
|
42
30
|
}
|
|
43
31
|
/**
|
|
44
|
-
*
|
|
45
|
-
|
|
46
|
-
export type EmailType = 'system' | 'user';
|
|
47
|
-
/**
|
|
48
|
-
* Template category entity from hazo_notify_template_cat table
|
|
32
|
+
* Manifest entry for a system template shipped by a consuming package.
|
|
33
|
+
* Consumers read file content at boot; hazo_notify never does file I/O.
|
|
49
34
|
*/
|
|
35
|
+
export interface SystemTemplateManifest {
|
|
36
|
+
template_name: string;
|
|
37
|
+
template_label: string;
|
|
38
|
+
category: string;
|
|
39
|
+
html: string;
|
|
40
|
+
text: string;
|
|
41
|
+
variables: TemplateVariableDefinition[];
|
|
42
|
+
}
|
|
50
43
|
export interface TemplateCategory {
|
|
51
44
|
id: string;
|
|
52
|
-
|
|
53
|
-
root_org_id: string;
|
|
45
|
+
scope_id: string | null;
|
|
54
46
|
template_category_name: string;
|
|
55
47
|
created_at: string;
|
|
56
48
|
changed_at: string | null;
|
|
57
49
|
}
|
|
58
|
-
/**
|
|
59
|
-
* Input for creating a new template category
|
|
60
|
-
*/
|
|
61
50
|
export interface TemplateCategoryInput {
|
|
62
|
-
|
|
63
|
-
root_org_id: string;
|
|
51
|
+
scope_id: string | null;
|
|
64
52
|
template_category_name: string;
|
|
65
53
|
}
|
|
66
|
-
/**
|
|
67
|
-
* Input for updating an existing template category
|
|
68
|
-
*/
|
|
69
54
|
export interface TemplateCategoryUpdate {
|
|
70
55
|
template_category_name?: string;
|
|
71
56
|
}
|
|
72
|
-
/**
|
|
73
|
-
* Email template entity from hazo_notify_templates table
|
|
74
|
-
*/
|
|
75
57
|
export interface EmailTemplate {
|
|
76
58
|
id: string;
|
|
77
|
-
|
|
78
|
-
root_org_id: string;
|
|
59
|
+
scope_id: string | null;
|
|
79
60
|
template_category_id: string;
|
|
80
|
-
template_variables:
|
|
61
|
+
template_variables: TemplateVariableDefinition[];
|
|
81
62
|
template_name: string;
|
|
82
63
|
template_html: string;
|
|
83
64
|
template_text: string;
|
|
84
|
-
|
|
65
|
+
is_modified: boolean;
|
|
85
66
|
created_at: string;
|
|
86
67
|
changed_at: string | null;
|
|
87
68
|
}
|
|
88
|
-
/**
|
|
89
|
-
* Input for creating a new email template
|
|
90
|
-
*/
|
|
91
69
|
export interface EmailTemplateInput {
|
|
92
|
-
|
|
93
|
-
root_org_id: string;
|
|
70
|
+
scope_id: string | null;
|
|
94
71
|
template_category_id: string;
|
|
95
|
-
template_variables?:
|
|
72
|
+
template_variables?: TemplateVariableDefinition[];
|
|
96
73
|
template_name: string;
|
|
97
74
|
template_html: string;
|
|
98
75
|
template_text: string;
|
|
99
|
-
email_type?: EmailType;
|
|
100
76
|
}
|
|
101
|
-
/**
|
|
102
|
-
* Input for updating an existing email template
|
|
103
|
-
*/
|
|
104
77
|
export interface EmailTemplateUpdate {
|
|
105
78
|
template_category_id?: string;
|
|
106
|
-
template_variables?:
|
|
79
|
+
template_variables?: TemplateVariableDefinition[];
|
|
107
80
|
template_name?: string;
|
|
108
81
|
template_html?: string;
|
|
109
82
|
template_text?: string;
|
|
83
|
+
is_modified?: boolean;
|
|
110
84
|
}
|
|
111
|
-
/**
|
|
112
|
-
* Query builder interface for hazo_connect
|
|
113
|
-
* Supports fluent chaining pattern
|
|
114
|
-
*/
|
|
115
85
|
export interface HazoConnectQueryBuilder {
|
|
116
86
|
from(table: string): this;
|
|
117
87
|
select(columns: string | string[]): this;
|
|
@@ -121,29 +91,17 @@ export interface HazoConnectQueryBuilder {
|
|
|
121
91
|
limit(n: number): this;
|
|
122
92
|
offset(n: number): this;
|
|
123
93
|
}
|
|
124
|
-
/**
|
|
125
|
-
* hazo_connect instance interface
|
|
126
|
-
* Consuming apps pass this to template manager functions
|
|
127
|
-
*/
|
|
128
94
|
export interface HazoConnectInstance {
|
|
129
|
-
/** Execute query and return list of results */
|
|
130
95
|
list<T>(query: HazoConnectQueryBuilder): Promise<T[]>;
|
|
131
|
-
/** Find a single record by ID */
|
|
132
96
|
findById<T>(table: string, id: string): Promise<T | null>;
|
|
133
|
-
/** Find records matching criteria */
|
|
134
97
|
findBy<T>(table: string, criteria: Record<string, unknown>): Promise<T[]>;
|
|
135
|
-
/** Insert a new record */
|
|
136
98
|
insert<T>(table: string, data: Partial<T>): Promise<T>;
|
|
137
|
-
/** Update a record by ID */
|
|
138
99
|
updateById<T>(table: string, id: string, patch: Partial<T>): Promise<T>;
|
|
139
|
-
/** Delete a record by ID */
|
|
140
100
|
deleteById(table: string, id: string): Promise<boolean>;
|
|
141
|
-
/** Create a new query builder */
|
|
142
101
|
query(): HazoConnectQueryBuilder;
|
|
102
|
+
/** Execute raw SQL with positional parameters */
|
|
103
|
+
raw?<T>(sql: string, params?: unknown[]): Promise<T[]>;
|
|
143
104
|
}
|
|
144
|
-
/**
|
|
145
|
-
* Result of rendering a template
|
|
146
|
-
*/
|
|
147
105
|
export interface TemplateRenderResult {
|
|
148
106
|
success: boolean;
|
|
149
107
|
rendered_html?: string;
|
|
@@ -151,105 +109,54 @@ export interface TemplateRenderResult {
|
|
|
151
109
|
error?: string;
|
|
152
110
|
message?: string;
|
|
153
111
|
}
|
|
154
|
-
/**
|
|
155
|
-
* Generic response for template operations
|
|
156
|
-
*/
|
|
157
112
|
export interface TemplateOperationResponse<T = unknown> {
|
|
158
113
|
success: boolean;
|
|
159
114
|
data?: T;
|
|
160
115
|
error?: string;
|
|
161
116
|
message?: string;
|
|
162
117
|
}
|
|
163
|
-
/**
|
|
164
|
-
* Attachment for template email
|
|
165
|
-
*/
|
|
166
118
|
export interface TemplateEmailAttachment {
|
|
167
119
|
filename: string;
|
|
168
120
|
content: string;
|
|
169
121
|
mime_type: string;
|
|
170
122
|
}
|
|
171
|
-
/**
|
|
172
|
-
* Options for sending a templated email
|
|
173
|
-
*/
|
|
174
123
|
export interface SendTemplateEmailOptions {
|
|
175
|
-
/** Name of template to use (must match a template_name in DB) */
|
|
176
124
|
template_name: string;
|
|
177
|
-
/** Variables to substitute in the template */
|
|
178
125
|
variables: Record<string, string>;
|
|
179
|
-
/** Recipient email address(es) */
|
|
180
126
|
to: string | string[];
|
|
181
|
-
|
|
127
|
+
scope_id: string | null;
|
|
182
128
|
subject?: string;
|
|
183
|
-
/** Sender email address (overrides config default) */
|
|
184
129
|
from?: string;
|
|
185
|
-
/** Sender name (overrides config default) */
|
|
186
130
|
from_name?: string;
|
|
187
|
-
/** Reply-to email address */
|
|
188
131
|
reply_to?: string;
|
|
189
|
-
/** CC recipients */
|
|
190
132
|
cc?: string | string[];
|
|
191
|
-
/** BCC recipients */
|
|
192
133
|
bcc?: string | string[];
|
|
193
|
-
/** File attachments */
|
|
194
134
|
attachments?: TemplateEmailAttachment[];
|
|
195
|
-
/** Optional logger instance (compatible with hazo_logs) */
|
|
196
135
|
logger?: Logger;
|
|
197
136
|
}
|
|
198
|
-
/**
|
|
199
|
-
* Response from send_template_email
|
|
200
|
-
*/
|
|
201
137
|
export interface SendTemplateEmailResponse {
|
|
202
138
|
success: boolean;
|
|
203
139
|
message_id?: string;
|
|
204
140
|
message?: string;
|
|
205
|
-
/** Rendered HTML content (for debugging) */
|
|
206
141
|
rendered_html?: string;
|
|
207
|
-
/** Rendered text content (for debugging) */
|
|
208
142
|
rendered_text?: string;
|
|
209
143
|
raw_response?: Record<string, unknown> | string;
|
|
210
144
|
error?: string;
|
|
211
145
|
}
|
|
212
|
-
/**
|
|
213
|
-
* Category with its templates for UI tree display
|
|
214
|
-
*/
|
|
215
146
|
export interface CategoryTreeItem {
|
|
216
147
|
category: TemplateCategory;
|
|
217
148
|
templates: EmailTemplate[];
|
|
218
149
|
expanded: boolean;
|
|
219
150
|
}
|
|
220
|
-
/**
|
|
221
|
-
* Variable item for dropdown display
|
|
222
|
-
*/
|
|
223
151
|
export interface VariableItem {
|
|
224
152
|
name: string;
|
|
225
153
|
description: string;
|
|
226
|
-
type: '
|
|
154
|
+
type: 'registry' | 'db' | 'extracted';
|
|
227
155
|
}
|
|
228
|
-
/**
|
|
229
|
-
* Template reference item for dropdown display
|
|
230
|
-
*/
|
|
231
156
|
export interface TemplateReferenceItem {
|
|
232
157
|
category_name: string;
|
|
233
158
|
template_name: string;
|
|
234
159
|
template_id: string;
|
|
235
160
|
}
|
|
236
|
-
/**
|
|
237
|
-
* Manifest entry for a default template shipped with the package
|
|
238
|
-
*/
|
|
239
|
-
export interface DefaultTemplateManifestEntry {
|
|
240
|
-
template_name: string;
|
|
241
|
-
template_label: string;
|
|
242
|
-
category: string;
|
|
243
|
-
html_file: string;
|
|
244
|
-
text_file: string;
|
|
245
|
-
variables: TemplateVariableDefinition[];
|
|
246
|
-
}
|
|
247
|
-
/**
|
|
248
|
-
* Manifest file structure for default templates
|
|
249
|
-
*/
|
|
250
|
-
export interface DefaultTemplateManifest {
|
|
251
|
-
version: string;
|
|
252
|
-
templates: DefaultTemplateManifestEntry[];
|
|
253
|
-
}
|
|
254
161
|
export type { Logger };
|
|
255
162
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/lib/template_manager/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Type definitions for the template manager service (v2.0.0)
|
|
3
|
+
*
|
|
4
|
+
* Key changes from v1:
|
|
5
|
+
* - org_id/root_org_id replaced with scope_id (null = global)
|
|
6
|
+
* - email_type enum removed (use scope_id IS NULL discriminator instead)
|
|
7
|
+
* - is_modified added to EmailTemplate (tracks super-admin edits to globals)
|
|
8
|
+
* - template_variables retyped to TemplateVariableDefinition[]
|
|
9
|
+
* - SystemTemplateManifest added (inline content, no file paths)
|
|
10
|
+
*/
|
|
11
|
+
export {};
|
|
12
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/lib/template_manager/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/lib/template_manager/utils/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EACL,oBAAoB,EACpB,wBAAwB,EACxB,+BAA+B,GAChC,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EACL,sBAAsB,EACtB,sBAAsB,EACtB,sBAAsB,EACtB,2BAA2B,EAC3B,2BAA2B,EAC3B,8BAA8B,EAC9B,2BAA2B,EAC3B,aAAa,EACb,sBAAsB,GACvB,MAAM,iBAAiB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/lib/template_manager/utils/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EACL,oBAAoB,EACpB,wBAAwB,EACxB,+BAA+B,GAChC,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EACL,sBAAsB,EACtB,sBAAsB,EACtB,sBAAsB,EACtB,2BAA2B,EAC3B,2BAA2B,EAC3B,8BAA8B,EAC9B,2BAA2B,EAC3B,aAAa,EACb,sBAAsB,GACvB,MAAM,iBAAiB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"system_variables.d.ts","sourceRoot":"","sources":["../../../../src/lib/template_manager/utils/system_variables.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAgElD;;;;GAIG;AACH,wBAAgB,oBAAoB,IAAI,cAAc,EAAE,CAkHvD;AAED;;;;GAIG;AACH,wBAAgB,wBAAwB,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CASjE;AAED;;;;GAIG;AACH,wBAAgB,+BAA+B,IAAI,KAAK,CAAC;IACvD,aAAa,EAAE,MAAM,CAAC;IACtB,oBAAoB,EAAE,MAAM,CAAC;CAC9B,CAAC,CAKD"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"system_variables.js","sourceRoot":"","sources":["../../../../src/lib/template_manager/utils/system_variables.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../../../../src/lib/template_manager/utils/validation.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAWH;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAiB5D;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAgB5D;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAM5D;AAED;;;;;GAKG;AACH,wBAAgB,2BAA2B,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAOjE;AAED;;;;;GAKG;AACH,wBAAgB,2BAA2B,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAOjE;AAED;;;;;GAKG;AACH,wBAAgB,8BAA8B,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,CAexE;AAED;;;;;;;GAOG;AACH,wBAAgB,2BAA2B,CACzC,gBAAgB,EAAE,MAAM,EACxB,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC1C,qBAAqB,EAAE,MAAM,EAAE,GAC9B;IAAE,KAAK,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,MAAM,EAAE,CAAA;CAAE,CAWvC;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAQnD;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAY3D"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validation.js","sourceRoot":"","sources":["../../../../src/lib/template_manager/utils/validation.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/lib/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,KAAK,UAAU,EAAE,MAAM,MAAM,CAAC;AAG7C,wBAAgB,EAAE,CAAC,GAAG,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,CAElD"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/lib/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAmB,MAAM,MAAM,CAAC;AAC7C,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAEzC,MAAM,UAAU,EAAE,CAAC,GAAG,MAAoB;IACxC,OAAO,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;AAC/B,CAAC"}
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
-- hazo_notify v2.0.0 scope migration
|
|
2
|
+
-- Replaces org_id/root_org_id model with scope_id for hierarchical template lookup.
|
|
3
|
+
-- NULL scope_id = global system default; non-null = scope-specific override.
|
|
4
|
+
--
|
|
5
|
+
-- IMPORTANT: This migration TRUNCATES both tables.
|
|
6
|
+
-- Confirmed no production data exists before running this migration.
|
|
7
|
+
--
|
|
8
|
+
-- Run PostgreSQL version (active) on your database.
|
|
9
|
+
-- Run SQLite version (commented) for local SQLite instances.
|
|
10
|
+
|
|
11
|
+
-- ============================================================
|
|
12
|
+
-- PostgreSQL version (active)
|
|
13
|
+
-- ============================================================
|
|
14
|
+
|
|
15
|
+
-- 1. Wipe existing data (no prod data per confirmed pre-flight check)
|
|
16
|
+
DELETE FROM hazo_notify_templates;
|
|
17
|
+
DELETE FROM hazo_notify_template_cat;
|
|
18
|
+
|
|
19
|
+
-- 2. Drop old indexes
|
|
20
|
+
DROP INDEX IF EXISTS idx_notify_template_cat_org;
|
|
21
|
+
DROP INDEX IF EXISTS idx_notify_templates_org;
|
|
22
|
+
DROP INDEX IF EXISTS idx_notify_templates_name;
|
|
23
|
+
DROP INDEX IF EXISTS idx_notify_templates_category;
|
|
24
|
+
|
|
25
|
+
-- 3. Drop old columns
|
|
26
|
+
ALTER TABLE hazo_notify_template_cat DROP COLUMN IF EXISTS org_id;
|
|
27
|
+
ALTER TABLE hazo_notify_template_cat DROP COLUMN IF EXISTS root_org_id;
|
|
28
|
+
ALTER TABLE hazo_notify_templates DROP COLUMN IF EXISTS org_id;
|
|
29
|
+
ALTER TABLE hazo_notify_templates DROP COLUMN IF EXISTS root_org_id;
|
|
30
|
+
ALTER TABLE hazo_notify_templates DROP COLUMN IF EXISTS email_type;
|
|
31
|
+
|
|
32
|
+
-- 4. Add new columns
|
|
33
|
+
ALTER TABLE hazo_notify_template_cat ADD COLUMN scope_id UUID NULL;
|
|
34
|
+
ALTER TABLE hazo_notify_templates ADD COLUMN scope_id UUID NULL;
|
|
35
|
+
ALTER TABLE hazo_notify_templates ADD COLUMN is_modified BOOLEAN NOT NULL DEFAULT false;
|
|
36
|
+
|
|
37
|
+
-- 5. New lookup indexes
|
|
38
|
+
CREATE INDEX idx_notify_template_cat_scope ON hazo_notify_template_cat (scope_id);
|
|
39
|
+
CREATE INDEX idx_notify_templates_scope ON hazo_notify_templates (scope_id);
|
|
40
|
+
CREATE INDEX idx_notify_templates_lookup ON hazo_notify_templates (template_name, scope_id);
|
|
41
|
+
|
|
42
|
+
-- 6. Partial unique indexes (cross-DB friendly)
|
|
43
|
+
CREATE UNIQUE INDEX uq_notify_templates_scoped
|
|
44
|
+
ON hazo_notify_templates (template_name, scope_id) WHERE scope_id IS NOT NULL;
|
|
45
|
+
CREATE UNIQUE INDEX uq_notify_templates_global
|
|
46
|
+
ON hazo_notify_templates (template_name) WHERE scope_id IS NULL;
|
|
47
|
+
CREATE UNIQUE INDEX uq_notify_template_cat_scoped
|
|
48
|
+
ON hazo_notify_template_cat (template_category_name, scope_id) WHERE scope_id IS NOT NULL;
|
|
49
|
+
CREATE UNIQUE INDEX uq_notify_template_cat_global
|
|
50
|
+
ON hazo_notify_template_cat (template_category_name) WHERE scope_id IS NULL;
|
|
51
|
+
|
|
52
|
+
-- 7. Explicit FK with RESTRICT on delete
|
|
53
|
+
ALTER TABLE hazo_notify_templates
|
|
54
|
+
DROP CONSTRAINT IF EXISTS hazo_notify_templates_template_category_id_fkey,
|
|
55
|
+
ADD CONSTRAINT hazo_notify_templates_template_category_id_fkey
|
|
56
|
+
FOREIGN KEY (template_category_id) REFERENCES hazo_notify_template_cat(id)
|
|
57
|
+
ON DELETE RESTRICT;
|
|
58
|
+
|
|
59
|
+
-- ============================================================
|
|
60
|
+
-- SQLite version (commented)
|
|
61
|
+
-- SQLite 3.35+ supports ALTER TABLE DROP COLUMN natively.
|
|
62
|
+
-- ============================================================
|
|
63
|
+
--
|
|
64
|
+
-- DELETE FROM hazo_notify_templates;
|
|
65
|
+
-- DELETE FROM hazo_notify_template_cat;
|
|
66
|
+
--
|
|
67
|
+
-- DROP INDEX IF EXISTS idx_notify_template_cat_org;
|
|
68
|
+
-- DROP INDEX IF EXISTS idx_notify_templates_org;
|
|
69
|
+
-- DROP INDEX IF EXISTS idx_notify_templates_name;
|
|
70
|
+
-- DROP INDEX IF EXISTS idx_notify_templates_category;
|
|
71
|
+
--
|
|
72
|
+
-- ALTER TABLE hazo_notify_template_cat DROP COLUMN IF EXISTS org_id;
|
|
73
|
+
-- ALTER TABLE hazo_notify_template_cat DROP COLUMN IF EXISTS root_org_id;
|
|
74
|
+
-- ALTER TABLE hazo_notify_templates DROP COLUMN IF EXISTS org_id;
|
|
75
|
+
-- ALTER TABLE hazo_notify_templates DROP COLUMN IF EXISTS root_org_id;
|
|
76
|
+
-- ALTER TABLE hazo_notify_templates DROP COLUMN IF EXISTS email_type;
|
|
77
|
+
--
|
|
78
|
+
-- ALTER TABLE hazo_notify_template_cat ADD COLUMN scope_id TEXT NULL;
|
|
79
|
+
-- ALTER TABLE hazo_notify_templates ADD COLUMN scope_id TEXT NULL;
|
|
80
|
+
-- ALTER TABLE hazo_notify_templates ADD COLUMN is_modified INTEGER NOT NULL DEFAULT 0;
|
|
81
|
+
--
|
|
82
|
+
-- CREATE INDEX idx_notify_template_cat_scope ON hazo_notify_template_cat (scope_id);
|
|
83
|
+
-- CREATE INDEX idx_notify_templates_scope ON hazo_notify_templates (scope_id);
|
|
84
|
+
-- CREATE INDEX idx_notify_templates_lookup ON hazo_notify_templates (template_name, scope_id);
|
|
85
|
+
--
|
|
86
|
+
-- CREATE UNIQUE INDEX uq_notify_templates_scoped
|
|
87
|
+
-- ON hazo_notify_templates (template_name, scope_id) WHERE scope_id IS NOT NULL;
|
|
88
|
+
-- CREATE UNIQUE INDEX uq_notify_templates_global
|
|
89
|
+
-- ON hazo_notify_templates (template_name) WHERE scope_id IS NULL;
|
|
90
|
+
-- CREATE UNIQUE INDEX uq_notify_template_cat_scoped
|
|
91
|
+
-- ON hazo_notify_template_cat (template_category_name, scope_id) WHERE scope_id IS NOT NULL;
|
|
92
|
+
-- CREATE UNIQUE INDEX uq_notify_template_cat_global
|
|
93
|
+
-- ON hazo_notify_template_cat (template_category_name) WHERE scope_id IS NULL;
|
package/package.json
CHANGED
|
@@ -1,22 +1,34 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "hazo_notify",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "3.1.0",
|
|
4
4
|
"type": "module",
|
|
5
|
-
"description": "Email
|
|
6
|
-
"main": "./dist/index.js",
|
|
7
|
-
"types": "./dist/index.d.ts",
|
|
5
|
+
"description": "Email notification system with scope-aware template management",
|
|
6
|
+
"main": "./dist/lib/index.js",
|
|
7
|
+
"types": "./dist/lib/index.d.ts",
|
|
8
8
|
"exports": {
|
|
9
9
|
".": {
|
|
10
|
-
"types": "./dist/index.d.ts",
|
|
11
|
-
"default": "./dist/index.js"
|
|
10
|
+
"types": "./dist/lib/index.d.ts",
|
|
11
|
+
"default": "./dist/lib/index.js"
|
|
12
12
|
},
|
|
13
13
|
"./emailer": {
|
|
14
|
-
"types": "./dist/emailer/index.d.ts",
|
|
15
|
-
"default": "./dist/emailer/index.js"
|
|
14
|
+
"types": "./dist/lib/emailer/index.d.ts",
|
|
15
|
+
"default": "./dist/lib/emailer/index.js"
|
|
16
16
|
},
|
|
17
17
|
"./template_manager": {
|
|
18
|
-
"types": "./dist/template_manager/index.d.ts",
|
|
19
|
-
"default": "./dist/template_manager/index.js"
|
|
18
|
+
"types": "./dist/lib/template_manager/index.d.ts",
|
|
19
|
+
"default": "./dist/lib/template_manager/index.js"
|
|
20
|
+
},
|
|
21
|
+
"./template_manager_admin": {
|
|
22
|
+
"types": "./dist/components/template_manager/index.d.ts",
|
|
23
|
+
"default": "./dist/components/template_manager/index.js"
|
|
24
|
+
},
|
|
25
|
+
"./template_manager_handlers": {
|
|
26
|
+
"types": "./dist/lib/template_manager/handlers/index.d.ts",
|
|
27
|
+
"default": "./dist/lib/template_manager/handlers/index.js"
|
|
28
|
+
},
|
|
29
|
+
"./template_manager_handlers/hazo_auth": {
|
|
30
|
+
"types": "./dist/lib/template_manager/handlers/adapters/hazo_auth.d.ts",
|
|
31
|
+
"default": "./dist/lib/template_manager/handlers/adapters/hazo_auth.js"
|
|
20
32
|
}
|
|
21
33
|
},
|
|
22
34
|
"scripts": {
|
|
@@ -26,9 +38,9 @@
|
|
|
26
38
|
"build:next": "next build",
|
|
27
39
|
"start": "next start",
|
|
28
40
|
"lint": "next lint",
|
|
29
|
-
"test": "jest",
|
|
30
|
-
"test:watch": "jest --watch",
|
|
31
|
-
"test:coverage": "jest --coverage",
|
|
41
|
+
"test": "NODE_OPTIONS=--experimental-vm-modules jest --config jest.config.cjs",
|
|
42
|
+
"test:watch": "NODE_OPTIONS=--experimental-vm-modules jest --config jest.config.cjs --watch",
|
|
43
|
+
"test:coverage": "NODE_OPTIONS=--experimental-vm-modules jest --config jest.config.cjs --coverage",
|
|
32
44
|
"test:e2e": "playwright test",
|
|
33
45
|
"test:e2e:ui": "playwright test --ui",
|
|
34
46
|
"test:e2e:headed": "playwright test --headed",
|
|
@@ -36,8 +48,9 @@
|
|
|
36
48
|
},
|
|
37
49
|
"files": [
|
|
38
50
|
"dist",
|
|
39
|
-
"data",
|
|
40
|
-
"config",
|
|
51
|
+
"data/templates",
|
|
52
|
+
"config/hazo_notify_config.ini",
|
|
53
|
+
"config/hazo_logs_config.ini",
|
|
41
54
|
"migrations",
|
|
42
55
|
"README.md"
|
|
43
56
|
],
|
|
@@ -62,13 +75,17 @@
|
|
|
62
75
|
},
|
|
63
76
|
"homepage": "https://github.com/pub12/hazo_notify#readme",
|
|
64
77
|
"dependencies": {
|
|
78
|
+
"clsx": "^2.1.1",
|
|
65
79
|
"handlebars": "^4.7.8",
|
|
66
|
-
"hazo_config": "^1.
|
|
67
|
-
"isomorphic-dompurify": "^2.9.0"
|
|
80
|
+
"hazo_config": "^2.1.0",
|
|
81
|
+
"isomorphic-dompurify": "^2.9.0",
|
|
82
|
+
"lru-cache": "^11.3.6",
|
|
83
|
+
"tailwind-merge": "^3.5.0"
|
|
68
84
|
},
|
|
69
85
|
"peerDependencies": {
|
|
70
|
-
"hazo_connect": "
|
|
71
|
-
"hazo_logs": "^1.0.
|
|
86
|
+
"hazo_connect": "^2.4.0",
|
|
87
|
+
"hazo_logs": "^1.0.13",
|
|
88
|
+
"hazo_ui": "^2.8.0"
|
|
72
89
|
},
|
|
73
90
|
"peerDependenciesMeta": {
|
|
74
91
|
"hazo_connect": {
|
|
@@ -76,8 +93,17 @@
|
|
|
76
93
|
},
|
|
77
94
|
"hazo_logs": {
|
|
78
95
|
"optional": true
|
|
96
|
+
},
|
|
97
|
+
"hazo_ui": {
|
|
98
|
+
"optional": true
|
|
79
99
|
}
|
|
80
100
|
},
|
|
101
|
+
"overrides": {
|
|
102
|
+
"lexical": "^0.39.0",
|
|
103
|
+
"@lexical/rich-text": "^0.39.0",
|
|
104
|
+
"@lexical/selection": "^0.39.0",
|
|
105
|
+
"@lexical/utils": "^0.39.0"
|
|
106
|
+
},
|
|
81
107
|
"devDependencies": {
|
|
82
108
|
"@lexical/code": "^0.39.0",
|
|
83
109
|
"@lexical/file": "^0.39.0",
|
|
@@ -87,11 +113,11 @@
|
|
|
87
113
|
"@lexical/markdown": "^0.39.0",
|
|
88
114
|
"@lexical/overflow": "^0.39.0",
|
|
89
115
|
"@lexical/react": "^0.39.0",
|
|
90
|
-
"@lexical/rich-text": "^0.
|
|
91
|
-
"@lexical/selection": "^0.
|
|
116
|
+
"@lexical/rich-text": "^0.39.0",
|
|
117
|
+
"@lexical/selection": "^0.39.0",
|
|
92
118
|
"@lexical/table": "^0.39.0",
|
|
93
119
|
"@lexical/text": "^0.39.0",
|
|
94
|
-
"@lexical/utils": "^0.
|
|
120
|
+
"@lexical/utils": "^0.39.0",
|
|
95
121
|
"@playwright/test": "^1.57.0",
|
|
96
122
|
"@radix-ui/react-alert-dialog": "^1.1.15",
|
|
97
123
|
"@radix-ui/react-checkbox": "^1.3.3",
|
|
@@ -110,34 +136,36 @@
|
|
|
110
136
|
"@radix-ui/react-toggle": "^1.1.10",
|
|
111
137
|
"@radix-ui/react-toggle-group": "^1.1.11",
|
|
112
138
|
"@radix-ui/react-tooltip": "^1.2.8",
|
|
139
|
+
"@tailwindcss/postcss": "^4.2.4",
|
|
113
140
|
"@testing-library/jest-dom": "^6.2.0",
|
|
114
141
|
"@testing-library/react": "^14.1.0",
|
|
115
142
|
"@testing-library/user-event": "^14.5.0",
|
|
116
|
-
"@types/jest": "^
|
|
143
|
+
"@types/jest": "^30.0.0",
|
|
117
144
|
"@types/lodash": "^4.17.21",
|
|
118
|
-
"@types/node": "^20.
|
|
119
|
-
"@types/react": "^18.3.
|
|
145
|
+
"@types/node": "^20.14.10",
|
|
146
|
+
"@types/react": "^18.3.3",
|
|
120
147
|
"@types/react-dom": "^18.3.0",
|
|
121
|
-
"autoprefixer": "^10.4.0",
|
|
122
148
|
"class-variance-authority": "^0.7.0",
|
|
123
|
-
"clsx": "^2.1.
|
|
149
|
+
"clsx": "^2.1.1",
|
|
124
150
|
"cmdk": "^1.1.1",
|
|
125
|
-
"
|
|
126
|
-
"
|
|
151
|
+
"hazo_auth": "^5.2.0",
|
|
152
|
+
"hazo_ui": "^2.8.0",
|
|
153
|
+
"jest": "^30.2.0",
|
|
127
154
|
"jest-environment-jsdom": "^29.7.0",
|
|
128
155
|
"lexical": "^0.39.0",
|
|
129
156
|
"lodash": "^4.17.21",
|
|
130
|
-
"lucide-react": "^0.
|
|
157
|
+
"lucide-react": "^0.553.0",
|
|
131
158
|
"next": "^14.2.0",
|
|
132
|
-
"postcss": "^8.4.
|
|
159
|
+
"postcss": "^8.4.49",
|
|
133
160
|
"react": "^18.3.0",
|
|
134
161
|
"react-dom": "^18.3.0",
|
|
135
162
|
"react-error-boundary": "^6.0.0",
|
|
136
|
-
"sonner": "^
|
|
137
|
-
"tailwind-merge": "^
|
|
138
|
-
"tailwindcss": "^
|
|
139
|
-
"
|
|
140
|
-
"
|
|
141
|
-
"
|
|
163
|
+
"sonner": "^2.0.7",
|
|
164
|
+
"tailwind-merge": "^3.5.0",
|
|
165
|
+
"tailwindcss": "^4.2.4",
|
|
166
|
+
"ts-jest": "^29.4.5",
|
|
167
|
+
"tsx": "^4.21.0",
|
|
168
|
+
"tw-animate-css": "^1.4.0",
|
|
169
|
+
"typescript": "^5.7.2"
|
|
142
170
|
}
|
|
143
171
|
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"emailer.d.ts","sourceRoot":"","sources":["../../src/lib/emailer/emailer.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAsBH,OAAO,KAAK,EAAE,aAAa,EAAE,gBAAgB,EAAE,iBAAiB,EAAiB,MAAM,YAAY,CAAC;AAEpG;;;GAGG;AACH,wBAAgB,mBAAmB,IAAI,aAAa,CAwJnD;AAED;;;;;GAKG;AACH,wBAAsB,UAAU,CAC9B,OAAO,EAAE,gBAAgB,EACzB,MAAM,CAAC,EAAE,aAAa,GACrB,OAAO,CAAC,iBAAiB,CAAC,CA0H5B"}
|