Merge branch 'active_did_redux' of ssh://173.199.124.46:222/trent_larson/crowd-funder-for-time-pwa into active_did_redux

This commit is contained in:
Matthew Raymer
2025-09-09 06:14:26 +00:00
19 changed files with 686 additions and 197 deletions

View File

@@ -6,6 +6,12 @@ import { DEFAULT_ENDORSER_API_SERVER } from "@/constants/app";
import { arrayBufferToBase64 } from "@/libs/crypto";
import { logger } from "@/utils/logger";
// Database result interface for SQLite queries
interface DatabaseResult {
values?: unknown[][];
[key: string]: unknown;
}
// Generate a random secret for the secret table
// It's not really secure to maintain the secret next to the user's data.
@@ -185,25 +191,28 @@ export async function runMigrations<T>(
try {
// Check if we have accounts but no active selection
const accountsResult = await sqlQuery("SELECT COUNT(*) FROM accounts");
const accountsCount = accountsResult
? (accountsResult.values?.[0]?.[0] as number)
: 0;
const accountsCount =
accountsResult && (accountsResult as DatabaseResult).values
? ((accountsResult as DatabaseResult).values?.[0]?.[0] as number)
: 0;
const activeResult = await sqlQuery(
"SELECT activeDid FROM active_identity WHERE id = 1",
);
const activeDid = activeResult
? (activeResult.values?.[0]?.[0] as string)
: null;
const activeDid =
activeResult && (activeResult as DatabaseResult).values
? ((activeResult as DatabaseResult).values?.[0]?.[0] as string)
: null;
if (accountsCount > 0 && (!activeDid || activeDid === "")) {
logger.info("[Migration] Auto-selecting first account as active");
const firstAccountResult = await sqlQuery(
"SELECT did FROM accounts ORDER BY dateCreated, did LIMIT 1",
);
const firstAccountDid = firstAccountResult
? (firstAccountResult.values?.[0]?.[0] as string)
: null;
const firstAccountDid =
firstAccountResult && (firstAccountResult as DatabaseResult).values
? ((firstAccountResult as DatabaseResult).values?.[0]?.[0] as string)
: null;
if (firstAccountDid) {
await sqlExec(