mirror of https://github.com/laurent22/joplin.git
34 lines
940 B
JavaScript
34 lines
940 B
JavaScript
const { BaseCommand } = require("./base-command.js");
|
|
const { app } = require("./app.js");
|
|
const { _ } = require("lib/locale.js");
|
|
const BaseModel = require("lib/BaseModel.js");
|
|
const Folder = require("lib/models/Folder.js");
|
|
const Note = require("lib/models/Note.js");
|
|
|
|
class Command extends BaseCommand {
|
|
usage() {
|
|
return "mv <note> [notebook]";
|
|
}
|
|
|
|
description() {
|
|
return _("Moves the notes matching <note> to [notebook].");
|
|
}
|
|
|
|
async action(args) {
|
|
const pattern = args["note"];
|
|
const destination = args["notebook"];
|
|
|
|
const folder = await Folder.loadByField("title", destination);
|
|
if (!folder) throw new Error(_('Cannot find "%s".', destination));
|
|
|
|
const notes = await app().loadItems(BaseModel.TYPE_NOTE, pattern);
|
|
if (!notes.length) throw new Error(_('Cannot find "%s".', pattern));
|
|
|
|
for (let i = 0; i < notes.length; i++) {
|
|
await Note.moveToFolder(notes[i].id, folder.id);
|
|
}
|
|
}
|
|
}
|
|
|
|
module.exports = Command;
|