Skip to content

Commit d6853ac

Browse files
committed
Lock / Unlock & bank logo
1 parent 67935ee commit d6853ac

8 files changed

Lines changed: 12 additions & 35 deletions

File tree

src/lib/utils/errorHandler.ts

Lines changed: 1 addition & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -57,11 +57,6 @@ export async function extractErrorFromResponse(
5757
// Store full error for logging
5858
details.fullError = errorData;
5959

60-
// If we have an error code, prepend it to the message
61-
if (details.code && !details.message.includes(details.code)) {
62-
details.message = `${details.code}: ${details.message}`;
63-
}
64-
6560
} catch (parseError) {
6661
// If JSON parsing fails, try to get text response
6762
try {
@@ -114,14 +109,7 @@ export function extractErrorMessage(
114109
* @returns string - Formatted error message
115110
*/
116111
export function formatErrorForDisplay(details: OBPErrorDetails): string {
117-
let message = details.message;
118-
119-
// Add status code if not already in message
120-
if (details.status && !message.includes(details.status.toString())) {
121-
message = `${message} (Status: ${details.status})`;
122-
}
123-
124-
return message;
112+
return details.message;
125113
}
126114

127115
/**

src/routes/(protected)/abac/rules/[rule_id]/edit/+page.svelte

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -319,8 +319,8 @@
319319
} else {
320320
validationStatus = "invalid";
321321
validationError =
322-
result.error || result.message || "Rule validation failed";
323-
validationDetails = result;
322+
result.message || "Rule validation failed";
323+
validationDetails = null;
324324
}
325325
} catch (err) {
326326
validationStatus = "invalid";

src/routes/(protected)/banks/+page.svelte

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -210,7 +210,7 @@
210210
title="Set {bank.full_name || bank.bank_id} as current bank"
211211
onclick={() => currentBank.select(bank)}
212212
>
213-
{#if bank.logo}
213+
{#if bank.logo && !bank.logo.includes('example.com')}
214214
<img
215215
src={bank.logo}
216216
alt="{bank.full_name} logo"

src/routes/(protected)/banks/[bankId]/+page.svelte

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -92,7 +92,7 @@
9292

9393
<!-- Header -->
9494
<div class="mb-6 flex items-start gap-6">
95-
{#if bank.logo}
95+
{#if bank.logo && !bank.logo.includes('example.com')}
9696
<img
9797
src={bank.logo}
9898
alt="{bank.full_name} logo"

src/routes/(protected)/rbac/banks/+page.svelte

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -131,7 +131,7 @@
131131
{#each filteredBanks as bank}
132132
<div class="bank-card">
133133
<div class="bank-header">
134-
{#if bank.logo}
134+
{#if bank.logo && !bank.logo.includes('example.com')}
135135
<img src={bank.logo} alt={bank.short_name} class="bank-logo" />
136136
{:else}
137137
<div class="bank-logo-placeholder">

src/routes/(protected)/users/[provider]/[username]/+page.svelte

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -86,10 +86,10 @@
8686
<div class="info-value">
8787
{#if user.is_locked}
8888
<span class="badge badge-error">Yes</span>
89-
<a href="/users/{encodeURIComponent(data.provider)}/{encodeURIComponent(data.username)}/unlock" class="action-link">Unlock User</a>
89+
<a href="/users/{encodeURIComponent(data.provider)}/{encodeURIComponent(data.username)}/unlock" class="action-link" style="color: #059669;">Unlock User</a>
9090
{:else}
9191
<span class="badge badge-success">No</span>
92-
<a href="/users/{encodeURIComponent(data.provider)}/{encodeURIComponent(data.username)}/lock" class="action-link">Lock User</a>
92+
<a href="/users/{encodeURIComponent(data.provider)}/{encodeURIComponent(data.username)}/lock" class="action-link" style="color: #dc2626;">Lock User</a>
9393
{/if}
9494
</div>
9595
</div>
@@ -481,9 +481,6 @@
481481
text-decoration: underline;
482482
}
483483
484-
:global([data-mode="dark"]) .action-link {
485-
color: rgb(var(--color-primary-400));
486-
}
487484
488485
.empty-state {
489486
text-align: center;

src/routes/(protected)/users/[user_id]/+page.svelte

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -90,12 +90,12 @@
9090
{#if user.is_locked}
9191
<span class="badge badge-error">Yes</span>
9292
{#if user.provider && user.username}
93-
<a href="/users/{encodeURIComponent(user.provider)}/{encodeURIComponent(user.username)}/unlock" class="action-link">Unlock User</a>
93+
<a href="/users/{encodeURIComponent(user.provider)}/{encodeURIComponent(user.username)}/unlock" class="action-link" style="color: #059669;">Unlock User</a>
9494
{/if}
9595
{:else}
9696
<span class="badge badge-success">No</span>
9797
{#if user.provider && user.username}
98-
<a href="/users/{encodeURIComponent(user.provider)}/{encodeURIComponent(user.username)}/lock" class="action-link">Lock User</a>
98+
<a href="/users/{encodeURIComponent(user.provider)}/{encodeURIComponent(user.username)}/lock" class="action-link" style="color: #dc2626;">Lock User</a>
9999
{/if}
100100
{/if}
101101
</div>
@@ -508,9 +508,6 @@
508508
text-decoration: underline;
509509
}
510510
511-
:global([data-mode="dark"]) .action-link {
512-
color: rgb(var(--color-primary-400));
513-
}
514511
515512
.system-wide-badge {
516513
display: inline-block;

src/routes/api/abac-rules/validate/+server.ts

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -60,22 +60,17 @@ export const POST: RequestHandler = async ({ request, locals }) => {
6060
logger.debug("OBP API response:", JSON.stringify(response, null, 2));
6161

6262
// OBP API response format should include validation result
63+
// Only return the OBP error message verbatim
6364
return json({
6465
valid: response.valid ?? true,
65-
error: response.error || null,
6666
message: response.message || null,
67-
details: response.details || null,
6867
});
6968
} catch (err) {
7069
logger.error("Error validating ABAC rule:", err);
7170

72-
// Return full OBP error without sanitization
7371
return json({
7472
valid: false,
75-
error: err instanceof Error ? err.message : String(err),
76-
message: "Rule validation failed",
77-
obpError: err,
78-
fullError: JSON.stringify(err, Object.getOwnPropertyNames(err)),
73+
message: err instanceof Error ? err.message : String(err),
7974
});
8075
}
8176
};

0 commit comments

Comments
 (0)