mirror of
https://github.com/aliasvault/aliasvault.git
synced 2026-05-18 13:28:12 -04:00
Fix bug in browser extension emails list if credential has no email address (#612)
This commit is contained in:
committed by
Leendert de Borst
parent
41486c940c
commit
92a2511d9d
@@ -34,13 +34,8 @@ const EmailsList: React.FC = () => {
|
||||
return;
|
||||
}
|
||||
|
||||
// TODO: create separate query to only get email addresses to avoid loading all credentials.
|
||||
const credentials = dbContext.sqliteClient.getAllCredentials();
|
||||
|
||||
// Get unique email addresses from all credentials.
|
||||
const emailAddresses = credentials
|
||||
.map(cred => cred.Email.trim()) // Trim whitespace
|
||||
.filter((email, index, self) => self.indexOf(email) === index);
|
||||
const emailAddresses = dbContext.sqliteClient.getAllEmailAddresses();
|
||||
|
||||
try {
|
||||
// For now we only show the latest 50 emails. No pagination.
|
||||
|
||||
@@ -229,6 +229,25 @@ class SqliteClient {
|
||||
}));
|
||||
}
|
||||
|
||||
/**
|
||||
* Fetch all unique email addresses from all credentials.
|
||||
* @returns Array of email addresses.
|
||||
*/
|
||||
public getAllEmailAddresses(): string[] {
|
||||
const query = `
|
||||
SELECT DISTINCT
|
||||
a.Email
|
||||
FROM Credentials c
|
||||
LEFT JOIN Aliases a ON c.AliasId = a.Id
|
||||
WHERE a.Email IS NOT NULL AND a.Email != '' AND c.IsDeleted = 0
|
||||
`;
|
||||
|
||||
const results = this.executeQuery(query);
|
||||
|
||||
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
||||
return results.map((row: any) => row.Email);
|
||||
}
|
||||
|
||||
/**
|
||||
* Fetch all encryption keys.
|
||||
*/
|
||||
|
||||
Reference in New Issue
Block a user