hazo_notify 1.0.2 → 1.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +30 -10
- package/config/hazo_logs_config.ini +21 -0
- package/{hazo_notify_config.ini → config/hazo_notify_config.ini} +39 -0
- 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 +3 -3
- package/dist/emailer/emailer.d.ts.map +1 -1
- package/dist/emailer/emailer.js +25 -15
- 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/package.json +70 -22
- 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
|
@@ -0,0 +1,326 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Category repository for template manager
|
|
4
|
+
*
|
|
5
|
+
* CRUD operations for template categories using hazo_connect
|
|
6
|
+
*/
|
|
7
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
|
+
exports.list_categories = list_categories;
|
|
9
|
+
exports.get_category = get_category;
|
|
10
|
+
exports.create_category = create_category;
|
|
11
|
+
exports.update_category = update_category;
|
|
12
|
+
exports.delete_category = delete_category;
|
|
13
|
+
exports.find_category_by_name = find_category_by_name;
|
|
14
|
+
const constants_1 = require("../config/constants");
|
|
15
|
+
const validation_1 = require("../utils/validation");
|
|
16
|
+
/**
|
|
17
|
+
* List all template categories for an organization
|
|
18
|
+
*
|
|
19
|
+
* @param hazo_connect - Database connection instance
|
|
20
|
+
* @param org_id - Organization ID
|
|
21
|
+
* @returns Response with array of categories
|
|
22
|
+
*/
|
|
23
|
+
async function list_categories(hazo_connect, org_id) {
|
|
24
|
+
try {
|
|
25
|
+
if (!hazo_connect) {
|
|
26
|
+
return {
|
|
27
|
+
success: false,
|
|
28
|
+
error: constants_1.ERROR_MESSAGES.DB_CONNECTION_REQUIRED,
|
|
29
|
+
message: constants_1.ERROR_MESSAGES.DB_CONNECTION_REQUIRED,
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
if (!(0, validation_1.validate_uuid)(org_id)) {
|
|
33
|
+
return {
|
|
34
|
+
success: false,
|
|
35
|
+
error: 'Invalid organization ID',
|
|
36
|
+
message: 'Invalid organization ID format',
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
const query = hazo_connect
|
|
40
|
+
.query()
|
|
41
|
+
.from(constants_1.TABLE_TEMPLATE_CATEGORY)
|
|
42
|
+
.select('*')
|
|
43
|
+
.where('org_id', 'eq', org_id)
|
|
44
|
+
.order('template_category_name', 'asc');
|
|
45
|
+
const categories = await hazo_connect.list(query);
|
|
46
|
+
return {
|
|
47
|
+
success: true,
|
|
48
|
+
data: categories,
|
|
49
|
+
message: `Found ${categories.length} categories`,
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
catch (error) {
|
|
53
|
+
const error_message = error instanceof Error ? error.message : 'Unknown error occurred';
|
|
54
|
+
return {
|
|
55
|
+
success: false,
|
|
56
|
+
error: error_message,
|
|
57
|
+
message: `Failed to list categories: ${error_message}`,
|
|
58
|
+
};
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Get a single template category by ID
|
|
63
|
+
*
|
|
64
|
+
* @param hazo_connect - Database connection instance
|
|
65
|
+
* @param id - Category ID
|
|
66
|
+
* @returns Response with category data
|
|
67
|
+
*/
|
|
68
|
+
async function get_category(hazo_connect, id) {
|
|
69
|
+
try {
|
|
70
|
+
if (!hazo_connect) {
|
|
71
|
+
return {
|
|
72
|
+
success: false,
|
|
73
|
+
error: constants_1.ERROR_MESSAGES.DB_CONNECTION_REQUIRED,
|
|
74
|
+
message: constants_1.ERROR_MESSAGES.DB_CONNECTION_REQUIRED,
|
|
75
|
+
};
|
|
76
|
+
}
|
|
77
|
+
if (!(0, validation_1.validate_uuid)(id)) {
|
|
78
|
+
return {
|
|
79
|
+
success: false,
|
|
80
|
+
error: 'Invalid category ID',
|
|
81
|
+
message: 'Invalid category ID format',
|
|
82
|
+
};
|
|
83
|
+
}
|
|
84
|
+
const category = await hazo_connect.findById(constants_1.TABLE_TEMPLATE_CATEGORY, id);
|
|
85
|
+
if (!category) {
|
|
86
|
+
return {
|
|
87
|
+
success: false,
|
|
88
|
+
error: constants_1.ERROR_MESSAGES.CATEGORY_NOT_FOUND,
|
|
89
|
+
message: constants_1.ERROR_MESSAGES.CATEGORY_NOT_FOUND,
|
|
90
|
+
};
|
|
91
|
+
}
|
|
92
|
+
return {
|
|
93
|
+
success: true,
|
|
94
|
+
data: category,
|
|
95
|
+
message: 'Category found',
|
|
96
|
+
};
|
|
97
|
+
}
|
|
98
|
+
catch (error) {
|
|
99
|
+
const error_message = error instanceof Error ? error.message : 'Unknown error occurred';
|
|
100
|
+
return {
|
|
101
|
+
success: false,
|
|
102
|
+
error: error_message,
|
|
103
|
+
message: `Failed to get category: ${error_message}`,
|
|
104
|
+
};
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
/**
|
|
108
|
+
* Create a new template category
|
|
109
|
+
*
|
|
110
|
+
* @param hazo_connect - Database connection instance
|
|
111
|
+
* @param data - Category input data
|
|
112
|
+
* @returns Response with created category
|
|
113
|
+
*/
|
|
114
|
+
async function create_category(hazo_connect, data) {
|
|
115
|
+
try {
|
|
116
|
+
if (!hazo_connect) {
|
|
117
|
+
return {
|
|
118
|
+
success: false,
|
|
119
|
+
error: constants_1.ERROR_MESSAGES.DB_CONNECTION_REQUIRED,
|
|
120
|
+
message: constants_1.ERROR_MESSAGES.DB_CONNECTION_REQUIRED,
|
|
121
|
+
};
|
|
122
|
+
}
|
|
123
|
+
if (!(0, validation_1.validate_category_name)(data.template_category_name)) {
|
|
124
|
+
return {
|
|
125
|
+
success: false,
|
|
126
|
+
error: constants_1.ERROR_MESSAGES.INVALID_CATEGORY_NAME,
|
|
127
|
+
message: constants_1.ERROR_MESSAGES.INVALID_CATEGORY_NAME,
|
|
128
|
+
};
|
|
129
|
+
}
|
|
130
|
+
if (!(0, validation_1.validate_uuid)(data.org_id)) {
|
|
131
|
+
return {
|
|
132
|
+
success: false,
|
|
133
|
+
error: 'Invalid organization ID',
|
|
134
|
+
message: 'Invalid organization ID format',
|
|
135
|
+
};
|
|
136
|
+
}
|
|
137
|
+
if (!(0, validation_1.validate_uuid)(data.root_org_id)) {
|
|
138
|
+
return {
|
|
139
|
+
success: false,
|
|
140
|
+
error: 'Invalid root organization ID',
|
|
141
|
+
message: 'Invalid root organization ID format',
|
|
142
|
+
};
|
|
143
|
+
}
|
|
144
|
+
const category = await hazo_connect.insert(constants_1.TABLE_TEMPLATE_CATEGORY, {
|
|
145
|
+
org_id: data.org_id,
|
|
146
|
+
root_org_id: data.root_org_id,
|
|
147
|
+
template_category_name: data.template_category_name.trim(),
|
|
148
|
+
});
|
|
149
|
+
return {
|
|
150
|
+
success: true,
|
|
151
|
+
data: category,
|
|
152
|
+
message: 'Category created successfully',
|
|
153
|
+
};
|
|
154
|
+
}
|
|
155
|
+
catch (error) {
|
|
156
|
+
const error_message = error instanceof Error ? error.message : 'Unknown error occurred';
|
|
157
|
+
return {
|
|
158
|
+
success: false,
|
|
159
|
+
error: error_message,
|
|
160
|
+
message: `Failed to create category: ${error_message}`,
|
|
161
|
+
};
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
/**
|
|
165
|
+
* Update an existing template category
|
|
166
|
+
*
|
|
167
|
+
* @param hazo_connect - Database connection instance
|
|
168
|
+
* @param id - Category ID
|
|
169
|
+
* @param data - Update data
|
|
170
|
+
* @returns Response with updated category
|
|
171
|
+
*/
|
|
172
|
+
async function update_category(hazo_connect, id, data) {
|
|
173
|
+
try {
|
|
174
|
+
if (!hazo_connect) {
|
|
175
|
+
return {
|
|
176
|
+
success: false,
|
|
177
|
+
error: constants_1.ERROR_MESSAGES.DB_CONNECTION_REQUIRED,
|
|
178
|
+
message: constants_1.ERROR_MESSAGES.DB_CONNECTION_REQUIRED,
|
|
179
|
+
};
|
|
180
|
+
}
|
|
181
|
+
if (!(0, validation_1.validate_uuid)(id)) {
|
|
182
|
+
return {
|
|
183
|
+
success: false,
|
|
184
|
+
error: 'Invalid category ID',
|
|
185
|
+
message: 'Invalid category ID format',
|
|
186
|
+
};
|
|
187
|
+
}
|
|
188
|
+
if (data.template_category_name !== undefined &&
|
|
189
|
+
!(0, validation_1.validate_category_name)(data.template_category_name)) {
|
|
190
|
+
return {
|
|
191
|
+
success: false,
|
|
192
|
+
error: constants_1.ERROR_MESSAGES.INVALID_CATEGORY_NAME,
|
|
193
|
+
message: constants_1.ERROR_MESSAGES.INVALID_CATEGORY_NAME,
|
|
194
|
+
};
|
|
195
|
+
}
|
|
196
|
+
// Check if category exists
|
|
197
|
+
const existing = await hazo_connect.findById(constants_1.TABLE_TEMPLATE_CATEGORY, id);
|
|
198
|
+
if (!existing) {
|
|
199
|
+
return {
|
|
200
|
+
success: false,
|
|
201
|
+
error: constants_1.ERROR_MESSAGES.CATEGORY_NOT_FOUND,
|
|
202
|
+
message: constants_1.ERROR_MESSAGES.CATEGORY_NOT_FOUND,
|
|
203
|
+
};
|
|
204
|
+
}
|
|
205
|
+
const update_data = {
|
|
206
|
+
changed_at: new Date().toISOString(),
|
|
207
|
+
};
|
|
208
|
+
if (data.template_category_name !== undefined) {
|
|
209
|
+
update_data.template_category_name = data.template_category_name.trim();
|
|
210
|
+
}
|
|
211
|
+
const category = await hazo_connect.updateById(constants_1.TABLE_TEMPLATE_CATEGORY, id, update_data);
|
|
212
|
+
return {
|
|
213
|
+
success: true,
|
|
214
|
+
data: category,
|
|
215
|
+
message: 'Category updated successfully',
|
|
216
|
+
};
|
|
217
|
+
}
|
|
218
|
+
catch (error) {
|
|
219
|
+
const error_message = error instanceof Error ? error.message : 'Unknown error occurred';
|
|
220
|
+
return {
|
|
221
|
+
success: false,
|
|
222
|
+
error: error_message,
|
|
223
|
+
message: `Failed to update category: ${error_message}`,
|
|
224
|
+
};
|
|
225
|
+
}
|
|
226
|
+
}
|
|
227
|
+
/**
|
|
228
|
+
* Delete a template category and all its templates
|
|
229
|
+
*
|
|
230
|
+
* @param hazo_connect - Database connection instance
|
|
231
|
+
* @param id - Category ID
|
|
232
|
+
* @returns Response with deletion result
|
|
233
|
+
*/
|
|
234
|
+
async function delete_category(hazo_connect, id) {
|
|
235
|
+
try {
|
|
236
|
+
if (!hazo_connect) {
|
|
237
|
+
return {
|
|
238
|
+
success: false,
|
|
239
|
+
error: constants_1.ERROR_MESSAGES.DB_CONNECTION_REQUIRED,
|
|
240
|
+
message: constants_1.ERROR_MESSAGES.DB_CONNECTION_REQUIRED,
|
|
241
|
+
};
|
|
242
|
+
}
|
|
243
|
+
if (!(0, validation_1.validate_uuid)(id)) {
|
|
244
|
+
return {
|
|
245
|
+
success: false,
|
|
246
|
+
error: 'Invalid category ID',
|
|
247
|
+
message: 'Invalid category ID format',
|
|
248
|
+
};
|
|
249
|
+
}
|
|
250
|
+
// Check if category exists
|
|
251
|
+
const existing = await hazo_connect.findById(constants_1.TABLE_TEMPLATE_CATEGORY, id);
|
|
252
|
+
if (!existing) {
|
|
253
|
+
return {
|
|
254
|
+
success: false,
|
|
255
|
+
error: constants_1.ERROR_MESSAGES.CATEGORY_NOT_FOUND,
|
|
256
|
+
message: constants_1.ERROR_MESSAGES.CATEGORY_NOT_FOUND,
|
|
257
|
+
};
|
|
258
|
+
}
|
|
259
|
+
// First delete all templates in this category
|
|
260
|
+
// Note: This could be handled by DB cascade, but we do it explicitly
|
|
261
|
+
const templates_query = hazo_connect
|
|
262
|
+
.query()
|
|
263
|
+
.from(constants_1.TABLE_TEMPLATES)
|
|
264
|
+
.select('id')
|
|
265
|
+
.where('template_category_id', 'eq', id);
|
|
266
|
+
const templates = await hazo_connect.list(templates_query);
|
|
267
|
+
for (const template of templates) {
|
|
268
|
+
await hazo_connect.deleteById(constants_1.TABLE_TEMPLATES, template.id);
|
|
269
|
+
}
|
|
270
|
+
// Delete the category
|
|
271
|
+
await hazo_connect.deleteById(constants_1.TABLE_TEMPLATE_CATEGORY, id);
|
|
272
|
+
return {
|
|
273
|
+
success: true,
|
|
274
|
+
data: true,
|
|
275
|
+
message: `Category deleted along with ${templates.length} templates`,
|
|
276
|
+
};
|
|
277
|
+
}
|
|
278
|
+
catch (error) {
|
|
279
|
+
const error_message = error instanceof Error ? error.message : 'Unknown error occurred';
|
|
280
|
+
return {
|
|
281
|
+
success: false,
|
|
282
|
+
error: error_message,
|
|
283
|
+
message: `Failed to delete category: ${error_message}`,
|
|
284
|
+
};
|
|
285
|
+
}
|
|
286
|
+
}
|
|
287
|
+
/**
|
|
288
|
+
* Find a category by name within an organization
|
|
289
|
+
*
|
|
290
|
+
* @param hazo_connect - Database connection instance
|
|
291
|
+
* @param org_id - Organization ID
|
|
292
|
+
* @param name - Category name
|
|
293
|
+
* @returns Response with category if found
|
|
294
|
+
*/
|
|
295
|
+
async function find_category_by_name(hazo_connect, org_id, name) {
|
|
296
|
+
try {
|
|
297
|
+
if (!hazo_connect) {
|
|
298
|
+
return {
|
|
299
|
+
success: false,
|
|
300
|
+
error: constants_1.ERROR_MESSAGES.DB_CONNECTION_REQUIRED,
|
|
301
|
+
message: constants_1.ERROR_MESSAGES.DB_CONNECTION_REQUIRED,
|
|
302
|
+
};
|
|
303
|
+
}
|
|
304
|
+
const query = hazo_connect
|
|
305
|
+
.query()
|
|
306
|
+
.from(constants_1.TABLE_TEMPLATE_CATEGORY)
|
|
307
|
+
.select('*')
|
|
308
|
+
.where('org_id', 'eq', org_id)
|
|
309
|
+
.where('template_category_name', 'eq', name.trim());
|
|
310
|
+
const categories = await hazo_connect.list(query);
|
|
311
|
+
return {
|
|
312
|
+
success: true,
|
|
313
|
+
data: categories.length > 0 ? categories[0] : null,
|
|
314
|
+
message: categories.length > 0 ? 'Category found' : 'Category not found',
|
|
315
|
+
};
|
|
316
|
+
}
|
|
317
|
+
catch (error) {
|
|
318
|
+
const error_message = error instanceof Error ? error.message : 'Unknown error occurred';
|
|
319
|
+
return {
|
|
320
|
+
success: false,
|
|
321
|
+
error: error_message,
|
|
322
|
+
message: `Failed to find category: ${error_message}`,
|
|
323
|
+
};
|
|
324
|
+
}
|
|
325
|
+
}
|
|
326
|
+
//# sourceMappingURL=category_repository.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"category_repository.js","sourceRoot":"","sources":["../../../src/lib/template_manager/db/category_repository.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Database barrel export for template manager
|
|
3
|
+
*/
|
|
4
|
+
export { list_categories, get_category, create_category, update_category, delete_category, find_category_by_name, } from './category_repository';
|
|
5
|
+
export { list_templates, list_templates_by_category, get_template, get_template_by_name, create_template, update_template, delete_template, seed_default_templates, } from './template_repository';
|
|
6
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/template_manager/db/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EACL,eAAe,EACf,YAAY,EACZ,eAAe,EACf,eAAe,EACf,eAAe,EACf,qBAAqB,GACtB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EACL,cAAc,EACd,0BAA0B,EAC1B,YAAY,EACZ,oBAAoB,EACpB,eAAe,EACf,eAAe,EACf,eAAe,EACf,sBAAsB,GACvB,MAAM,uBAAuB,CAAC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Database barrel export for template manager
|
|
4
|
+
*/
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.seed_default_templates = exports.delete_template = exports.update_template = exports.create_template = exports.get_template_by_name = exports.get_template = exports.list_templates_by_category = exports.list_templates = exports.find_category_by_name = exports.delete_category = exports.update_category = exports.create_category = exports.get_category = exports.list_categories = void 0;
|
|
7
|
+
var category_repository_1 = require("./category_repository");
|
|
8
|
+
Object.defineProperty(exports, "list_categories", { enumerable: true, get: function () { return category_repository_1.list_categories; } });
|
|
9
|
+
Object.defineProperty(exports, "get_category", { enumerable: true, get: function () { return category_repository_1.get_category; } });
|
|
10
|
+
Object.defineProperty(exports, "create_category", { enumerable: true, get: function () { return category_repository_1.create_category; } });
|
|
11
|
+
Object.defineProperty(exports, "update_category", { enumerable: true, get: function () { return category_repository_1.update_category; } });
|
|
12
|
+
Object.defineProperty(exports, "delete_category", { enumerable: true, get: function () { return category_repository_1.delete_category; } });
|
|
13
|
+
Object.defineProperty(exports, "find_category_by_name", { enumerable: true, get: function () { return category_repository_1.find_category_by_name; } });
|
|
14
|
+
var template_repository_1 = require("./template_repository");
|
|
15
|
+
Object.defineProperty(exports, "list_templates", { enumerable: true, get: function () { return template_repository_1.list_templates; } });
|
|
16
|
+
Object.defineProperty(exports, "list_templates_by_category", { enumerable: true, get: function () { return template_repository_1.list_templates_by_category; } });
|
|
17
|
+
Object.defineProperty(exports, "get_template", { enumerable: true, get: function () { return template_repository_1.get_template; } });
|
|
18
|
+
Object.defineProperty(exports, "get_template_by_name", { enumerable: true, get: function () { return template_repository_1.get_template_by_name; } });
|
|
19
|
+
Object.defineProperty(exports, "create_template", { enumerable: true, get: function () { return template_repository_1.create_template; } });
|
|
20
|
+
Object.defineProperty(exports, "update_template", { enumerable: true, get: function () { return template_repository_1.update_template; } });
|
|
21
|
+
Object.defineProperty(exports, "delete_template", { enumerable: true, get: function () { return template_repository_1.delete_template; } });
|
|
22
|
+
Object.defineProperty(exports, "seed_default_templates", { enumerable: true, get: function () { return template_repository_1.seed_default_templates; } });
|
|
23
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/template_manager/db/index.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAEH,6DAO+B;AAN7B,sHAAA,eAAe,OAAA;AACf,mHAAA,YAAY,OAAA;AACZ,sHAAA,eAAe,OAAA;AACf,sHAAA,eAAe,OAAA;AACf,sHAAA,eAAe,OAAA;AACf,4HAAA,qBAAqB,OAAA;AAGvB,6DAS+B;AAR7B,qHAAA,cAAc,OAAA;AACd,iIAAA,0BAA0B,OAAA;AAC1B,mHAAA,YAAY,OAAA;AACZ,2HAAA,oBAAoB,OAAA;AACpB,sHAAA,eAAe,OAAA;AACf,sHAAA,eAAe,OAAA;AACf,sHAAA,eAAe,OAAA;AACf,6HAAA,sBAAsB,OAAA"}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Template repository for template manager
|
|
3
|
+
*
|
|
4
|
+
* CRUD operations for email templates using hazo_connect
|
|
5
|
+
*/
|
|
6
|
+
import type { HazoConnectInstance, EmailTemplate, EmailTemplateInput, EmailTemplateUpdate, TemplateOperationResponse } from '../types';
|
|
7
|
+
/**
|
|
8
|
+
* List all email templates for an organization
|
|
9
|
+
*
|
|
10
|
+
* @param hazo_connect - Database connection instance
|
|
11
|
+
* @param org_id - Organization ID
|
|
12
|
+
* @returns Response with array of templates
|
|
13
|
+
*/
|
|
14
|
+
export declare function list_templates(hazo_connect: HazoConnectInstance, org_id: string): Promise<TemplateOperationResponse<EmailTemplate[]>>;
|
|
15
|
+
/**
|
|
16
|
+
* List templates by category
|
|
17
|
+
*
|
|
18
|
+
* @param hazo_connect - Database connection instance
|
|
19
|
+
* @param category_id - Category ID
|
|
20
|
+
* @returns Response with array of templates
|
|
21
|
+
*/
|
|
22
|
+
export declare function list_templates_by_category(hazo_connect: HazoConnectInstance, category_id: string): Promise<TemplateOperationResponse<EmailTemplate[]>>;
|
|
23
|
+
/**
|
|
24
|
+
* Get a single email template by ID
|
|
25
|
+
*
|
|
26
|
+
* @param hazo_connect - Database connection instance
|
|
27
|
+
* @param id - Template ID
|
|
28
|
+
* @returns Response with template data
|
|
29
|
+
*/
|
|
30
|
+
export declare function get_template(hazo_connect: HazoConnectInstance, id: string): Promise<TemplateOperationResponse<EmailTemplate>>;
|
|
31
|
+
/**
|
|
32
|
+
* Get a template by name within an organization
|
|
33
|
+
*
|
|
34
|
+
* @param hazo_connect - Database connection instance
|
|
35
|
+
* @param org_id - Organization ID
|
|
36
|
+
* @param template_name - Template name
|
|
37
|
+
* @returns Response with template if found
|
|
38
|
+
*/
|
|
39
|
+
export declare function get_template_by_name(hazo_connect: HazoConnectInstance, org_id: string, template_name: string): Promise<TemplateOperationResponse<EmailTemplate>>;
|
|
40
|
+
/**
|
|
41
|
+
* Create a new email template
|
|
42
|
+
*
|
|
43
|
+
* @param hazo_connect - Database connection instance
|
|
44
|
+
* @param data - Template input data
|
|
45
|
+
* @returns Response with created template
|
|
46
|
+
*/
|
|
47
|
+
export declare function create_template(hazo_connect: HazoConnectInstance, data: EmailTemplateInput): Promise<TemplateOperationResponse<EmailTemplate>>;
|
|
48
|
+
/**
|
|
49
|
+
* Update an existing email template
|
|
50
|
+
*
|
|
51
|
+
* @param hazo_connect - Database connection instance
|
|
52
|
+
* @param id - Template ID
|
|
53
|
+
* @param data - Update data
|
|
54
|
+
* @returns Response with updated template
|
|
55
|
+
*/
|
|
56
|
+
export declare function update_template(hazo_connect: HazoConnectInstance, id: string, data: EmailTemplateUpdate): Promise<TemplateOperationResponse<EmailTemplate>>;
|
|
57
|
+
/**
|
|
58
|
+
* Delete an email template
|
|
59
|
+
*
|
|
60
|
+
* @param hazo_connect - Database connection instance
|
|
61
|
+
* @param id - Template ID
|
|
62
|
+
* @returns Response with deletion result
|
|
63
|
+
*/
|
|
64
|
+
export declare function delete_template(hazo_connect: HazoConnectInstance, id: string): Promise<TemplateOperationResponse<boolean>>;
|
|
65
|
+
/**
|
|
66
|
+
* Seed default templates for an organization
|
|
67
|
+
*
|
|
68
|
+
* Creates a "System" category and populates it with default templates
|
|
69
|
+
*
|
|
70
|
+
* @param hazo_connect - Database connection instance
|
|
71
|
+
* @param org_id - Organization ID
|
|
72
|
+
* @param root_org_id - Root organization ID
|
|
73
|
+
* @returns Response with seeded templates
|
|
74
|
+
*/
|
|
75
|
+
export declare function seed_default_templates(hazo_connect: HazoConnectInstance, org_id: string, root_org_id: string): Promise<TemplateOperationResponse<EmailTemplate[]>>;
|
|
76
|
+
//# sourceMappingURL=template_repository.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"template_repository.d.ts","sourceRoot":"","sources":["../../../src/lib/template_manager/db/template_repository.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EACV,mBAAmB,EACnB,aAAa,EACb,kBAAkB,EAClB,mBAAmB,EACnB,yBAAyB,EAE1B,MAAM,UAAU,CAAC;AAelB;;;;;;GAMG;AACH,wBAAsB,cAAc,CAClC,YAAY,EAAE,mBAAmB,EACjC,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,yBAAyB,CAAC,aAAa,EAAE,CAAC,CAAC,CAyCrD;AAED;;;;;;GAMG;AACH,wBAAsB,0BAA0B,CAC9C,YAAY,EAAE,mBAAmB,EACjC,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,yBAAyB,CAAC,aAAa,EAAE,CAAC,CAAC,CAyCrD;AAED;;;;;;GAMG;AACH,wBAAsB,YAAY,CAChC,YAAY,EAAE,mBAAmB,EACjC,EAAE,EAAE,MAAM,GACT,OAAO,CAAC,yBAAyB,CAAC,aAAa,CAAC,CAAC,CA6CnD;AAED;;;;;;;GAOG;AACH,wBAAsB,oBAAoB,CACxC,YAAY,EAAE,mBAAmB,EACjC,MAAM,EAAE,MAAM,EACd,aAAa,EAAE,MAAM,GACpB,OAAO,CAAC,yBAAyB,CAAC,aAAa,CAAC,CAAC,CAiDnD;AAED;;;;;;GAMG;AACH,wBAAsB,eAAe,CACnC,YAAY,EAAE,mBAAmB,EACjC,IAAI,EAAE,kBAAkB,GACvB,OAAO,CAAC,yBAAyB,CAAC,aAAa,CAAC,CAAC,CAiGnD;AAED;;;;;;;GAOG;AACH,wBAAsB,eAAe,CACnC,YAAY,EAAE,mBAAmB,EACjC,EAAE,EAAE,MAAM,EACV,IAAI,EAAE,mBAAmB,GACxB,OAAO,CAAC,yBAAyB,CAAC,aAAa,CAAC,CAAC,CAqHnD;AAED;;;;;;GAMG;AACH,wBAAsB,eAAe,CACnC,YAAY,EAAE,mBAAmB,EACjC,EAAE,EAAE,MAAM,GACT,OAAO,CAAC,yBAAyB,CAAC,OAAO,CAAC,CAAC,CAyD7C;AAyJD;;;;;;;;;GASG;AACH,wBAAsB,sBAAsB,CAC1C,YAAY,EAAE,mBAAmB,EACjC,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,yBAAyB,CAAC,aAAa,EAAE,CAAC,CAAC,CAgGrD"}
|