Merge pull request #386 from cloudflare/sven/alias-error-handling

error handling in alias API
pull/363/head
Sven Sauleau 2023-03-08 16:44:35 +01:00 zatwierdzone przez GitHub
commit cf99aebf03
Nie znaleziono w bazie danych klucza dla tego podpisu
ID klucza GPG: 4AEE18F83AFDEB23
2 zmienionych plików z 7 dodań i 8 usunięć

Wyświetl plik

@ -1,5 +1,4 @@
import { component$, useStore, useSignal, $ } from '@builder.io/qwik'
import { getErrorHtml } from '~/utils/getErrorHtml/getErrorHtml'
import { getDatabase } from 'wildebeest/backend/src/database'
import { action$, Form, zod$, z } from '@builder.io/qwik-city'
import { addAlias } from 'wildebeest/backend/src/accounts/alias'
@ -8,23 +7,23 @@ const zodSchema = zod$({
alias: z.string().min(1),
})
export const action = action$(async (data, { platform, html }) => {
export const action = action$(async (data, { platform, json }) => {
const db = await getDatabase(platform)
const connectedActor = platform.data.connectedActor
if (connectedActor === null) {
throw html(500, getErrorHtml('user not present in context'))
throw json(500, { error: 'user not present in context' })
}
let success = false
try {
await addAlias(db, data.alias, connectedActor)
success = true
} catch (e: unknown) {
success = false
const error = e as { stack: string; cause: string }
console.error(error.stack, error.cause)
throw json(500, { error: 'failed to add alias' })
}
return {
success,
success: true,
}
}, zodSchema)

Wyświetl plik

@ -16,7 +16,7 @@ export const statusesLoader = loader$<Promise<MastodonStatus[]>>(async ({ platfo
return JSON.parse(results) as MastodonStatus[]
} catch (e: unknown) {
const error = e as { stack: string; cause: string }
console.warn(error.stack, error.cause)
console.error(error.stack, error.cause)
throw html(500, getErrorHtml('The timeline is unavailable, please try again later'))
}
})