* refactoring the bridge * Update aec submodule * folder structure refactor * fixing ask logic * resolve import err * fix askview * fix header content html path * fix systemaudiodump path * centralized ask logic * delete legacy code * change askservice to class * settingsService facade * fix getCurrentModelInfo * common service ipc moved to featureBridge * featureBridge init * ui fix * add featureBridge func for listenservice * fix preload conflict * shortcuts seperated * refactor ask * transfer roles from askview to askservice * modifying windowBridge * delete legacy ask code * retrieve conversation history for askserice * fix legacy code * shortcut moved * change naming for featurebridge * screenshot moved from windowManager * rough refactor done --------- Co-authored-by: sanio <sanio@pickle.com> Co-authored-by: jhyang0 <junhyuck0819@gmail.com>
48 lines
1.3 KiB
JavaScript
48 lines
1.3 KiB
JavaScript
const sqliteClient = require('../../common/services/sqliteClient');
|
|
const crypto = require('crypto');
|
|
|
|
function getAllKeybinds() {
|
|
const db = sqliteClient.getDb();
|
|
const query = 'SELECT * FROM shortcuts';
|
|
try {
|
|
return db.prepare(query).all();
|
|
} catch (error) {
|
|
console.error(`[DB] Failed to get keybinds:`, error);
|
|
return [];
|
|
}
|
|
}
|
|
|
|
function upsertKeybinds(keybinds) {
|
|
if (!keybinds || keybinds.length === 0) return;
|
|
|
|
const db = sqliteClient.getDb();
|
|
const upsert = db.transaction((items) => {
|
|
const query = `
|
|
INSERT INTO shortcuts (action, accelerator, created_at)
|
|
VALUES (@action, @accelerator, @created_at)
|
|
ON CONFLICT(action) DO UPDATE SET
|
|
accelerator = excluded.accelerator;
|
|
`;
|
|
const insert = db.prepare(query);
|
|
|
|
for (const item of items) {
|
|
insert.run({
|
|
action: item.action,
|
|
accelerator: item.accelerator,
|
|
created_at: Math.floor(Date.now() / 1000)
|
|
});
|
|
}
|
|
});
|
|
|
|
try {
|
|
upsert(keybinds);
|
|
} catch (error) {
|
|
console.error('[DB] Failed to upsert keybinds:', error);
|
|
throw error;
|
|
}
|
|
}
|
|
|
|
module.exports = {
|
|
getAllKeybinds,
|
|
upsertKeybinds
|
|
};
|