1
0
mirror of https://github.com/laurent22/joplin.git synced 2025-10-06 22:17:10 +02:00

API: Resolves #1148: Added support for search end-point and improved error handling

This commit is contained in:
Laurent Cozic
2019-02-24 12:24:55 +00:00
parent 179005dd6c
commit 50b75e1e63
4 changed files with 26 additions and 4 deletions

View File

@@ -13,6 +13,7 @@ const { shim } = require('lib/shim');
const HtmlToMd = require('lib/HtmlToMd');
const { fileExtension, safeFileExtension, safeFilename, filename } = require('lib/path-utils');
const ApiResponse = require('lib/services/rest/ApiResponse');
const SearchEngineUtils = require('lib/services/SearchEngineUtils');
class ApiError extends Error {
@@ -207,6 +208,15 @@ class Api {
throw new ErrorMethodNotAllowed();
}
async action_search(request) {
if (request.method !== 'GET') throw new ErrorMethodNotAllowed();
const query = request.query.query;
if (!query) throw new ErrorBadRequest('Missing "query" parameter');
return await SearchEngineUtils.notesForQuery(query, this.notePreviewsOptions_(request));
}
async action_folders(request, id = null, link = null) {
if (request.method === 'GET' && !id) {
return await Folder.allAsTree({ fields: this.fields_(request, ['id', 'parent_id', 'title']) });