forked from trent_larson/crowd-funder-for-time-pwa
IndexedDB migration: enhance comparison for contacts
This commit is contained in:
@@ -654,17 +654,25 @@ function compareAccounts(dexieAccounts: Account[], sqliteDids: string[]) {
|
||||
* ```
|
||||
*/
|
||||
function contactsEqual(contact1: Contact, contact2: Contact): boolean {
|
||||
const ifEmpty = (arg: any, def: any) => !!arg ? arg : def;
|
||||
const contact1Methods =
|
||||
contact1.contactMethods && Array.isArray(contact1.contactMethods) && contact1.contactMethods.length > 0
|
||||
? JSON.stringify(contact1.contactMethods)
|
||||
: "[]";
|
||||
const contact2Methods =
|
||||
contact2.contactMethods && Array.isArray(contact2.contactMethods) && contact2.contactMethods.length > 0
|
||||
? JSON.stringify(contact2.contactMethods)
|
||||
: "[]";
|
||||
return (
|
||||
contact1.did == contact2.did &&
|
||||
contact1.name == contact2.name &&
|
||||
contact1.notes == contact2.notes &&
|
||||
contact1.profileImageUrl == contact2.profileImageUrl &&
|
||||
contact1.publicKeyBase64 == contact2.publicKeyBase64 &&
|
||||
contact1.nextPubKeyHashB64 == contact2.nextPubKeyHashB64 &&
|
||||
contact1.seesMe == contact2.seesMe &&
|
||||
contact1.registered == contact2.registered &&
|
||||
JSON.stringify(contact1.contactMethods) ==
|
||||
JSON.stringify(contact2.contactMethods)
|
||||
ifEmpty(contact1.did, "") == ifEmpty(contact2.did, "") &&
|
||||
ifEmpty(contact1.name, "") == ifEmpty(contact2.name, "") &&
|
||||
ifEmpty(contact1.notes, "") == ifEmpty(contact2.notes, "") &&
|
||||
ifEmpty(contact1.profileImageUrl, "") == ifEmpty(contact2.profileImageUrl, "") &&
|
||||
ifEmpty(contact1.publicKeyBase64, "") == ifEmpty(contact2.publicKeyBase64, "") &&
|
||||
ifEmpty(contact1.nextPubKeyHashB64, "") == ifEmpty(contact2.nextPubKeyHashB64, "") &&
|
||||
!!contact1.seesMe == !!contact2.seesMe &&
|
||||
!!contact1.registered == !!contact2.registered &&
|
||||
contact1Methods == contact2Methods
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user