From e8c2d1a05aae21770a8248f2f040990de0bd2e80 Mon Sep 17 00:00:00 2001 From: Sosthene Date: Mon, 8 Sep 2025 15:56:14 +0200 Subject: [PATCH] Get the storage urls from diffs --- src/services/service.ts | 21 ++++++++++++++++----- 1 file changed, 16 insertions(+), 5 deletions(-) diff --git a/src/services/service.ts b/src/services/service.ts index 5e9fa2b..baa0343 100755 --- a/src/services/service.ts +++ b/src/services/service.ts @@ -668,9 +668,16 @@ export default class Services { for (const hash of apiReturn.push_to_storage) { const blob = await this.getBlobFromDb(hash); if (blob) { - await this.saveDataToStorage(hash, blob, null); + // Get the storages from the diff data + const diff = await this.getDiffByValueFromDb(hash); + if (diff) { + const storages = diff.storages; + await this.saveDataToStorage(hash, storages, blob, null); + } else { + console.error('Failed to get diff from db for hash', hash); + } } else { - console.error('Failed to get data from db'); + console.error('Failed to get data from db for hash', hash); } } } @@ -1030,9 +1037,7 @@ export default class Services { } } - public async saveDataToStorage(hash: string, data: Blob, ttl: number | null) { - const storages = [STORAGEURL]; - + public async saveDataToStorage(hash: string, storages: string[], data: Blob, ttl: number | null) { try { await storeData(storages, hash, data, ttl); } catch (e) { @@ -1052,6 +1057,12 @@ export default class Services { return await testData(storages, hash); } + public async getDiffByValueFromDb(hash: string): Promise { + const db = await Database.getInstance(); + const diff = await db.getObject('diffs', hash); + return diff; + } + public async saveDiffsToDb(diffs: UserDiff[]) { const db = await Database.getInstance(); try {