Skip to content

Commit 3cf7fef

Browse files
iiio2ghostdevv
andauthored
chore: fix auth error message (#1024)
Co-authored-by: Willow (GHOST) <ghostdevbusiness@gmail.com>
1 parent 79a62fa commit 3cf7fef

File tree

4 files changed

+12
-1
lines changed

4 files changed

+12
-1
lines changed

app/error.vue

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,8 @@ const status = computed(() => props.error.statusCode || 500)
99
const statusText = computed(() => {
1010
if (props.error.statusMessage) return props.error.statusMessage
1111
switch (status.value) {
12+
case 401:
13+
return 'Unauthorized'
1214
case 404:
1315
return 'Page not found'
1416
case 500:

server/api/auth/atproto.get.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -108,6 +108,7 @@ export default defineEventHandler(async event => {
108108

109109
return handleApiError(error, {
110110
statusCode: 401,
111+
statusMessage: 'Unauthorized',
111112
message: `${message}. Please login and try again.`,
112113
})
113114
}

server/utils/error-handler.ts

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,14 @@ import type { ErrorOptions } from '#shared/types/error'
77
* Handles H3 errors, Valibot, and fallbacks in that order
88
*/
99
export function handleApiError(error: unknown, fallback: ErrorOptions): never {
10-
// If already a known Nuxt/H3 Error, re-throw
10+
// If already a known Nuxt/H3 Error, apply fallback only when the error has a generic 500 status
1111
if (isError(error)) {
12+
if (error.statusCode === 500 && fallback.statusCode) {
13+
error.statusCode = fallback.statusCode
14+
}
15+
if (error.statusMessage === 'Server Error' && fallback.statusMessage) {
16+
error.statusMessage = fallback.statusMessage
17+
}
1218
throw error
1319
}
1420

@@ -24,6 +30,7 @@ export function handleApiError(error: unknown, fallback: ErrorOptions): never {
2430
// Generic fallback
2531
throw createError({
2632
statusCode: fallback.statusCode ?? 502,
33+
statusMessage: fallback.statusMessage,
2734
message: fallback.message,
2835
})
2936
}

shared/types/error.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
export interface ErrorOptions {
22
message: string
33
statusCode?: number
4+
statusMessage?: string
45
}

0 commit comments

Comments
 (0)