forked from trent_larson/crowd-funder-for-time-pwa
refactor: Remove defunct $needsActiveIdentitySelection method and fix activeDid consistency
## Changes Made
### Code Cleanup
- Remove unused $needsActiveIdentitySelection() method (36 lines)
- Remove method signature from IPlatformServiceMixin interface
- Remove method signature from Vue module declaration
### Database Consistency Fix
- Change activeDid clearing from empty string ('') to NULL for consistency
- Ensures proper foreign key constraint compatibility
- Maintains API compatibility by still returning empty string to components
## Impact
- Reduces codebase complexity by removing unused functionality
- Improves database integrity with consistent NULL usage
- No breaking changes to component APIs
- Migration and auto-selection now handle all identity management
## Files Changed
- src/utils/PlatformServiceMixin.ts: -42 lines, +1 line
This commit is contained in:
@@ -236,45 +236,6 @@ export const PlatformServiceMixin = {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
/**
|
|
||||||
* Check if active identity needs user intervention
|
|
||||||
* Returns true if active_identity table is empty but accounts exist
|
|
||||||
* This allows components to show appropriate UI for user selection
|
|
||||||
*/
|
|
||||||
async $needsActiveIdentitySelection(): Promise<boolean> {
|
|
||||||
try {
|
|
||||||
// Check if active_identity table has a valid activeDid
|
|
||||||
const activeIdentity = await this.$dbQuery(
|
|
||||||
"SELECT activeDid FROM active_identity WHERE id = 1",
|
|
||||||
);
|
|
||||||
|
|
||||||
const currentActiveDid = activeIdentity?.values?.[0]?.[0] as string;
|
|
||||||
|
|
||||||
// If we have an activeDid, validate it exists in accounts
|
|
||||||
if (currentActiveDid) {
|
|
||||||
const accountExists = await this.$dbQuery(
|
|
||||||
"SELECT did FROM accounts WHERE did = ?",
|
|
||||||
[currentActiveDid],
|
|
||||||
);
|
|
||||||
return !accountExists?.values?.length;
|
|
||||||
}
|
|
||||||
|
|
||||||
// If no activeDid, check if there are any accounts available
|
|
||||||
const availableAccounts = await this.$dbQuery(
|
|
||||||
"SELECT COUNT(*) FROM accounts",
|
|
||||||
);
|
|
||||||
const accountCount = availableAccounts?.values?.[0]?.[0] as number;
|
|
||||||
|
|
||||||
return accountCount > 0;
|
|
||||||
} catch (error) {
|
|
||||||
logger.error(
|
|
||||||
"[PlatformServiceMixin] Error checking if active identity selection needed:",
|
|
||||||
error,
|
|
||||||
);
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
},
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get available account DIDs for user selection
|
* Get available account DIDs for user selection
|
||||||
* Returns array of DIDs that can be set as active identity
|
* Returns array of DIDs that can be set as active identity
|
||||||
@@ -722,7 +683,7 @@ export const PlatformServiceMixin = {
|
|||||||
"[PlatformServiceMixin] Active identity not found in accounts, clearing",
|
"[PlatformServiceMixin] Active identity not found in accounts, clearing",
|
||||||
);
|
);
|
||||||
await this.$dbExec(
|
await this.$dbExec(
|
||||||
"UPDATE active_identity SET activeDid = '', lastUpdated = datetime('now') WHERE id = 1",
|
"UPDATE active_identity SET activeDid = NULL, lastUpdated = datetime('now') WHERE id = 1",
|
||||||
);
|
);
|
||||||
return { activeDid: "" };
|
return { activeDid: "" };
|
||||||
}
|
}
|
||||||
@@ -1975,7 +1936,6 @@ export interface IPlatformServiceMixin {
|
|||||||
): Promise<Settings>;
|
): Promise<Settings>;
|
||||||
$getActiveIdentity(): Promise<{ activeDid: string }>;
|
$getActiveIdentity(): Promise<{ activeDid: string }>;
|
||||||
$withTransaction<T>(callback: () => Promise<T>): Promise<T>;
|
$withTransaction<T>(callback: () => Promise<T>): Promise<T>;
|
||||||
$needsActiveIdentitySelection(): Promise<boolean>;
|
|
||||||
$getAvailableAccountDids(): Promise<string[]>;
|
$getAvailableAccountDids(): Promise<string[]>;
|
||||||
isCapacitor: boolean;
|
isCapacitor: boolean;
|
||||||
isWeb: boolean;
|
isWeb: boolean;
|
||||||
@@ -2100,7 +2060,6 @@ declare module "@vue/runtime-core" {
|
|||||||
): Promise<Settings>;
|
): Promise<Settings>;
|
||||||
$getActiveIdentity(): Promise<{ activeDid: string }>;
|
$getActiveIdentity(): Promise<{ activeDid: string }>;
|
||||||
$withTransaction<T>(fn: () => Promise<T>): Promise<T>;
|
$withTransaction<T>(fn: () => Promise<T>): Promise<T>;
|
||||||
$needsActiveIdentitySelection(): Promise<boolean>;
|
|
||||||
$getAvailableAccountDids(): Promise<string[]>;
|
$getAvailableAccountDids(): Promise<string[]>;
|
||||||
|
|
||||||
// Specialized shortcuts - contacts cached, settings fresh
|
// Specialized shortcuts - contacts cached, settings fresh
|
||||||
|
|||||||
Reference in New Issue
Block a user