fixed multi - database structure store

This commit is contained in:
Jan Prochazka
2022-08-08 19:37:40 +02:00
parent 4c0f17a0b2
commit 65aa8fb4e3

View File

@@ -1,19 +1,24 @@
import { Readable, writable } from 'svelte/store';
import { getDatabaseInfo } from './metadataLoaders';
import { derived, Readable } from 'svelte/store';
import { useDatabaseInfo } from './metadataLoaders';
import { MultipleDatabaseInfo } from 'dbgate-datalib';
export function useMultipleDatabaseInfo(dbs: { conid: string; database: string }[]): Readable<MultipleDatabaseInfo> {
const res = writable({});
for (const { conid, database } of dbs) {
getDatabaseInfo({ conid, database }).then(dbInfo => {
res.update(old => ({
...old,
[conid]: {
...old[conid],
[database]: dbInfo,
},
}));
});
}
return res;
return derived(
dbs.map(db => useDatabaseInfo(db)),
values => {
let res = {};
for (let i = 0; i < dbs.length; i++) {
const { conid, database } = dbs[i];
const dbInfo = values[i];
res = {
...res,
[conid]: {
...res[conid],
[database]: dbInfo,
},
};
}
return res;
}
);
}