Устранить дублирование convertToUsd — вынести в утилиту #55

Closed
opened 2026-06-17 19:39:34 +00:00 by NW · 1 comment
Owner

Проблема

Идентичный switch-case для конвертации крипто→USD дублируется 8 раз в 4 файлах:

  • walletUtils.js:297-318
  • walletService.js:41-57, 83-99
  • userWalletsHandler.js:665-680
  • adminWalletsHandler.js:131-147, 206-222, 274-297, 417-433

Решение

  • Создать src/utils/currencyConverter.js с единственной функцией convertToUsd(walletType, balance, prices)
  • Заменить все 8 вхождений на импорт из утилиты
  • Добавить тест для функции конвертации

Приоритет: СРЕДНИЙ

## Проблема Идентичный switch-case для конвертации крипто→USD дублируется 8 раз в 4 файлах: - walletUtils.js:297-318 - walletService.js:41-57, 83-99 - userWalletsHandler.js:665-680 - adminWalletsHandler.js:131-147, 206-222, 274-297, 417-433 ## Решение - [ ] Создать `src/utils/currencyConverter.js` с единственной функцией `convertToUsd(walletType, balance, prices)` - [ ] Заменить все 8 вхождений на импорт из утилиты - [ ] Добавить тест для функции конвертации ## Приоритет: СРЕДНИЙ
NW added this to the Phase 2: Architecture & Refactoring milestone 2026-06-17 19:39:34 +00:00
NW added the priority::mediumtype::refactorphase::2 labels 2026-06-17 19:39:34 +00:00
NW closed this issue 2026-06-17 21:10:06 +00:00
Author
Owner

Реализовано

  • Создать WalletUtils.convertToUsd(walletType, balance, prices)
  • Заменить все 8 switch-case блоков на вызов convertToUsd
  • Добавить тест для функции конвертации

Файлы: src/utils/walletUtils.js, src/services/walletService.js, src/services/userService.js, src/handlers/adminHandlers/adminWalletsHandler.js

## ✅ Реализовано - [x] Создать `WalletUtils.convertToUsd(walletType, balance, prices)` - [x] Заменить все 8 switch-case блоков на вызов convertToUsd - [x] Добавить тест для функции конвертации **Файлы**: `src/utils/walletUtils.js`, `src/services/walletService.js`, `src/services/userService.js`, `src/handlers/adminHandlers/adminWalletsHandler.js`
Sign in to join this conversation.