[TEST] add data sync
This commit is contained in:
parent
944d8f86c2
commit
8e3512b5cd
16 changed files with 1935 additions and 5 deletions
37
src/ipc/lansync.js
Normal file
37
src/ipc/lansync.js
Normal file
|
|
@ -0,0 +1,37 @@
|
|||
'use strict'
|
||||
|
||||
const { ipcMain } = require('electron')
|
||||
const lansync = require('../lansync')
|
||||
const { sendToWindow } = require('./games')
|
||||
|
||||
function registerLanSyncIpc({ getWindow }) {
|
||||
ipcMain.handle('lansync:get', () => lansync.getState())
|
||||
ipcMain.handle('lansync:devices', () => lansync.listDevices())
|
||||
ipcMain.handle('lansync:rerollDeviceId', () => {
|
||||
const identity = lansync.rerollDeviceId()
|
||||
return { deviceId: identity.deviceId }
|
||||
})
|
||||
ipcMain.handle('lansync:rerollSyncCode', () => {
|
||||
const identity = lansync.rerollSyncCode()
|
||||
return { syncCode: identity.syncCode }
|
||||
})
|
||||
ipcMain.handle('lansync:forget', (e, id) => {
|
||||
lansync.forgetDevice(id)
|
||||
return { ok: true }
|
||||
})
|
||||
ipcMain.handle('lansync:sync', async (e, payload) => {
|
||||
try {
|
||||
return await lansync.syncTo({
|
||||
deviceId: payload && payload.deviceId,
|
||||
code: payload && payload.code,
|
||||
categories: payload && payload.categories,
|
||||
force: !!(payload && payload.force),
|
||||
onProgress: data => sendToWindow(getWindow(), 'lansync:progress', data)
|
||||
})
|
||||
} catch (err) {
|
||||
return { ok: false, error: String((err && err.message) || err) }
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
module.exports = { registerLanSyncIpc }
|
||||
Loading…
Add table
Add a link
Reference in a new issue