fix(tradein-fe): scraper-страница падала — scraper-settings {settings:[]} + string delay #872

Merged
bot-reviewer merged 1 commit from fix/tradein-scraper-page-settings-shape into main 2026-05-31 08:21:18 +00:00
2 changed files with 13 additions and 3 deletions

View file

@ -88,7 +88,13 @@ function useScraperSettings() {
return useQuery<ScraperSetting[]>({
queryKey: ["scraper-settings"],
queryFn: () =>
apiFetch<ScraperSetting[]>("/api/v1/admin/scraper-settings"),
apiFetch<{ settings: ScraperSetting[] }>("/api/v1/admin/scraper-settings").then(
(r) =>
(r.settings ?? []).map((s) => ({
...s,
request_delay_sec: Number(s.request_delay_sec),
})),
),
staleTime: 30_000,
});
}
@ -532,7 +538,7 @@ export default function CianScraperPage() {
)}
{updateSettingMut.isSuccess && updateSettingMut.data && (
<div className="scraper-result">
Delay обновлён: <strong>{updateSettingMut.data.request_delay_sec.toFixed(1)} сек</strong>{" "}
Delay обновлён: <strong>{Number(updateSettingMut.data.request_delay_sec).toFixed(1)} сек</strong>{" "}
(обновлено {formatTime(updateSettingMut.data.updated_at)})
</div>
)}

View file

@ -82,7 +82,11 @@ function useScraperSettings() {
queryKey: ["scraper-settings"],
queryFn: () =>
apiFetch<{ settings: ScraperSetting[] }>("/api/v1/admin/scraper-settings").then(
(r) => r.settings,
(r) =>
(r.settings ?? []).map((s) => ({
...s,
request_delay_sec: Number(s.request_delay_sec),
})),
),
refetchInterval: 30_000,
});