hazo_ihelp 2.0.9 → 2.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/SETUP_CHECKLIST.md +131 -0
- package/config/hazo_ihelp_config.ini.sample +41 -8
- package/db_setup_postgres.sql +52 -0
- package/db_setup_sqlite.sql +25 -0
- package/dist/api/create_config_handler.d.ts +2 -0
- package/dist/api/create_config_handler.d.ts.map +1 -1
- package/dist/api/create_config_handler.js +117 -81
- package/dist/api/create_config_handler.js.map +1 -1
- package/dist/api/create_ihelp_handler.d.ts +4 -12
- package/dist/api/create_ihelp_handler.d.ts.map +1 -1
- package/dist/api/create_ihelp_handler.js +251 -226
- package/dist/api/create_ihelp_handler.js.map +1 -1
- package/dist/api/image_upload_handler.d.ts.map +1 -1
- package/dist/api/image_upload_handler.js +114 -80
- package/dist/api/image_upload_handler.js.map +1 -1
- package/dist/components/editor/editor_collapsible_section.js +1 -1
- package/dist/components/editor/editor_collapsible_section.js.map +1 -1
- package/dist/components/editor/editor_form.js +1 -1
- package/dist/components/editor/editor_form.js.map +1 -1
- package/dist/components/editor/editor_topic_list_item.js +1 -1
- package/dist/components/editor/editor_topic_list_item.js.map +1 -1
- package/dist/components/hover_help_icon.d.ts +39 -0
- package/dist/components/hover_help_icon.d.ts.map +1 -0
- package/dist/components/hover_help_icon.js +29 -0
- package/dist/components/hover_help_icon.js.map +1 -0
- package/dist/components/ihelp_detail_panel.js +1 -1
- package/dist/components/ihelp_detail_panel.js.map +1 -1
- package/dist/components/ihelp_editor.js +1 -1
- package/dist/components/ihelp_editor.js.map +1 -1
- package/dist/components/ihelp_icon.js +1 -1
- package/dist/components/ihelp_icon.js.map +1 -1
- package/dist/components/ihelp_provider.d.ts.map +1 -1
- package/dist/components/ihelp_provider.js +6 -1
- package/dist/components/ihelp_provider.js.map +1 -1
- package/dist/components/ihelp_rich_editor.js +1 -1
- package/dist/components/ihelp_rich_editor.js.map +1 -1
- package/dist/components/ihelp_search_dialog.js +1 -1
- package/dist/components/ihelp_search_dialog.js.map +1 -1
- package/dist/components/index.d.ts +1 -0
- package/dist/components/index.d.ts.map +1 -1
- package/dist/components/index.js +1 -0
- package/dist/components/index.js.map +1 -1
- package/dist/components/ui/badge.js +1 -1
- package/dist/components/ui/badge.js.map +1 -1
- package/dist/components/ui/button.js +1 -1
- package/dist/components/ui/button.js.map +1 -1
- package/dist/components/ui/dialog.js +1 -1
- package/dist/components/ui/dialog.js.map +1 -1
- package/dist/components/ui/input.js +1 -1
- package/dist/components/ui/input.js.map +1 -1
- package/dist/components/ui/label.js +1 -1
- package/dist/components/ui/label.js.map +1 -1
- package/dist/components/ui/popover.js +1 -1
- package/dist/components/ui/popover.js.map +1 -1
- package/dist/components/ui/select.js +1 -1
- package/dist/components/ui/select.js.map +1 -1
- package/dist/components/ui/switch.js +1 -1
- package/dist/components/ui/switch.js.map +1 -1
- package/dist/components/ui/textarea.js +1 -1
- package/dist/components/ui/textarea.js.map +1 -1
- package/dist/index.client.d.ts +1 -1
- package/dist/index.client.d.ts.map +1 -1
- package/dist/index.client.js +1 -1
- package/dist/index.client.js.map +1 -1
- package/dist/lib/config/hazo_ihelp_config.d.ts +106 -0
- package/dist/lib/config/hazo_ihelp_config.d.ts.map +1 -0
- package/dist/lib/config/hazo_ihelp_config.js +66 -0
- package/dist/lib/config/hazo_ihelp_config.js.map +1 -0
- package/dist/utils/logger.d.ts +25 -0
- package/dist/utils/logger.d.ts.map +1 -0
- package/dist/utils/logger.js +42 -0
- package/dist/utils/logger.js.map +1 -0
- package/package.json +65 -22
- package/config/hazo_ihelp_config.ini +0 -9
- package/dist/utils/cn.d.ts +0 -3
- package/dist/utils/cn.d.ts.map +0 -1
- package/dist/utils/cn.js +0 -6
- package/dist/utils/cn.js.map +0 -1
- package/migrations/001_create_ihelp_tables.sql +0 -109
|
@@ -5,6 +5,10 @@
|
|
|
5
5
|
* Tags and context mappings are stored as JSON columns directly on the
|
|
6
6
|
* topics table — no separate join tables required.
|
|
7
7
|
*
|
|
8
|
+
* Every handler wraps its body with hazo_core's `withContext` so the
|
|
9
|
+
* correlation ID flows through every nested log call and downstream
|
|
10
|
+
* `fetchWithRequestId` outbound request.
|
|
11
|
+
*
|
|
8
12
|
* @example
|
|
9
13
|
* ```typescript
|
|
10
14
|
* // app/api/ihelp/topics/route.ts
|
|
@@ -18,44 +22,38 @@
|
|
|
18
22
|
* });
|
|
19
23
|
*
|
|
20
24
|
* export { GET, POST };
|
|
21
|
-
*
|
|
22
|
-
* // app/api/ihelp/topics/[id]/route.ts
|
|
23
|
-
* import { createIhelpHandler } from 'hazo_ihelp/api';
|
|
24
|
-
* import { getHazoConnectSingleton } from 'hazo_connect/nextjs/setup';
|
|
25
|
-
*
|
|
26
|
-
* export const dynamic = 'force-dynamic';
|
|
27
|
-
*
|
|
28
|
-
* const { PATCH, DELETE } = createIhelpHandler({
|
|
29
|
-
* getHazoConnect: () => getHazoConnectSingleton(),
|
|
30
|
-
* });
|
|
31
|
-
*
|
|
32
|
-
* export { PATCH, DELETE };
|
|
33
25
|
* ```
|
|
34
26
|
*/
|
|
35
27
|
import { NextResponse } from 'next/server';
|
|
36
28
|
import { createCrudService } from 'hazo_connect/server';
|
|
29
|
+
import { HazoError, HazoValidationError, HazoNotFoundError, generateRequestId, getCorrelationId, withContext, } from 'hazo_core';
|
|
30
|
+
import { get_logger, set_logger } from '../utils/logger.js';
|
|
37
31
|
// ============================================================================
|
|
38
32
|
// Helper Functions
|
|
39
33
|
// ============================================================================
|
|
40
|
-
/** Generate a UUID
|
|
34
|
+
/** Generate a UUID for DB primary keys. Strips the req_ prefix from generateRequestId(). */
|
|
41
35
|
function generateUUID() {
|
|
42
|
-
return
|
|
43
|
-
const r = (Math.random() * 16) | 0;
|
|
44
|
-
const v = c === 'x' ? r : (r & 0x3) | 0x8;
|
|
45
|
-
return v.toString(16);
|
|
46
|
-
});
|
|
36
|
+
return generateRequestId().slice(4);
|
|
47
37
|
}
|
|
48
|
-
/** No-op logger */
|
|
49
|
-
const noopLogger = {
|
|
50
|
-
error: () => { },
|
|
51
|
-
warn: () => { },
|
|
52
|
-
info: () => { },
|
|
53
|
-
debug: () => { },
|
|
54
|
-
};
|
|
55
38
|
/** Create a standardized error response */
|
|
56
39
|
function createErrorResponse(error, status) {
|
|
57
40
|
return NextResponse.json({ success: false, error }, { status });
|
|
58
41
|
}
|
|
42
|
+
/** Wrap an error caught in a handler — log appropriately and return a response. */
|
|
43
|
+
function handleError(logger, event, error) {
|
|
44
|
+
if (HazoError.is(error)) {
|
|
45
|
+
const status = error.httpStatus ?? 500;
|
|
46
|
+
if (status >= 500) {
|
|
47
|
+
logger.error(event, { code: error.code, message: error.message, context: error.context });
|
|
48
|
+
}
|
|
49
|
+
else {
|
|
50
|
+
logger.warn(event, { code: error.code, message: error.message });
|
|
51
|
+
}
|
|
52
|
+
return createErrorResponse(error.message, status);
|
|
53
|
+
}
|
|
54
|
+
logger.error(event, { error: error instanceof Error ? error.message : String(error) });
|
|
55
|
+
return createErrorResponse('Internal server error', 500);
|
|
56
|
+
}
|
|
59
57
|
/** Parse a JSON column value that may be a string or already parsed */
|
|
60
58
|
function parseJsonColumn(value) {
|
|
61
59
|
if (typeof value === 'string') {
|
|
@@ -79,7 +77,11 @@ function parseJsonColumn(value) {
|
|
|
79
77
|
*/
|
|
80
78
|
export function createIhelpHandler(options) {
|
|
81
79
|
const { getHazoConnect, getLogger } = options;
|
|
82
|
-
|
|
80
|
+
if (getLogger) {
|
|
81
|
+
// Consumer override — wire through the package-level logger.
|
|
82
|
+
set_logger(getLogger());
|
|
83
|
+
}
|
|
84
|
+
const logger = get_logger();
|
|
83
85
|
// ---------------------------------------------------------------------------
|
|
84
86
|
// Internal helper: normalise a DB row into a full IhelpTopic
|
|
85
87
|
// ---------------------------------------------------------------------------
|
|
@@ -107,28 +109,55 @@ export function createIhelpHandler(options) {
|
|
|
107
109
|
* - search — ilike filter on title and description
|
|
108
110
|
*/
|
|
109
111
|
async function GET(request) {
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
112
|
+
return withContext({ correlationId: getCorrelationId() ?? generateRequestId() }, async () => {
|
|
113
|
+
try {
|
|
114
|
+
const searchParams = request.nextUrl.searchParams;
|
|
115
|
+
const id = searchParams.get('id');
|
|
116
|
+
const context_key = searchParams.get('context_key');
|
|
117
|
+
const scope_id = searchParams.get('scope_id');
|
|
118
|
+
const category = searchParams.get('category');
|
|
119
|
+
const search = searchParams.get('search');
|
|
120
|
+
logger.debug('topic.list.request', { id, context_key, scope_id, category, search });
|
|
121
|
+
const adapter = await getHazoConnect();
|
|
122
|
+
const topicsService = createCrudService(adapter, 'hazo_ihelp_topics');
|
|
123
|
+
// ---- Single topic fetch ----
|
|
124
|
+
if (id) {
|
|
125
|
+
const topic = await topicsService.findById(id);
|
|
126
|
+
if (!topic) {
|
|
127
|
+
throw new HazoNotFoundError({
|
|
128
|
+
code: 'HAZO_IHELP_TOPIC_NOT_FOUND',
|
|
129
|
+
pkg: 'hazo_ihelp',
|
|
130
|
+
message: 'Topic not found',
|
|
131
|
+
context: { id },
|
|
132
|
+
});
|
|
133
|
+
}
|
|
134
|
+
return NextResponse.json({ success: true, data: normaliseTopic(topic) });
|
|
125
135
|
}
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
136
|
+
// ---- Context key lookup ----
|
|
137
|
+
if (context_key) {
|
|
138
|
+
// Fetch all topics, filter by context key in application code
|
|
139
|
+
// (works with both SQLite TEXT and PostgreSQL JSONB)
|
|
140
|
+
const rows = await topicsService.list((qb) => {
|
|
141
|
+
let q = qb;
|
|
142
|
+
if (scope_id) {
|
|
143
|
+
q = q.whereOr([
|
|
144
|
+
{ field: 'scope_id', operator: 'is', value: null },
|
|
145
|
+
{ field: 'scope_id', operator: 'eq', value: scope_id },
|
|
146
|
+
]);
|
|
147
|
+
}
|
|
148
|
+
return q;
|
|
149
|
+
});
|
|
150
|
+
const matched = rows
|
|
151
|
+
.map(normaliseTopic)
|
|
152
|
+
.filter((t) => t.contexts.some((c) => c.key === context_key))
|
|
153
|
+
.sort((a, b) => {
|
|
154
|
+
const pa = a.contexts.find((c) => c.key === context_key)?.priority ?? 0;
|
|
155
|
+
const pb = b.contexts.find((c) => c.key === context_key)?.priority ?? 0;
|
|
156
|
+
return pa - pb;
|
|
157
|
+
});
|
|
158
|
+
return NextResponse.json({ success: true, data: matched });
|
|
159
|
+
}
|
|
160
|
+
// ---- List with optional filters ----
|
|
132
161
|
const rows = await topicsService.list((qb) => {
|
|
133
162
|
let q = qb;
|
|
134
163
|
if (scope_id) {
|
|
@@ -137,47 +166,24 @@ export function createIhelpHandler(options) {
|
|
|
137
166
|
{ field: 'scope_id', operator: 'eq', value: scope_id },
|
|
138
167
|
]);
|
|
139
168
|
}
|
|
169
|
+
if (category) {
|
|
170
|
+
q = q.where('category', 'eq', category);
|
|
171
|
+
}
|
|
172
|
+
if (search) {
|
|
173
|
+
q = q.whereOr([
|
|
174
|
+
{ field: 'title', operator: 'ilike', value: `%${search}%` },
|
|
175
|
+
{ field: 'description', operator: 'ilike', value: `%${search}%` },
|
|
176
|
+
]);
|
|
177
|
+
}
|
|
140
178
|
return q;
|
|
141
179
|
});
|
|
142
|
-
const
|
|
143
|
-
|
|
144
|
-
.filter((t) => t.contexts.some((c) => c.key === context_key))
|
|
145
|
-
.sort((a, b) => {
|
|
146
|
-
const pa = a.contexts.find((c) => c.key === context_key)?.priority ?? 0;
|
|
147
|
-
const pb = b.contexts.find((c) => c.key === context_key)?.priority ?? 0;
|
|
148
|
-
return pa - pb;
|
|
149
|
-
});
|
|
150
|
-
return NextResponse.json({ success: true, data: matched });
|
|
180
|
+
const assembled = rows.map(normaliseTopic);
|
|
181
|
+
return NextResponse.json({ success: true, data: assembled });
|
|
151
182
|
}
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
q = q.whereOr([
|
|
157
|
-
{ field: 'scope_id', operator: 'is', value: null },
|
|
158
|
-
{ field: 'scope_id', operator: 'eq', value: scope_id },
|
|
159
|
-
]);
|
|
160
|
-
}
|
|
161
|
-
if (category) {
|
|
162
|
-
q = q.where('category', 'eq', category);
|
|
163
|
-
}
|
|
164
|
-
if (search) {
|
|
165
|
-
q = q.whereOr([
|
|
166
|
-
{ field: 'title', operator: 'ilike', value: `%${search}%` },
|
|
167
|
-
{ field: 'description', operator: 'ilike', value: `%${search}%` },
|
|
168
|
-
]);
|
|
169
|
-
}
|
|
170
|
-
return q;
|
|
171
|
-
});
|
|
172
|
-
const assembled = rows.map(normaliseTopic);
|
|
173
|
-
return NextResponse.json({ success: true, data: assembled });
|
|
174
|
-
}
|
|
175
|
-
catch (error) {
|
|
176
|
-
logger.error('[hazo_ihelp] GET error', {
|
|
177
|
-
error: error instanceof Error ? error.message : String(error),
|
|
178
|
-
});
|
|
179
|
-
return createErrorResponse('Failed to fetch topics', 500);
|
|
180
|
-
}
|
|
183
|
+
catch (error) {
|
|
184
|
+
return handleError(logger, 'topic.list.failed', error);
|
|
185
|
+
}
|
|
186
|
+
});
|
|
181
187
|
}
|
|
182
188
|
// ---------------------------------------------------------------------------
|
|
183
189
|
// POST handler — create a new topic
|
|
@@ -188,64 +194,69 @@ export function createIhelpHandler(options) {
|
|
|
188
194
|
* Body: IhelpTopicInput
|
|
189
195
|
*/
|
|
190
196
|
async function POST(request) {
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
key: c.key,
|
|
212
|
-
priority: c.priority ?? 0,
|
|
213
|
-
}));
|
|
214
|
-
}
|
|
215
|
-
else if (body.context_keys) {
|
|
216
|
-
contexts = body.context_keys.map((key, i) => ({
|
|
217
|
-
key,
|
|
218
|
-
priority: i,
|
|
197
|
+
return withContext({ correlationId: getCorrelationId() ?? generateRequestId() }, async () => {
|
|
198
|
+
try {
|
|
199
|
+
const body = (await request.json());
|
|
200
|
+
if (!body.title) {
|
|
201
|
+
throw new HazoValidationError({
|
|
202
|
+
code: 'HAZO_IHELP_VALIDATION_ERROR',
|
|
203
|
+
pkg: 'hazo_ihelp',
|
|
204
|
+
message: 'title is required',
|
|
205
|
+
});
|
|
206
|
+
}
|
|
207
|
+
logger.debug('topic.create.request', { title: body.title });
|
|
208
|
+
const adapter = await getHazoConnect();
|
|
209
|
+
const topicsService = createCrudService(adapter, 'hazo_ihelp_topics');
|
|
210
|
+
const topicId = generateUUID();
|
|
211
|
+
const now = new Date().toISOString();
|
|
212
|
+
// Build tags array
|
|
213
|
+
const tags = (body.tags ?? []).map((t) => ({
|
|
214
|
+
label: t.label,
|
|
215
|
+
variant: t.variant ?? 'default',
|
|
216
|
+
icon: t.icon ?? null,
|
|
219
217
|
}));
|
|
218
|
+
// Build contexts array — prefer explicit contexts, fall back to context_keys shorthand
|
|
219
|
+
let contexts;
|
|
220
|
+
if (body.contexts) {
|
|
221
|
+
contexts = body.contexts.map((c) => ({
|
|
222
|
+
key: c.key,
|
|
223
|
+
priority: c.priority ?? 0,
|
|
224
|
+
}));
|
|
225
|
+
}
|
|
226
|
+
else if (body.context_keys) {
|
|
227
|
+
contexts = body.context_keys.map((key, i) => ({
|
|
228
|
+
key,
|
|
229
|
+
priority: i,
|
|
230
|
+
}));
|
|
231
|
+
}
|
|
232
|
+
else {
|
|
233
|
+
contexts = [];
|
|
234
|
+
}
|
|
235
|
+
const inserted = await topicsService.insert({
|
|
236
|
+
id: topicId,
|
|
237
|
+
parent_id: body.parent_id ?? null,
|
|
238
|
+
scope_id: body.scope_id ?? null,
|
|
239
|
+
category: body.category ?? '',
|
|
240
|
+
title: body.title,
|
|
241
|
+
description: body.description ?? null,
|
|
242
|
+
content: body.content ?? null,
|
|
243
|
+
icon: body.icon ?? null,
|
|
244
|
+
sort_order: body.sort_order ?? 0,
|
|
245
|
+
is_published: body.is_published ?? false,
|
|
246
|
+
tags: JSON.stringify(tags),
|
|
247
|
+
contexts: JSON.stringify(contexts),
|
|
248
|
+
created_at: now,
|
|
249
|
+
changed_at: null,
|
|
250
|
+
});
|
|
251
|
+
const topicRow = Array.isArray(inserted) ? inserted[0] : inserted;
|
|
252
|
+
const topic = normaliseTopic(topicRow);
|
|
253
|
+
logger.info('topic.created', { topic_id: topic.id, scope_id: topic.scope_id ?? null });
|
|
254
|
+
return NextResponse.json({ success: true, data: topic }, { status: 201 });
|
|
220
255
|
}
|
|
221
|
-
|
|
222
|
-
|
|
256
|
+
catch (error) {
|
|
257
|
+
return handleError(logger, 'topic.create.failed', error);
|
|
223
258
|
}
|
|
224
|
-
|
|
225
|
-
id: topicId,
|
|
226
|
-
parent_id: body.parent_id ?? null,
|
|
227
|
-
scope_id: body.scope_id ?? null,
|
|
228
|
-
category: body.category ?? '',
|
|
229
|
-
title: body.title,
|
|
230
|
-
description: body.description ?? null,
|
|
231
|
-
content: body.content ?? null,
|
|
232
|
-
icon: body.icon ?? null,
|
|
233
|
-
sort_order: body.sort_order ?? 0,
|
|
234
|
-
is_published: body.is_published ?? false,
|
|
235
|
-
tags: JSON.stringify(tags),
|
|
236
|
-
contexts: JSON.stringify(contexts),
|
|
237
|
-
created_at: now,
|
|
238
|
-
changed_at: null,
|
|
239
|
-
});
|
|
240
|
-
const topicRow = Array.isArray(inserted) ? inserted[0] : inserted;
|
|
241
|
-
return NextResponse.json({ success: true, data: normaliseTopic(topicRow) }, { status: 201 });
|
|
242
|
-
}
|
|
243
|
-
catch (error) {
|
|
244
|
-
logger.error('[hazo_ihelp] POST error', {
|
|
245
|
-
error: error instanceof Error ? error.message : String(error),
|
|
246
|
-
});
|
|
247
|
-
return createErrorResponse('Failed to create topic', 500);
|
|
248
|
-
}
|
|
259
|
+
});
|
|
249
260
|
}
|
|
250
261
|
// ---------------------------------------------------------------------------
|
|
251
262
|
// PATCH handler — update an existing topic
|
|
@@ -257,75 +268,85 @@ export function createIhelpHandler(options) {
|
|
|
257
268
|
* Body: Partial<IhelpTopicInput>
|
|
258
269
|
*/
|
|
259
270
|
async function PATCH(request, context) {
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
patch
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
}
|
|
315
|
-
|
|
271
|
+
return withContext({ correlationId: getCorrelationId() ?? generateRequestId() }, async () => {
|
|
272
|
+
try {
|
|
273
|
+
const { id: paramId } = await context.params;
|
|
274
|
+
let id = paramId;
|
|
275
|
+
if (!id) {
|
|
276
|
+
id = request.nextUrl.searchParams.get('id') ?? undefined;
|
|
277
|
+
}
|
|
278
|
+
if (!id) {
|
|
279
|
+
throw new HazoValidationError({
|
|
280
|
+
code: 'HAZO_IHELP_VALIDATION_ERROR',
|
|
281
|
+
pkg: 'hazo_ihelp',
|
|
282
|
+
message: 'id is required',
|
|
283
|
+
});
|
|
284
|
+
}
|
|
285
|
+
const body = (await request.json());
|
|
286
|
+
logger.debug('topic.update.request', { id });
|
|
287
|
+
const adapter = await getHazoConnect();
|
|
288
|
+
const topicsService = createCrudService(adapter, 'hazo_ihelp_topics');
|
|
289
|
+
// Build the patch payload
|
|
290
|
+
const patch = { changed_at: new Date().toISOString() };
|
|
291
|
+
if (body.parent_id !== undefined)
|
|
292
|
+
patch.parent_id = body.parent_id;
|
|
293
|
+
if (body.scope_id !== undefined)
|
|
294
|
+
patch.scope_id = body.scope_id;
|
|
295
|
+
if (body.category !== undefined)
|
|
296
|
+
patch.category = body.category;
|
|
297
|
+
if (body.title !== undefined)
|
|
298
|
+
patch.title = body.title;
|
|
299
|
+
if (body.description !== undefined)
|
|
300
|
+
patch.description = body.description;
|
|
301
|
+
if (body.content !== undefined)
|
|
302
|
+
patch.content = body.content;
|
|
303
|
+
if (body.icon !== undefined)
|
|
304
|
+
patch.icon = body.icon;
|
|
305
|
+
if (body.sort_order !== undefined)
|
|
306
|
+
patch.sort_order = body.sort_order;
|
|
307
|
+
if (body.is_published !== undefined)
|
|
308
|
+
patch.is_published = body.is_published;
|
|
309
|
+
// Replace tags if provided
|
|
310
|
+
if (body.tags !== undefined) {
|
|
311
|
+
const tags = body.tags.map((t) => ({
|
|
312
|
+
label: t.label,
|
|
313
|
+
variant: t.variant ?? 'default',
|
|
314
|
+
icon: t.icon ?? null,
|
|
315
|
+
}));
|
|
316
|
+
patch.tags = JSON.stringify(tags);
|
|
317
|
+
}
|
|
318
|
+
// Replace contexts if provided
|
|
319
|
+
if (body.contexts !== undefined) {
|
|
320
|
+
const contexts = body.contexts.map((c) => ({
|
|
321
|
+
key: c.key,
|
|
322
|
+
priority: c.priority ?? 0,
|
|
323
|
+
}));
|
|
324
|
+
patch.contexts = JSON.stringify(contexts);
|
|
325
|
+
}
|
|
326
|
+
else if (body.context_keys !== undefined) {
|
|
327
|
+
const contexts = body.context_keys.map((key, i) => ({
|
|
328
|
+
key,
|
|
329
|
+
priority: i,
|
|
330
|
+
}));
|
|
331
|
+
patch.contexts = JSON.stringify(contexts);
|
|
332
|
+
}
|
|
333
|
+
const updated = await topicsService.updateById(id, patch);
|
|
334
|
+
if (!updated || updated.length === 0) {
|
|
335
|
+
throw new HazoNotFoundError({
|
|
336
|
+
code: 'HAZO_IHELP_TOPIC_NOT_FOUND',
|
|
337
|
+
pkg: 'hazo_ihelp',
|
|
338
|
+
message: 'Topic not found',
|
|
339
|
+
context: { id },
|
|
340
|
+
});
|
|
341
|
+
}
|
|
342
|
+
const topic = normaliseTopic(updated[0]);
|
|
343
|
+
logger.info('topic.updated', { topic_id: id });
|
|
344
|
+
return NextResponse.json({ success: true, data: topic });
|
|
316
345
|
}
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
return createErrorResponse('Topic not found', 404);
|
|
346
|
+
catch (error) {
|
|
347
|
+
return handleError(logger, 'topic.update.failed', error);
|
|
320
348
|
}
|
|
321
|
-
|
|
322
|
-
}
|
|
323
|
-
catch (error) {
|
|
324
|
-
logger.error('[hazo_ihelp] PATCH error', {
|
|
325
|
-
error: error instanceof Error ? error.message : String(error),
|
|
326
|
-
});
|
|
327
|
-
return createErrorResponse('Failed to update topic', 500);
|
|
328
|
-
}
|
|
349
|
+
});
|
|
329
350
|
}
|
|
330
351
|
// ---------------------------------------------------------------------------
|
|
331
352
|
// DELETE handler — remove a topic
|
|
@@ -336,27 +357,31 @@ export function createIhelpHandler(options) {
|
|
|
336
357
|
* Expects `id` as a URL search param or route segment param.
|
|
337
358
|
*/
|
|
338
359
|
async function DELETE(request, context) {
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
360
|
+
return withContext({ correlationId: getCorrelationId() ?? generateRequestId() }, async () => {
|
|
361
|
+
try {
|
|
362
|
+
const { id: paramId } = await context.params;
|
|
363
|
+
let id = paramId;
|
|
364
|
+
if (!id) {
|
|
365
|
+
id = request.nextUrl.searchParams.get('id') ?? undefined;
|
|
366
|
+
}
|
|
367
|
+
if (!id) {
|
|
368
|
+
throw new HazoValidationError({
|
|
369
|
+
code: 'HAZO_IHELP_VALIDATION_ERROR',
|
|
370
|
+
pkg: 'hazo_ihelp',
|
|
371
|
+
message: 'id is required',
|
|
372
|
+
});
|
|
373
|
+
}
|
|
374
|
+
logger.debug('topic.delete.request', { id });
|
|
375
|
+
const adapter = await getHazoConnect();
|
|
376
|
+
const topicsService = createCrudService(adapter, 'hazo_ihelp_topics');
|
|
377
|
+
await topicsService.deleteById(id);
|
|
378
|
+
logger.info('topic.deleted', { topic_id: id });
|
|
379
|
+
return NextResponse.json({ success: true, data: null });
|
|
344
380
|
}
|
|
345
|
-
|
|
346
|
-
return
|
|
381
|
+
catch (error) {
|
|
382
|
+
return handleError(logger, 'topic.delete.failed', error);
|
|
347
383
|
}
|
|
348
|
-
|
|
349
|
-
const adapter = await getHazoConnect();
|
|
350
|
-
const topicsService = createCrudService(adapter, 'hazo_ihelp_topics');
|
|
351
|
-
await topicsService.deleteById(id);
|
|
352
|
-
return NextResponse.json({ success: true, data: null });
|
|
353
|
-
}
|
|
354
|
-
catch (error) {
|
|
355
|
-
logger.error('[hazo_ihelp] DELETE error', {
|
|
356
|
-
error: error instanceof Error ? error.message : String(error),
|
|
357
|
-
});
|
|
358
|
-
return createErrorResponse('Failed to delete topic', 500);
|
|
359
|
-
}
|
|
384
|
+
});
|
|
360
385
|
}
|
|
361
386
|
return { GET, POST, PATCH, DELETE };
|
|
362
387
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create_ihelp_handler.js","sourceRoot":"","sources":["../../src/api/create_ihelp_handler.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"create_ihelp_handler.js","sourceRoot":"","sources":["../../src/api/create_ihelp_handler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,OAAO,EAAe,YAAY,EAAE,MAAM,aAAa,CAAC;AACxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EACL,SAAS,EACT,mBAAmB,EACnB,iBAAiB,EACjB,iBAAiB,EACjB,gBAAgB,EAChB,WAAW,GACZ,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,UAAU,EAAE,UAAU,EAAe,MAAM,oBAAoB,CAAC;AAUzE,+EAA+E;AAC/E,mBAAmB;AACnB,+EAA+E;AAE/E,4FAA4F;AAC5F,SAAS,YAAY;IACnB,OAAO,iBAAiB,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACtC,CAAC;AAED,2CAA2C;AAC3C,SAAS,mBAAmB,CAC1B,KAAa,EACb,MAAc;IAEd,OAAO,YAAY,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;AAClE,CAAC;AAED,mFAAmF;AACnF,SAAS,WAAW,CAClB,MAAc,EACd,KAAa,EACb,KAAc;IAEd,IAAI,SAAS,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;QACxB,MAAM,MAAM,GAAG,KAAK,CAAC,UAAU,IAAI,GAAG,CAAC;QACvC,IAAI,MAAM,IAAI,GAAG,EAAE,CAAC;YAClB,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QAC5F,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QACnE,CAAC;QACD,OAAO,mBAAmB,CAAC,KAAK,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IACpD,CAAC;IACD,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IACvF,OAAO,mBAAmB,CAAC,uBAAuB,EAAE,GAAG,CAAC,CAAC;AAC3D,CAAC;AAED,uEAAuE;AACvE,SAAS,eAAe,CAAI,KAAc;IACxC,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,IAAI,CAAC;YACH,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC3B,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,EAAkB,CAAC;QAC5B,CAAC;IACH,CAAC;IACD,OAAO,CAAC,KAAK,IAAI,EAAE,CAAM,CAAC;AAC5B,CAAC;AAWD,+EAA+E;AAC/E,kBAAkB;AAClB,+EAA+E;AAE/E;;;;;GAKG;AACH,MAAM,UAAU,kBAAkB,CAAC,OAAkC;IACnE,MAAM,EAAE,cAAc,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC;IAC9C,IAAI,SAAS,EAAE,CAAC;QACd,6DAA6D;QAC7D,UAAU,CAAC,SAAS,EAAY,CAAC,CAAC;IACpC,CAAC;IACD,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;IAE5B,8EAA8E;IAC9E,6DAA6D;IAC7D,8EAA8E;IAE9E,SAAS,cAAc,CAAC,GAAkB;QACxC,MAAM,IAAI,GAAG,eAAe,CAAa,GAAG,CAAC,IAAI,CAAC,CAAC;QACnD,MAAM,QAAQ,GAAG,eAAe,CAAiB,GAAG,CAAC,QAAQ,CAAC,CAAC;QAE/D,OAAO;YACL,GAAG,GAAG;YACN,IAAI;YACJ,QAAQ;YACR,YAAY,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;SACzC,CAAC;IACJ,CAAC;IAED,8EAA8E;IAC9E,0EAA0E;IAC1E,8EAA8E;IAE9E;;;;;;;;;OASG;IACH,KAAK,UAAU,GAAG,CAChB,OAAoB;QAEpB,OAAO,WAAW,CAAC,EAAE,aAAa,EAAE,gBAAgB,EAAE,IAAI,iBAAiB,EAAE,EAAE,EAAE,KAAK,IAAI,EAAE;YAC1F,IAAI,CAAC;gBACH,MAAM,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC;gBAClD,MAAM,EAAE,GAAG,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBAClC,MAAM,WAAW,GAAG,YAAY,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;gBACpD,MAAM,QAAQ,GAAG,YAAY,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;gBAC9C,MAAM,QAAQ,GAAG,YAAY,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;gBAC9C,MAAM,MAAM,GAAG,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;gBAE1C,MAAM,CAAC,KAAK,CAAC,oBAAoB,EAAE,EAAE,EAAE,EAAE,WAAW,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;gBAEpF,MAAM,OAAO,GAAG,MAAM,cAAc,EAAE,CAAC;gBACvC,MAAM,aAAa,GAAG,iBAAiB,CAAgB,OAAO,EAAE,mBAAmB,CAAC,CAAC;gBAErF,+BAA+B;gBAC/B,IAAI,EAAE,EAAE,CAAC;oBACP,MAAM,KAAK,GAAG,MAAM,aAAa,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;oBAC/C,IAAI,CAAC,KAAK,EAAE,CAAC;wBACX,MAAM,IAAI,iBAAiB,CAAC;4BAC1B,IAAI,EAAE,4BAA4B;4BAClC,GAAG,EAAE,YAAY;4BACjB,OAAO,EAAE,iBAAiB;4BAC1B,OAAO,EAAE,EAAE,EAAE,EAAE;yBAChB,CAAC,CAAC;oBACL,CAAC;oBACD,OAAO,YAAY,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,cAAc,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;gBAC3E,CAAC;gBAED,+BAA+B;gBAC/B,IAAI,WAAW,EAAE,CAAC;oBAChB,8DAA8D;oBAC9D,qDAAqD;oBACrD,MAAM,IAAI,GAAG,MAAM,aAAa,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE;wBAC3C,IAAI,CAAC,GAAG,EAAE,CAAC;wBACX,IAAI,QAAQ,EAAE,CAAC;4BACb,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC;gCACZ,EAAE,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE;gCAClD,EAAE,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE;6BACvD,CAAC,CAAC;wBACL,CAAC;wBACD,OAAO,CAAC,CAAC;oBACX,CAAC,CAAC,CAAC;oBAEH,MAAM,OAAO,GAAG,IAAI;yBACjB,GAAG,CAAC,cAAc,CAAC;yBACnB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,WAAW,CAAC,CAAC;yBAC5D,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;wBACb,MAAM,EAAE,GAAG,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,WAAW,CAAC,EAAE,QAAQ,IAAI,CAAC,CAAC;wBACxE,MAAM,EAAE,GAAG,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,WAAW,CAAC,EAAE,QAAQ,IAAI,CAAC,CAAC;wBACxE,OAAO,EAAE,GAAG,EAAE,CAAC;oBACjB,CAAC,CAAC,CAAC;oBAEL,OAAO,YAAY,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;gBAC7D,CAAC;gBAED,uCAAuC;gBACvC,MAAM,IAAI,GAAG,MAAM,aAAa,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE;oBAC3C,IAAI,CAAC,GAAG,EAAE,CAAC;oBAEX,IAAI,QAAQ,EAAE,CAAC;wBACb,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC;4BACZ,EAAE,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE;4BAClD,EAAE,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE;yBACvD,CAAC,CAAC;oBACL,CAAC;oBAED,IAAI,QAAQ,EAAE,CAAC;wBACb,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,UAAU,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;oBAC1C,CAAC;oBAED,IAAI,MAAM,EAAE,CAAC;wBACX,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC;4BACZ,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,MAAM,GAAG,EAAE;4BAC3D,EAAE,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,MAAM,GAAG,EAAE;yBAClE,CAAC,CAAC;oBACL,CAAC;oBAED,OAAO,CAAC,CAAC;gBACX,CAAC,CAAC,CAAC;gBAEH,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;gBAE3C,OAAO,YAAY,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC;YAC/D,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,WAAW,CAAC,MAAM,EAAE,mBAAmB,EAAE,KAAK,CAAC,CAAC;YACzD,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,8EAA8E;IAC9E,oCAAoC;IACpC,8EAA8E;IAE9E;;;;OAIG;IACH,KAAK,UAAU,IAAI,CACjB,OAAoB;QAEpB,OAAO,WAAW,CAAC,EAAE,aAAa,EAAE,gBAAgB,EAAE,IAAI,iBAAiB,EAAE,EAAE,EAAE,KAAK,IAAI,EAAE;YAC1F,IAAI,CAAC;gBACH,MAAM,IAAI,GAAG,CAAC,MAAM,OAAO,CAAC,IAAI,EAAE,CAAoB,CAAC;gBAEvD,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;oBAChB,MAAM,IAAI,mBAAmB,CAAC;wBAC5B,IAAI,EAAE,6BAA6B;wBACnC,GAAG,EAAE,YAAY;wBACjB,OAAO,EAAE,mBAAmB;qBAC7B,CAAC,CAAC;gBACL,CAAC;gBAED,MAAM,CAAC,KAAK,CAAC,sBAAsB,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;gBAE5D,MAAM,OAAO,GAAG,MAAM,cAAc,EAAE,CAAC;gBACvC,MAAM,aAAa,GAAG,iBAAiB,CAAgB,OAAO,EAAE,mBAAmB,CAAC,CAAC;gBAErF,MAAM,OAAO,GAAG,YAAY,EAAE,CAAC;gBAC/B,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;gBAErC,mBAAmB;gBACnB,MAAM,IAAI,GAAe,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;oBACrD,KAAK,EAAE,CAAC,CAAC,KAAK;oBACd,OAAO,EAAE,CAAC,CAAC,OAAO,IAAI,SAAS;oBAC/B,IAAI,EAAE,CAAC,CAAC,IAAI,IAAI,IAAI;iBACrB,CAAC,CAAC,CAAC;gBAEJ,uFAAuF;gBACvF,IAAI,QAAwB,CAAC;gBAC7B,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;oBAClB,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;wBACnC,GAAG,EAAE,CAAC,CAAC,GAAG;wBACV,QAAQ,EAAE,CAAC,CAAC,QAAQ,IAAI,CAAC;qBAC1B,CAAC,CAAC,CAAC;gBACN,CAAC;qBAAM,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;oBAC7B,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;wBAC5C,GAAG;wBACH,QAAQ,EAAE,CAAC;qBACZ,CAAC,CAAC,CAAC;gBACN,CAAC;qBAAM,CAAC;oBACN,QAAQ,GAAG,EAAE,CAAC;gBAChB,CAAC;gBAED,MAAM,QAAQ,GAAG,MAAM,aAAa,CAAC,MAAM,CAAC;oBAC1C,EAAE,EAAE,OAAO;oBACX,SAAS,EAAE,IAAI,CAAC,SAAS,IAAI,IAAI;oBACjC,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAAI,IAAI;oBAC/B,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAAI,EAAE;oBAC7B,KAAK,EAAE,IAAI,CAAC,KAAK;oBACjB,WAAW,EAAE,IAAI,CAAC,WAAW,IAAI,IAAI;oBACrC,OAAO,EAAE,IAAI,CAAC,OAAO,IAAI,IAAI;oBAC7B,IAAI,EAAE,IAAI,CAAC,IAAI,IAAI,IAAI;oBACvB,UAAU,EAAE,IAAI,CAAC,UAAU,IAAI,CAAC;oBAChC,YAAY,EAAE,IAAI,CAAC,YAAY,IAAI,KAAK;oBACxC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;oBAC1B,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC;oBAClC,UAAU,EAAE,GAAG;oBACf,UAAU,EAAE,IAAI;iBACjB,CAAC,CAAC;gBAEH,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;gBAClE,MAAM,KAAK,GAAG,cAAc,CAAC,QAAQ,CAAC,CAAC;gBAEvC,MAAM,CAAC,IAAI,CAAC,eAAe,EAAE,EAAE,QAAQ,EAAE,KAAK,CAAC,EAAE,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,IAAI,IAAI,EAAE,CAAC,CAAC;gBAEvF,OAAO,YAAY,CAAC,IAAI,CACtB,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,EAC9B,EAAE,MAAM,EAAE,GAAG,EAAE,CAChB,CAAC;YACJ,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,WAAW,CAAC,MAAM,EAAE,qBAAqB,EAAE,KAAK,CAAC,CAAC;YAC3D,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,8EAA8E;IAC9E,2CAA2C;IAC3C,8EAA8E;IAE9E;;;;;OAKG;IACH,KAAK,UAAU,KAAK,CAClB,OAAoB,EACpB,OAA6C;QAE7C,OAAO,WAAW,CAAC,EAAE,aAAa,EAAE,gBAAgB,EAAE,IAAI,iBAAiB,EAAE,EAAE,EAAE,KAAK,IAAI,EAAE;YAC1F,IAAI,CAAC;gBACH,MAAM,EAAE,EAAE,EAAE,OAAO,EAAE,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC;gBAC7C,IAAI,EAAE,GAAuB,OAAO,CAAC;gBACrC,IAAI,CAAC,EAAE,EAAE,CAAC;oBACR,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,SAAS,CAAC;gBAC3D,CAAC;gBAED,IAAI,CAAC,EAAE,EAAE,CAAC;oBACR,MAAM,IAAI,mBAAmB,CAAC;wBAC5B,IAAI,EAAE,6BAA6B;wBACnC,GAAG,EAAE,YAAY;wBACjB,OAAO,EAAE,gBAAgB;qBAC1B,CAAC,CAAC;gBACL,CAAC;gBAED,MAAM,IAAI,GAAG,CAAC,MAAM,OAAO,CAAC,IAAI,EAAE,CAA6B,CAAC;gBAEhE,MAAM,CAAC,KAAK,CAAC,sBAAsB,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;gBAE7C,MAAM,OAAO,GAAG,MAAM,cAAc,EAAE,CAAC;gBACvC,MAAM,aAAa,GAAG,iBAAiB,CAAgB,OAAO,EAAE,mBAAmB,CAAC,CAAC;gBAErF,0BAA0B;gBAC1B,MAAM,KAAK,GAA4B,EAAE,UAAU,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC;gBAChF,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS;oBAAE,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;gBACnE,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS;oBAAE,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;gBAChE,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS;oBAAE,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;gBAChE,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS;oBAAE,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;gBACvD,IAAI,IAAI,CAAC,WAAW,KAAK,SAAS;oBAAE,KAAK,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;gBACzE,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS;oBAAE,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;gBAC7D,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS;oBAAE,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;gBACpD,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS;oBAAE,KAAK,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;gBACtE,IAAI,IAAI,CAAC,YAAY,KAAK,SAAS;oBAAE,KAAK,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;gBAE5E,2BAA2B;gBAC3B,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;oBAC5B,MAAM,IAAI,GAAe,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;wBAC7C,KAAK,EAAE,CAAC,CAAC,KAAK;wBACd,OAAO,EAAE,CAAC,CAAC,OAAO,IAAI,SAAS;wBAC/B,IAAI,EAAE,CAAC,CAAC,IAAI,IAAI,IAAI;qBACrB,CAAC,CAAC,CAAC;oBACJ,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;gBACpC,CAAC;gBAED,+BAA+B;gBAC/B,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;oBAChC,MAAM,QAAQ,GAAmB,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;wBACzD,GAAG,EAAE,CAAC,CAAC,GAAG;wBACV,QAAQ,EAAE,CAAC,CAAC,QAAQ,IAAI,CAAC;qBAC1B,CAAC,CAAC,CAAC;oBACJ,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;gBAC5C,CAAC;qBAAM,IAAI,IAAI,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;oBAC3C,MAAM,QAAQ,GAAmB,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;wBAClE,GAAG;wBACH,QAAQ,EAAE,CAAC;qBACZ,CAAC,CAAC,CAAC;oBACJ,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;gBAC5C,CAAC;gBAED,MAAM,OAAO,GAAG,MAAM,aAAa,CAAC,UAAU,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;gBAC1D,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBACrC,MAAM,IAAI,iBAAiB,CAAC;wBAC1B,IAAI,EAAE,4BAA4B;wBAClC,GAAG,EAAE,YAAY;wBACjB,OAAO,EAAE,iBAAiB;wBAC1B,OAAO,EAAE,EAAE,EAAE,EAAE;qBAChB,CAAC,CAAC;gBACL,CAAC;gBAED,MAAM,KAAK,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;gBACzC,MAAM,CAAC,IAAI,CAAC,eAAe,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC;gBAE/C,OAAO,YAAY,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;YAC3D,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,WAAW,CAAC,MAAM,EAAE,qBAAqB,EAAE,KAAK,CAAC,CAAC;YAC3D,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,8EAA8E;IAC9E,kCAAkC;IAClC,8EAA8E;IAE9E;;;;OAIG;IACH,KAAK,UAAU,MAAM,CACnB,OAAoB,EACpB,OAA6C;QAE7C,OAAO,WAAW,CAAC,EAAE,aAAa,EAAE,gBAAgB,EAAE,IAAI,iBAAiB,EAAE,EAAE,EAAE,KAAK,IAAI,EAAE;YAC1F,IAAI,CAAC;gBACH,MAAM,EAAE,EAAE,EAAE,OAAO,EAAE,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC;gBAC7C,IAAI,EAAE,GAAuB,OAAO,CAAC;gBACrC,IAAI,CAAC,EAAE,EAAE,CAAC;oBACR,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,SAAS,CAAC;gBAC3D,CAAC;gBAED,IAAI,CAAC,EAAE,EAAE,CAAC;oBACR,MAAM,IAAI,mBAAmB,CAAC;wBAC5B,IAAI,EAAE,6BAA6B;wBACnC,GAAG,EAAE,YAAY;wBACjB,OAAO,EAAE,gBAAgB;qBAC1B,CAAC,CAAC;gBACL,CAAC;gBAED,MAAM,CAAC,KAAK,CAAC,sBAAsB,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;gBAE7C,MAAM,OAAO,GAAG,MAAM,cAAc,EAAE,CAAC;gBACvC,MAAM,aAAa,GAAG,iBAAiB,CAAgB,OAAO,EAAE,mBAAmB,CAAC,CAAC;gBAErF,MAAM,aAAa,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;gBAEnC,MAAM,CAAC,IAAI,CAAC,eAAe,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC;gBAE/C,OAAO,YAAY,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;YAC1D,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,WAAW,CAAC,MAAM,EAAE,qBAAqB,EAAE,KAAK,CAAC,CAAC;YAC3D,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;AACtC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"image_upload_handler.d.ts","sourceRoot":"","sources":["../../src/api/image_upload_handler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"image_upload_handler.d.ts","sourceRoot":"","sources":["../../src/api/image_upload_handler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAoExD,wBAAgB,wBAAwB,CAAC,OAAO,CAAC,EAAE;IACjD,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,GAAG;IAAE,IAAI,EAAE,CAAC,OAAO,EAAE,WAAW,KAAK,OAAO,CAAC,YAAY,CAAC,CAAA;CAAE,CA2H5D"}
|