Big commit

This commit is contained in:
2026-03-02 00:13:34 +01:00
parent d146138fca
commit 6d7465ff18
54 changed files with 5999 additions and 2291 deletions

View File

@@ -17,4 +17,52 @@ contextBridge.exposeInMainWorld('electronAPI', {
writeFile: (filePath, data) => ipcRenderer.invoke('write-file', filePath, data),
fileExists: (filePath) => ipcRenderer.invoke('file-exists', filePath),
ensureDir: (dirPath) => ipcRenderer.invoke('ensure-dir', dirPath),
// ── Database operations (all SQL lives in main process) ───────────
db: {
initialize: () => ipcRenderer.invoke('db:initialize'),
// Messages
saveMessage: (message) => ipcRenderer.invoke('db:saveMessage', message),
getMessages: (roomId, limit, offset) => ipcRenderer.invoke('db:getMessages', roomId, limit, offset),
deleteMessage: (messageId) => ipcRenderer.invoke('db:deleteMessage', messageId),
updateMessage: (messageId, updates) => ipcRenderer.invoke('db:updateMessage', messageId, updates),
getMessageById: (messageId) => ipcRenderer.invoke('db:getMessageById', messageId),
clearRoomMessages: (roomId) => ipcRenderer.invoke('db:clearRoomMessages', roomId),
// Reactions
saveReaction: (reaction) => ipcRenderer.invoke('db:saveReaction', reaction),
removeReaction: (messageId, userId, emoji) => ipcRenderer.invoke('db:removeReaction', messageId, userId, emoji),
getReactionsForMessage: (messageId) => ipcRenderer.invoke('db:getReactionsForMessage', messageId),
// Users
saveUser: (user) => ipcRenderer.invoke('db:saveUser', user),
getUser: (userId) => ipcRenderer.invoke('db:getUser', userId),
getCurrentUser: () => ipcRenderer.invoke('db:getCurrentUser'),
setCurrentUserId: (userId) => ipcRenderer.invoke('db:setCurrentUserId', userId),
getUsersByRoom: (roomId) => ipcRenderer.invoke('db:getUsersByRoom', roomId),
updateUser: (userId, updates) => ipcRenderer.invoke('db:updateUser', userId, updates),
// Rooms
saveRoom: (room) => ipcRenderer.invoke('db:saveRoom', room),
getRoom: (roomId) => ipcRenderer.invoke('db:getRoom', roomId),
getAllRooms: () => ipcRenderer.invoke('db:getAllRooms'),
deleteRoom: (roomId) => ipcRenderer.invoke('db:deleteRoom', roomId),
updateRoom: (roomId, updates) => ipcRenderer.invoke('db:updateRoom', roomId, updates),
// Bans
saveBan: (ban) => ipcRenderer.invoke('db:saveBan', ban),
removeBan: (oderId) => ipcRenderer.invoke('db:removeBan', oderId),
getBansForRoom: (roomId) => ipcRenderer.invoke('db:getBansForRoom', roomId),
isUserBanned: (userId, roomId) => ipcRenderer.invoke('db:isUserBanned', userId, roomId),
// Attachments
saveAttachment: (attachment) => ipcRenderer.invoke('db:saveAttachment', attachment),
getAttachmentsForMessage: (messageId) => ipcRenderer.invoke('db:getAttachmentsForMessage', messageId),
getAllAttachments: () => ipcRenderer.invoke('db:getAllAttachments'),
deleteAttachmentsForMessage: (messageId) => ipcRenderer.invoke('db:deleteAttachmentsForMessage', messageId),
// Utilities
clearAllData: () => ipcRenderer.invoke('db:clearAllData'),
},
});