Compare commits
2 Commits
63ee4ce719
...
3f64369852
Author | SHA1 | Date | |
---|---|---|---|
![]() |
3f64369852 | ||
![]() |
e8c2d1a05a |
@ -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<UserDiff | null> {
|
||||
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 {
|
||||
|
@ -7,14 +7,13 @@ export async function storeData(servers: string[], key: string, value: Blob, ttl
|
||||
let url: string;
|
||||
if (server.startsWith('/')) {
|
||||
// Relative path - construct manually for proxy
|
||||
url = `${server}/store?key=${encodeURIComponent(key)}`;
|
||||
url = `${server}/store/${encodeURIComponent(key)}`;
|
||||
if (ttl !== null) {
|
||||
url += `&ttl=${ttl}`;
|
||||
url += `?ttl=${ttl}`;
|
||||
}
|
||||
} else {
|
||||
// Absolute URL - use URL constructor
|
||||
const urlObj = new URL(`${server}/store`);
|
||||
urlObj.searchParams.append('key', key);
|
||||
const urlObj = new URL(`${server}/store/${encodeURIComponent(key)}`);
|
||||
if (ttl !== null) {
|
||||
urlObj.searchParams.append('ttl', ttl.toString());
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user