Skip to content

Commit 2ae1262

Browse files
committed
better feedback on delete entity
1 parent 6050824 commit 2ae1262

File tree

3 files changed

+49
-3
lines changed

3 files changed

+49
-3
lines changed

src/routes/(protected)/dynamic-entities/system/+page.svelte

Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -62,13 +62,27 @@
6262
});
6363
6464
if (!response.ok) {
65-
throw new Error("Failed to delete entity");
65+
let errorMessage = "Failed to delete entity";
66+
try {
67+
const errorData = await response.json();
68+
errorMessage = errorData.error || errorData.message || errorMessage;
69+
console.error("Delete error response:", errorData);
70+
} catch (e) {
71+
const text = await response.text();
72+
console.error("Delete error text:", text);
73+
errorMessage = `${errorMessage}: ${response.status} ${response.statusText}`;
74+
}
75+
throw new Error(errorMessage);
6676
}
6777
6878
alert("System dynamic entity deleted successfully");
6979
window.location.reload();
7080
} catch (error) {
71-
alert("Failed to delete system dynamic entity");
81+
const fullMessage =
82+
error instanceof Error
83+
? error.message
84+
: "Failed to delete system dynamic entity";
85+
alert(`Failed to delete system dynamic entity:\n\n${fullMessage}`);
7286
console.error("Delete error:", error);
7387
}
7488
}

src/routes/(protected)/dynamic-entities/system/[id]/crud/+page.svelte

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -650,6 +650,11 @@
650650
<table class="min-w-full divide-y divide-gray-200 dark:divide-gray-700">
651651
<thead class="bg-gray-50 dark:bg-gray-900">
652652
<tr>
653+
<th
654+
class="px-6 py-3 text-left text-xs font-medium uppercase tracking-wider text-gray-500 dark:text-gray-400"
655+
>
656+
ID
657+
</th>
653658
{#each Object.keys(properties).slice(0, 4) as fieldName}
654659
<th
655660
class="px-6 py-3 text-left text-xs font-medium uppercase tracking-wider text-gray-500 dark:text-gray-400"
@@ -669,7 +674,13 @@
669674
>
670675
{#each filteredRecords as record, index}
671676
{@const recordData = getRecordData(record)}
677+
{@const recordId = getRecordId(record)}
672678
<tr class="hover:bg-gray-50 dark:hover:bg-gray-700/50">
679+
<td
680+
class="max-w-xs truncate px-6 py-4 text-sm font-mono text-gray-600 dark:text-gray-400"
681+
>
682+
{recordId || "-"}
683+
</td>
673684
{#each Object.keys(properties).slice(0, 4) as fieldName}
674685
<td
675686
class="max-w-xs truncate px-6 py-4 text-sm text-gray-900 dark:text-gray-100"
@@ -1063,6 +1074,14 @@
10631074

10641075
<div class="bg-white p-6 dark:bg-gray-800">
10651076
<dl class="space-y-4">
1077+
<div>
1078+
<dt class="text-sm font-medium text-gray-500 dark:text-gray-400">
1079+
ID
1080+
</dt>
1081+
<dd class="mt-1 text-sm font-mono text-gray-600 dark:text-gray-400">
1082+
{getRecordId(selectedRecord) || "-"}
1083+
</dd>
1084+
</div>
10661085
{#each Object.entries(properties) as [fieldName, fieldDef]}
10671086
{@const recordData = getRecordData(selectedRecord)}
10681087
<div>

src/routes/api/dynamic-entities/[id]/+server.ts

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -143,24 +143,37 @@ export const DELETE: RequestHandler = async ({ params, locals }) => {
143143
logger.info(`Deleting dynamic entity: ${id}`);
144144

145145
const endpoint = `/obp/v4.0.0/management/system-dynamic-entities/${id}`;
146+
logger.info(`Calling DELETE ${endpoint}`);
146147
const response = await obp_requests.delete(endpoint, accessToken);
147148

148149
logger.info("Dynamic entity deleted successfully");
149150
return json(response);
150151
} catch (err) {
151152
logger.error("Error deleting dynamic entity:", err);
152153

154+
// Log full error details
155+
if (err && typeof err === "object") {
156+
logger.error("Error details:", JSON.stringify(err, null, 2));
157+
}
158+
153159
let errorMessage = "Failed to delete dynamic entity";
154160
let obpErrorCode = undefined;
161+
let detailedError = undefined;
155162

156163
if (err instanceof Error) {
157164
errorMessage = err.message;
158165
if ("obpErrorCode" in err) {
159166
obpErrorCode = (err as any).obpErrorCode;
160167
}
168+
if ("response" in err) {
169+
detailedError = (err as any).response;
170+
}
161171
}
162172

163-
const errorResponse: any = { error: errorMessage };
173+
const errorResponse: any = {
174+
error: errorMessage,
175+
details: detailedError,
176+
};
164177
if (obpErrorCode) {
165178
errorResponse.obpErrorCode = obpErrorCode;
166179
}

0 commit comments

Comments
 (0)