From 7166dadbc06acf15e5daf5ffc40334c4e70fd69c Mon Sep 17 00:00:00 2001 From: Matthew Raymer Date: Wed, 28 May 2025 08:56:54 +0000 Subject: [PATCH] fix(types): correct type imports and improve null safety - Move type imports to their correct source locations: - GenericCredWrapper, GenericVerifiableCredential from interfaces/common - GiveSummaryRecord from interfaces/records - OfferVerifiableCredential from interfaces/claims - Add null safety check for dbResult in retrieveAccountCount - Initialize result variable to prevent undefined access This change fixes TypeScript errors by ensuring types are imported from their proper source files and improves code safety by adding proper null checks. The type system can now correctly validate the usage of these types across the codebase. --- src/libs/util.ts | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/src/libs/util.ts b/src/libs/util.ts index 0af2bb47..5b7ce91e 100644 --- a/src/libs/util.ts +++ b/src/libs/util.ts @@ -32,11 +32,17 @@ import { import * as serverUtil from "../libs/endorserServer"; import { containsHiddenDid, +} from "../libs/endorserServer"; +import { GenericCredWrapper, GenericVerifiableCredential, +} from "../interfaces/common"; +import { GiveSummaryRecord, +} from "../interfaces/records"; +import { OfferVerifiableCredential, -} from "../libs/endorserServer"; +} from "../interfaces/claims"; import { KeyMeta } from "../libs/crypto/vc"; import { createPeerDid } from "../libs/crypto/vc/didPeer"; import { registerCredential } from "../libs/crypto/vc/passkeyDidPeer"; @@ -474,12 +480,14 @@ export function findAllVisibleToDids( export interface AccountKeyInfo extends Account, KeyMeta {} export const retrieveAccountCount = async (): Promise => { - let result; + let result = 0; const platformService = PlatformServiceFactory.getInstance(); const dbResult = await platformService.dbQuery( `SELECT COUNT(*) FROM accounts`, ); - result = dbResult.values[0][0] as number; + if (dbResult?.values?.[0]?.[0]) { + result = dbResult.values[0][0] as number; + } if (USE_DEXIE_DB) { // one of the few times we use accountsDBPromise directly; try to avoid more usage