一些检查失败了
automerge / automerge (push) Has been cancelled
react-native-android-build-apk / AssembleRelease (push) Has been cancelled
Build macOS M1 / Main (push) Has been cancelled
Joplin Continuous Integration / Main (macos-15-intel) (push) Has been cancelled
Joplin Continuous Integration / Main (ubuntu-22.04) (push) Has been cancelled
Joplin Continuous Integration / Main (ubuntu-22.04-arm) (push) Has been cancelled
Joplin Continuous Integration / Main (windows-11-vs2026-arm) (push) Has been cancelled
Joplin Continuous Integration / Main (windows-2025) (push) Has been cancelled
Joplin Continuous Integration / ServerDockerImage (ubuntu-22.04) (push) Has been cancelled
Joplin Continuous Integration / ServerDockerImage (ubuntu-22.04-arm) (push) Has been cancelled
Joplin UI tests / Main (ubuntu-22.04) (push) Has been cancelled
Joplin UI tests / Main (windows-2025) (push) Has been cancelled
Joplin UI tests / Mobile (push) Has been cancelled
Close stale issues / ProcessStaleIssues (push) Has been cancelled
54 行
1.2 KiB
TypeScript
54 行
1.2 KiB
TypeScript
import BaseCommand from './base-command';
|
|
import app from './app';
|
|
import Setting from '@joplin/lib/models/Setting';
|
|
import { _ } from '@joplin/lib/locale';
|
|
import ReportService from '@joplin/lib/services/ReportService';
|
|
|
|
class Command extends BaseCommand {
|
|
public override usage() {
|
|
return 'status';
|
|
}
|
|
|
|
public override description() {
|
|
return _('Displays summary about the notes and notebooks.');
|
|
}
|
|
|
|
public override async action() {
|
|
const service = new ReportService();
|
|
const report = await service.status(Setting.value('sync.target'));
|
|
|
|
for (let i = 0; i < report.length; i++) {
|
|
const section = report[i];
|
|
|
|
if (i > 0) this.stdout('');
|
|
|
|
this.stdout(`# ${section.title}`);
|
|
this.stdout('');
|
|
|
|
let canRetryType = '';
|
|
|
|
for (const n in section.body) {
|
|
if (!section.body.hasOwnProperty(n)) continue;
|
|
const item = section.body[n];
|
|
|
|
if (typeof item === 'object') {
|
|
canRetryType = item.canRetryType;
|
|
this.stdout(item.text);
|
|
} else {
|
|
this.stdout(item);
|
|
}
|
|
}
|
|
|
|
if (canRetryType === 'e2ee') {
|
|
this.stdout('');
|
|
this.stdout(_('To retry decryption of these items. Run `e2ee decrypt --retry-failed-items`'));
|
|
}
|
|
}
|
|
|
|
app().gui().showConsole();
|
|
app().gui().maximizeConsole();
|
|
}
|
|
}
|
|
|
|
module.exports = Command;
|