* modify chat table & migrate * refactor layout * update layout * actions for chats & agents * refactor chat form * refactor chat form * update chat form * rename * refactor types & locales * refactor tts engine * refactor * fix config * refactor chat form * refactor chat member form * fixing * refactor ask agent * chat in conversation * fix chat message update * may update chat member * update chat member from message * refacto group propmt * chat member gpt settings * update ui * more config for chat * add locales * update chat agent form * add locales for agent form * update UI * auto reply for text input * update chat * update chat input * rename colomns * update chat * udpate agent message * add chat member * add/remove chat member * fix chat member * refactor * auto update chat name * fix chat update * refactor chat column * fix chat * add agent loading * use fresh new prompt when ask agent * add chat forwarder * refactor chat * fix * add copilot * toggle copilot * add copilot chat * avoid open the same chat at the same time * update copilot header * add agent introduction in the first place of chat * rename column * update style * refactor * invoke all agents in group after asking * chat sidebar collopse * may select chat in copilot * update ui * new chat from agent * upgrade deps * refactor chat & chatAgent * add limit for chat member create * update chat form * update db & migration * fix up * fix group chat * fix panel warning * display chat agent type * tts message * fit tts agent * refactor * chat fowarder * update UI * setup default values for tts agent * fix chat member add/remove * edit tts agent * display chat date * Fix UI * add system message * refactor * fix hook * refactor * touch chat&agent when new message created * fix auto reply * migrate conversation to chat * add migrate api * fix migrate * update migrate * refactor * refactor * refactor * fix delete agent * add hotkey for copilot * fix bugs * upgrade deps * refactor tts hook * stop auto playback when azure transcribed * refactor * clean up * fix UI * fix conversation migrate * handle error * update model * declare types * audo backup db file when started * fix db backup * refactor db migration * fix UI * refactor * fix chat auto update name * fix authorization lost when hot reload * refactor * refactor * fix tts form * keep agent avatar up to date * clean code
44 lines
1.2 KiB
TypeScript
44 lines
1.2 KiB
TypeScript
import { ipcMain, IpcMainEvent } from "electron";
|
|
import { UserSetting } from "@main/db/models";
|
|
import db from "@main/db";
|
|
import { UserSettingKeyEnum } from "@/types/enums";
|
|
|
|
class UserSettingsHandler {
|
|
private async get(_event: IpcMainEvent, key: UserSettingKeyEnum) {
|
|
return await UserSetting.get(key);
|
|
}
|
|
|
|
private async set(
|
|
_event: IpcMainEvent,
|
|
key: UserSettingKeyEnum,
|
|
value: string | object
|
|
) {
|
|
await UserSetting.set(key, value);
|
|
}
|
|
|
|
private async delete(_event: IpcMainEvent, key: UserSettingKeyEnum) {
|
|
await UserSetting.destroy({ where: { key } });
|
|
}
|
|
|
|
private async clear(_event: IpcMainEvent) {
|
|
await UserSetting.destroy({ where: {} });
|
|
db.connection.query("VACUUM");
|
|
}
|
|
|
|
register() {
|
|
ipcMain.handle("user-settings-get", this.get);
|
|
ipcMain.handle("user-settings-set", this.set);
|
|
ipcMain.handle("user-settings-delete", this.delete);
|
|
ipcMain.handle("user-settings-clear", this.clear);
|
|
}
|
|
|
|
unregister() {
|
|
ipcMain.removeHandler("user-settings-get");
|
|
ipcMain.removeHandler("user-settings-set");
|
|
ipcMain.removeHandler("user-settings-delete");
|
|
ipcMain.removeHandler("user-settings-clear");
|
|
}
|
|
}
|
|
|
|
export const userSettingsHandler = new UserSettingsHandler();
|