1
0
mirror of https://github.com/garraflavatra/rolens.git synced 2025-04-19 08:51:03 +00:00
2023-02-15 19:27:51 +01:00

46 lines
1.0 KiB
JavaScript

import { RemoveQuery, SavedQueries, SaveQuery, UpdateQueries } from '$wails/go/app/App';
import { get, writable } from 'svelte/store';
const { set, subscribe } = writable({});
let skipUpdate = true;
async function reload() {
const newViewStore = await SavedQueries();
set(newViewStore);
return newViewStore;
}
function forCollection(hostKey, dbKey, collKey) {
const allViews = get({ subscribe });
const entries = Object.entries(allViews).filter(v => (
v[1].hostKey === hostKey &&
v[1].dbKey === dbKey &&
v[1].collKey === collKey
));
return Object.fromEntries(entries);
}
async function create(query) {
const newId = await SaveQuery(JSON.stringify(query));
await reload();
return newId;
}
async function remove(id) {
await RemoveQuery(id);
await reload();
}
reload();
subscribe(newViewStore => {
if (skipUpdate) {
skipUpdate = false;
return;
}
UpdateQueries(JSON.stringify(newViewStore));
});
const queries = { reload, create, remove, set, subscribe, forCollection };
export default queries;