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