Fix translation error

When there is body, the method has to be `post`
This commit is contained in:
Zhiyuan Zheng 2021-12-08 23:11:51 +01:00
parent 6c6dc0ce6a
commit d2ce0aafe8
3 changed files with 6 additions and 20 deletions

View File

@ -59,7 +59,7 @@ const apiGeneral = async <T = unknown>({
})
.catch(error => {
if (sentry) {
Sentry.Native.setExtras(error.response)
Sentry.Native.setExtras(error.response || error.request)
Sentry.Native.captureException(error)
}

View File

@ -16,7 +16,7 @@ export type Params = {
sentry?: boolean
}
export const TOOOT_API_DOMAIN = __DEV__ ? 'testapi.tooot.app' : 'testapi.tooot.app'
export const TOOOT_API_DOMAIN = __DEV__ ? 'testapi.tooot.app' : 'api.tooot.app'
const apiTooot = async <T = unknown>({
method,
@ -57,7 +57,7 @@ const apiTooot = async <T = unknown>({
})
.catch(error => {
if (sentry) {
Sentry.Native.setExtras(error.response)
Sentry.Native.setExtras(error.response || error.request)
Sentry.Native.captureException(error)
}

View File

@ -1,7 +1,6 @@
import apiTooot from '@api/tooot'
import haptics from '@components/haptics'
import { AxiosError } from 'axios'
import * as Crypto from 'expo-crypto'
import { useQuery, UseQueryOptions } from 'react-query'
type Translations = {
@ -13,7 +12,6 @@ type Translations = {
export type QueryKeyTranslate = [
'Translate',
{
uri: string
source: string
target: string
text: string[]
@ -21,23 +19,11 @@ export type QueryKeyTranslate = [
]
const queryFunction = async ({ queryKey }: { queryKey: QueryKeyTranslate }) => {
const { uri, source, target, text } = queryKey[1]
const uriEncoded = await Crypto.digestStringAsync(
Crypto.CryptoDigestAlgorithm.SHA256,
uri.replace(/https?:\/\//, ''),
{ encoding: Crypto.CryptoEncoding.HEX }
)
const original = await Crypto.digestStringAsync(
Crypto.CryptoDigestAlgorithm.SHA256,
JSON.stringify({ source, text }),
{ encoding: Crypto.CryptoEncoding.HEX }
)
const { source, target, text } = queryKey[1]
const res = await apiTooot<Translations>({
method: 'get',
url: '/translate',
headers: { original },
method: 'post',
url: 'translate',
body: { source, target, text }
})
haptics('Light')