Files
desktop/app/providers/DatabaseProvider/useDatabase.ts
rosetta 83f38dc63f 'init'
2026-01-30 05:01:05 +02:00

38 lines
1.2 KiB
TypeScript

export function useDatabase() {
const buildDebug = (query: string, params: any[]) => {
console.info("-----------------");
//build final query
let finalQuery = query;
params.forEach((param) => {
let value = param;
if(typeof param === 'string'){
value = `'${param}'`;
}
finalQuery = finalQuery.replace('?', value);
});
console.info("Final Query: ", finalQuery);
console.info("-----------------");
}
const runQuery = async (query: string, params: any[] = []) => {
return await window.electron.ipcRenderer.invoke('db:run', query, params);
};
const getQuery = async (query: string, params: any[] = []) => {
return await window.electron.ipcRenderer.invoke('db:get', query, params);
};
const allQuery = async (query: string, params: any[] = [], debug: boolean = false) => {
if(debug){
buildDebug(query, params);
}
return await window.electron.ipcRenderer.invoke('db:all', query, params);
};
return {
runQuery,
getQuery,
allQuery,
};
}