fix(veesp): IP и характеристики VPS при синке, валюта аккаунта
Docker / build (push) Failing after 21s

Парсинг object-map ответов API (vms/ips), cpus, memory в МБ, IP-массив.
Приоритет валюты аккаунта над baseCurrency хостера; поле в UI для Veesp.

Co-authored-by: Cursor <[email protected]>
This commit is contained in:
Denozordec
2026-06-29 11:50:25 +07:00
co-authored by Cursor
parent 87aa6949b3
commit 5983c911f2
12 changed files with 280 additions and 25 deletions
+2 -4
View File
@@ -19,7 +19,7 @@ export function accountBalanceCurrency(account: {
return account.balance_currency ?? account.balanceCurrency ?? account.currency ?? 'RUB'
}
/** Валюта баланса с учётом baseCurrency хостера (как effectiveVpsTariffCurrency для тарифов). */
/** Валюта баланса: валюта аккаунта → baseCurrency хостера → balance_currency/currency. */
export function effectiveAccountBalanceCurrency(
account: {
balance_currency?: string
@@ -28,9 +28,7 @@ export function effectiveAccountBalanceCurrency(
},
provider?: { baseCurrency?: string | null } | null,
): string {
const provRaw = (provider?.baseCurrency ?? '').trim()
if (provRaw) return provRaw
return accountBalanceCurrency(account)
return resolveProviderCurrency(provider, account.currency ?? accountBalanceCurrency(account))
}
export function syncFallbackCurrency(
+3 -3
View File
@@ -1,12 +1,12 @@
/** Валюта хостера: настройки провайдера → аккаунт → fallback. */
/** Валюта: явная валюта аккаунта → baseCurrency хостера → fallback. */
export function resolveProviderCurrency(
provider?: { baseCurrency?: string | null } | null,
accountCurrency?: string | null,
fallback = 'RUB',
): string {
const fromProvider = (provider?.baseCurrency ?? '').trim()
if (fromProvider) return fromProvider
const fromAccount = (accountCurrency ?? '').trim()
if (fromAccount) return fromAccount
const fromProvider = (provider?.baseCurrency ?? '').trim()
if (fromProvider) return fromProvider
return fallback
}