From e7b689c546fb5068e16cd27810d79a7565dab849 Mon Sep 17 00:00:00 2001 From: Eli Bosley Date: Tue, 28 Jan 2025 12:59:35 -0500 Subject: [PATCH] fix: code review feedback --- api/src/cli.ts | 4 +- api/src/core/utils/vms/parse-domain.ts | 81 ++++++++++--------- .../graph/resolvers/vms/vms.resolver.ts | 1 - 3 files changed, 44 insertions(+), 42 deletions(-) diff --git a/api/src/cli.ts b/api/src/cli.ts index 323c6369e..d60bf29f9 100644 --- a/api/src/cli.ts +++ b/api/src/cli.ts @@ -17,7 +17,9 @@ const getUnraidApiLocation = async () => { throw new Error('unraid-api not found'); } return shellToUse.stdout.trim(); - } finally { + } catch (err) { + logger.debug('Could not find unraid-api in PATH, using default location'); + return '/usr/bin/unraid-api'; } }; diff --git a/api/src/core/utils/vms/parse-domain.ts b/api/src/core/utils/vms/parse-domain.ts index ce0c8a0b0..858a74af0 100644 --- a/api/src/core/utils/vms/parse-domain.ts +++ b/api/src/core/utils/vms/parse-domain.ts @@ -10,50 +10,51 @@ export type DomainLookupType = 'id' | 'uuid' | 'name'; * @private */ export const parseDomain = async (type: DomainLookupType, id: string): Promise => { - const types = { - id: 'lookupDomainByIdAsync', - uuid: 'lookupDomainByUUIDAsync', - name: 'lookupDomainByNameAsync', - }; + const types = { + id: 'lookupDomainByIdAsync', + uuid: 'lookupDomainByUUIDAsync', + name: 'lookupDomainByNameAsync', + }; - if (!type || !Object.keys(types).includes(type)) { - throw new Error(`Type must be one of [${Object.keys(types).join(', ')}], ${type} given.`); - } + if (!type || !Object.keys(types).includes(type)) { + throw new Error(`Type must be one of [${Object.keys(types).join(', ')}], ${type} given.`); + } - const { UnraidHypervisor } = await import('@app/core/utils/vms/get-hypervisor'); - const client = await UnraidHypervisor.getInstance().getHypervisor(); - const method = types[type]; - const domain = await client[method](id); - const info = await domain.getInfoAsync(); + const { UnraidHypervisor } = await import('@app/core/utils/vms/get-hypervisor'); + const client = await UnraidHypervisor.getInstance().getHypervisor(); + const method = types[type]; + const domain = await client[method](id); + const info = await domain.getInfoAsync(); - const [uuid, osType, autostart, maxMemory, schedulerType, schedulerParameters, securityLabel, name] = await Promise.all([ - domain.getUUIDAsync(), - domain.getOSTypeAsync(), - domain.getAutostartAsync(), - domain.getMaxMemoryAsync(), - domain.getSchedulerTypeAsync(), - domain.getSchedulerParametersAsync(), - domain.getSecurityLabelAsync(), - domain.getNameAsync(), - ]); + const [uuid, osType, autostart, maxMemory, schedulerType, schedulerParameters, securityLabel, name] = + await Promise.all([ + domain.getUUIDAsync(), + domain.getOSTypeAsync(), + domain.getAutostartAsync(), + domain.getMaxMemoryAsync(), + domain.getSchedulerTypeAsync(), + domain.getSchedulerParametersAsync(), + domain.getSecurityLabelAsync(), + domain.getNameAsync(), + ]); - const results = { - uuid, - osType, - autostart, - maxMemory, - schedulerType, - schedulerParameters, - securityLabel, - name, - ...info, - state: info.state.replace(' ', '_'), - }; + const results = { + uuid, + osType, + autostart, + maxMemory, + schedulerType, + schedulerParameters, + securityLabel, + name, + ...info, + state: info.state.replace(' ', '_'), + }; - if (info.state === 'running') { - results.vcpus = await domain.getVcpusAsync(); - results.memoryStats = await domain.getMemoryStatsAsync(); - } + if (info.state === 'running') { + results.vcpus = await domain.getVcpusAsync(); + results.memoryStats = await domain.getMemoryStatsAsync(); + } - return results; + return results; }; diff --git a/api/src/unraid-api/graph/resolvers/vms/vms.resolver.ts b/api/src/unraid-api/graph/resolvers/vms/vms.resolver.ts index adac84b00..0568ffa43 100644 --- a/api/src/unraid-api/graph/resolvers/vms/vms.resolver.ts +++ b/api/src/unraid-api/graph/resolvers/vms/vms.resolver.ts @@ -13,7 +13,6 @@ export class VmsResolver { possession: AuthPossession.ANY, }) public async vms() { - console.log('Resolving Domains'); return { id: 'vms', };