Skip to content

Commit 468681e

Browse files
authored
BUGFIX. Изменения в auth/decorators.ts. Для корректной работы AuthApi.getMe() (#349)
## Изменения Для корректной работы AuthApi.getMe() (и, соответственно страницы ProfileView) нужен ответ в формате { data, error, response } вместо {response}. Я меняю функцию showErrorToast. ## Детали реализации Меняю showErrorToast так, чтобы она возвращала { data, error, response } вместо {response ## Check-List <!-- После сохранения у следующих полей появятся галочки, которые нужно проставить мышкой --> - [ ] Вы проверили свой код перед отправкой запроса? - [ ] Вы написали тесты к реализованным функциям? - [ ] Вы не забыли применить форматирование `black` и `isort` для _Back-End_ или `Prettier` для _Front-End_?
1 parent 8d9aa33 commit 468681e

1 file changed

Lines changed: 11 additions & 7 deletions

File tree

src/api/controllers/auth/decorators.ts

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -36,21 +36,24 @@ export function scoped<F extends Func>(
3636

3737
export function showErrorToast<F extends Func>(
3838
method: F
39-
): Func<Promise<ReturnType<F>>, Parameters<F>> {
39+
): Func<Promise<Awaited<ReturnType<F>> | undefined>, Parameters<F>> {
4040
return async (...args: any[]) => {
4141
const toastStore = useToastStore();
42+
4243
try {
43-
const { error, response } = await method(...args);
44-
if (error) {
45-
throw error;
46-
} else {
47-
return response;
44+
const result = await method(...args);
45+
46+
if (result?.error) {
47+
throw result.error;
4848
}
49+
50+
return result;
4951
} catch (err: any) {
5052
const error = err?.detail?.[0] ?? err;
53+
5154
if (error) {
5255
toastStore.push({
53-
title: error.ru ?? error.msg ?? error,
56+
title: error?.ru ?? error?.msg ?? error?.message ?? String(error),
5457
type: ToastType.Error,
5558
});
5659
} else {
@@ -60,6 +63,7 @@ export function showErrorToast<F extends Func>(
6063
type: ToastType.Error,
6164
});
6265
}
66+
6367
return undefined;
6468
}
6569
};

0 commit comments

Comments
 (0)