Files
holesail-browser/native-host/host/handlers/sync.js
T
Raven Scott 3d70f322cc
CI / Build & Test (push) Successful in 4m5s
test updates
2026-03-15 06:00:44 -04:00

69 lines
1.6 KiB
JavaScript

/**
* Handlers for sync: getSyncStatus, createSyncInvite, pairWithInvite.
* Context: syncManager
*/
function register(deps) {
const { syncManager } = deps;
return [
{
type: 'getSyncStatus',
handle: async (payload, reply) => {
try {
const status = await syncManager.getSyncStatus();
reply({ ok: true, ...status });
} catch (e) {
reply({ ok: false, error: e.message });
}
}
},
{
type: 'createSyncInvite',
handle: async (payload, reply) => {
try {
const result = await syncManager.createSyncInvite();
reply(result);
} catch (e) {
reply({ ok: false, error: e.message });
}
}
},
{
type: 'pairWithInvite',
handle: async (payload, reply) => {
const invite = payload && payload.invite;
try {
const result = await syncManager.pairWithInvite(invite);
reply(result);
} catch (e) {
reply({ ok: false, error: e.message });
}
}
},
{
type: 'delink',
handle: async (payload, reply) => {
try {
const result = await syncManager.delink();
reply(result);
} catch (e) {
reply({ ok: false, error: e.message });
}
}
},
{
type: 'disband',
handle: async (payload, reply) => {
try {
const result = await syncManager.disband();
reply(result);
} catch (e) {
reply({ ok: false, error: e.message });
}
}
}
];
}
module.exports = { register };