You've already forked joplin
mirror of
https://github.com/laurent22/joplin.git
synced 2025-11-06 09:19:22 +02:00
API: Allow accessing revision data
This commit is contained in:
@@ -10,6 +10,7 @@ import route_search from './routes/search';
|
||||
import route_ping from './routes/ping';
|
||||
import route_auth from './routes/auth';
|
||||
import route_events from './routes/events';
|
||||
import route_revisions from './routes/revisions';
|
||||
|
||||
const { ltrimSlashes } = require('../../path-utils');
|
||||
const md5 = require('md5');
|
||||
@@ -113,6 +114,7 @@ export default class Api {
|
||||
services: this.action_services.bind(this),
|
||||
auth: route_auth,
|
||||
events: route_events,
|
||||
revisions: route_revisions,
|
||||
};
|
||||
|
||||
this.dispatch = this.dispatch.bind(this);
|
||||
|
||||
7
packages/lib/services/rest/routes/revisions.ts
Normal file
7
packages/lib/services/rest/routes/revisions.ts
Normal file
@@ -0,0 +1,7 @@
|
||||
import defaultAction from '../utils/defaultAction';
|
||||
import { ModelType } from '../../../BaseModel';
|
||||
import { Request } from '../Api';
|
||||
|
||||
export default async function(request: Request, id: string = null, link: string = null) {
|
||||
return defaultAction(ModelType.Revision, request, id, link, ['id']);
|
||||
}
|
||||
@@ -6,7 +6,7 @@ import readonlyProperties from './readonlyProperties';
|
||||
import requestFields from './requestFields';
|
||||
import BaseItem from '../../../models/BaseItem';
|
||||
|
||||
export default async function(modelType: number, request: Request, id: string = null, link: string = null) {
|
||||
export default async function(modelType: number, request: Request, id: string = null, link: string = null, defaultFields: string[] = null) {
|
||||
if (link) throw new ErrorNotFound(); // Default action doesn't support links at all for now
|
||||
|
||||
const ModelClass = BaseItem.getClassByItemType(modelType);
|
||||
@@ -20,10 +20,10 @@ export default async function(modelType: number, request: Request, id: string =
|
||||
if (request.method === 'GET') {
|
||||
if (id) {
|
||||
return getOneModel({
|
||||
fields: requestFields(request, modelType),
|
||||
fields: requestFields(request, modelType, defaultFields),
|
||||
});
|
||||
} else {
|
||||
return paginatedResults(modelType, request);
|
||||
return paginatedResults(modelType, request, null, defaultFields);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -5,9 +5,9 @@ import requestPaginationOptions from './requestPaginationOptions';
|
||||
import paginatedFeed, { WhereQuery, ModelFeedPage } from '../../../models/utils/paginatedFeed';
|
||||
import BaseItem from '../../../models/BaseItem';
|
||||
|
||||
export default async function(modelType: number, request: Request, whereQuery: WhereQuery = null): Promise<ModelFeedPage> {
|
||||
export default async function(modelType: number, request: Request, whereQuery: WhereQuery = null, defaultFields: string[] = null): Promise<ModelFeedPage> {
|
||||
const ModelClass = BaseItem.getClassByItemType(modelType);
|
||||
const fields = requestFields(request, modelType);
|
||||
const fields = requestFields(request, modelType, defaultFields);
|
||||
const pagination = requestPaginationOptions(request);
|
||||
return paginatedFeed(BaseModel.db(), ModelClass.tableName(), pagination, whereQuery, fields);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user