refactor: reuse shared model hash extraction

This commit is contained in:
Dariusz L
2026-08-05 13:39:44 +02:00
parent e4a5593f79
commit 1a03ddaed4
2 changed files with 5 additions and 6 deletions
+2
View File
@@ -49,6 +49,7 @@ test('search hash extraction checks result and nested provider fields in priorit
assert.equal(dialog.getSearchResultSha256({ hash: 'invalid', file_info: { hash: hashB } }), hashB);
assert.equal(dialog.getSearchResultSha256({ hashes: { SHA256: hashA }, sha256: hashB }), hashB);
assert.equal(dialog.getSearchResultSha256({ file_info: { hashes: { sha256: hashA } } }), hashA);
assert.equal(dialog.getSearchResultSha256({ sha256: 'invalid', hash: hashB }), hashB);
assert.equal(dialog.getSearchResultSha256({ hashes: null, file_info: null }), '');
});
@@ -133,5 +134,6 @@ test('local hash extraction checks direct, model, and nested hash fields', () =>
assert.equal(dialog.getLocalMatchHash({ sha256: hashA, model: { sha256: hashB } }), hashA);
assert.equal(dialog.getLocalMatchHash({ model: { hash: hashB } }), hashB);
assert.equal(dialog.getLocalMatchHash({ model: { hashes: { SHA256: hashA } } }), hashA);
assert.equal(dialog.getLocalMatchHash({ hashes: { SHA256: hashA }, model: { sha256: hashB } }), hashB);
assert.equal(dialog.getLocalMatchHash({}), '');
});
+3 -6
View File
@@ -1,4 +1,4 @@
import { normalizeSha256 } from '../utils/hash_utils.js';
import { getSha256Field, normalizeSha256 } from '../utils/hash_utils.js';
import { normalizeSourceKey } from '../utils/source_labels.js';
export const searchHashMethods = {
@@ -137,14 +137,11 @@ export const searchHashMethods = {
getLocalMatchHash(match = {}) {
const model = match.model || {};
const hashes = model.hashes && typeof model.hashes === 'object' ? model.hashes : {};
const modelHash = getSha256Field(model);
return String(
match.sha256
|| match.hash
|| model.sha256
|| model.hash
|| hashes.SHA256
|| hashes.sha256
|| modelHash
|| ''
).trim();
},