mirror of
https://github.com/laurent22/joplin.git
synced 2024-12-15 09:04:04 +02:00
38 lines
1.3 KiB
JavaScript
38 lines
1.3 KiB
JavaScript
const Setting = require('lib/models/Setting.js');
|
|
const SyncTargetRegistry = require('lib/SyncTargetRegistry');
|
|
const { _ } = require('lib/locale.js');
|
|
|
|
const shared = {}
|
|
|
|
shared.init = function(comp) {
|
|
if (!comp.state) comp.state = {};
|
|
comp.state.checkSyncConfigResult = null;
|
|
}
|
|
|
|
shared.checkSyncConfig = async function(comp, settings) {
|
|
const syncTargetId = settings['sync.target'];
|
|
const SyncTargetClass = SyncTargetRegistry.classById(syncTargetId);
|
|
const options = Setting.subValues('sync.' + syncTargetId, settings);
|
|
comp.setState({ checkSyncConfigResult: 'checking' });
|
|
const result = await SyncTargetClass.checkConfig(options);
|
|
console.info(result);
|
|
comp.setState({ checkSyncConfigResult: result });
|
|
}
|
|
|
|
shared.checkSyncConfigMessages = function(comp) {
|
|
const result = comp.state.checkSyncConfigResult;
|
|
const output = [];
|
|
|
|
if (result === 'checking') {
|
|
output.push(_('Checking... Please wait.'));
|
|
} else if (result && result.ok) {
|
|
output.push(_('Success! Synchronisation configuration appears to be correct.'));
|
|
} else if (result && !result.ok) {
|
|
output.push(_('Error. Please check that URL, username, password, etc. are correct and that the sync target is accessible. The reported error was:'));
|
|
output.push(result.errorMessage);
|
|
}
|
|
|
|
return output;
|
|
}
|
|
|
|
module.exports = shared; |