1
0
mirror of https://github.com/laurent22/joplin.git synced 2025-06-15 23:00:36 +02:00

API: Add ability to search by folder or tag title

This commit is contained in:
Laurent Cozic
2020-01-20 02:19:57 +00:00
parent 6973bf9331
commit 3fed1abc36
6 changed files with 101 additions and 48 deletions

View File

@ -77,6 +77,15 @@ class BaseModel {
throw new Error(`Unknown model type: ${type}`);
}
static modelNameToType(name) {
for (let i = 0; i < BaseModel.typeEnum_.length; i++) {
const e = BaseModel.typeEnum_[i];
const eName = e[0].substr(5).toLowerCase();
if (eName === name) return e[1];
}
throw new Error(`Unknown model name: ${name}`);
}
static hasField(name) {
let fields = this.fieldNames();
return fields.indexOf(name) >= 0;
@ -192,8 +201,15 @@ class BaseModel {
if (!options) options = {};
if (!options.fields) options.fields = '*';
let q = this.applySqlOptions(options, `SELECT ${this.db().escapeFields(options.fields)} FROM \`${this.tableName()}\``);
return this.modelSelectAll(q.sql);
let sql = `SELECT ${this.db().escapeFields(options.fields)} FROM \`${this.tableName()}\``;
let params = [];
if (options.where) {
sql += ` WHERE ${options.where}`;
if (options.whereParams) params = params.concat(options.whereParams);
}
let q = this.applySqlOptions(options, sql, params);
return this.modelSelectAll(q.sql, q.params);
}
static async byIds(ids, options = null) {