refactor(arch): Phase 2 — deduplicate isAdmin, convertToUsd, getBaseWalletType
- #54: Extract isAdmin() to src/middleware/auth.js, remove duplicates from 7 admin handlers - #55: Add WalletUtils.convertToUsd(), replace 8 switch-case blocks across 4 files - #56: Unify getBaseWalletType() — keep only WalletUtils version (most complete), remove duplicates from Wallet.js and userWalletsHandler.js New file: src/middleware/auth.js Net: -215 lines, +80 lines Closes: #54, #55, #56
This commit is contained in:
@@ -4,11 +4,6 @@ import db from "../config/database.js";
|
||||
import WalletUtils from "../utils/walletUtils.js";
|
||||
|
||||
export default class Wallet {
|
||||
static getBaseWalletType(walletType) {
|
||||
if (walletType.includes('ERC-20')) return 'ETH';
|
||||
return walletType;
|
||||
}
|
||||
|
||||
static async getArchivedWallets(userId) {
|
||||
const archivedWallets = await db.allAsync(`
|
||||
SELECT * FROM crypto_wallets WHERE user_id = ? AND wallet_type LIKE '%_%'
|
||||
@@ -60,7 +55,7 @@ export default class Wallet {
|
||||
let totalUsdBalance = 0;
|
||||
|
||||
for (const [type, balance] of Object.entries(balances)) {
|
||||
const baseType = this.getBaseWalletType(type);
|
||||
const baseType = WalletUtils.getBaseWalletType(type);
|
||||
const wallet = activeWallets.wallets.find(w =>
|
||||
w.wallet_type === baseType ||
|
||||
(type.includes('ERC-20') && w.wallet_type === 'ETH')
|
||||
@@ -92,7 +87,7 @@ export default class Wallet {
|
||||
let totalUsdBalance = 0;
|
||||
|
||||
for (const [type, balance] of Object.entries(balances)) {
|
||||
const baseType = this.getBaseWalletType(type);
|
||||
const baseType = WalletUtils.getBaseWalletType(type);
|
||||
const wallet = archiveWallets.wallets.find(w =>
|
||||
w.wallet_type === baseType ||
|
||||
(type.includes('ERC-20') && w.wallet_type.startsWith('ETH'))
|
||||
|
||||
Reference in New Issue
Block a user