Răsfoiți Sursa

added a route

Taichi Masuyama 4 ani în urmă
părinte
comite
2b75ecf739

+ 19 - 4
packages/app/src/interfaces/page.ts

@@ -5,10 +5,25 @@ import { ITag } from './tag';
 export type IPage = {
   path: string,
   status: string,
-  revision: IRevision,
-  tags: ITag[],
-  creator: IUser,
+  revision: any & IRevision,
+  tags: (any & ITag)[],
+  creator: any & IUser,
   createdAt: Date,
   updatedAt: Date,
-  seenUsers: string[]
+  seenUsers: any[],
+  parent: any & IPage,
+  isEmpty: boolean,
+  redirectTo: string,
+  grant: number,
+  grantedUsers: any,
+  grantedGroup: any,
+  lastUpdateUser: any,
+  liker: any[],
+  commentCount: number
+  slackChannels: string,
+  pageIdOnHackmd: string,
+  revisionHackmdSynced: any,
+  hasDraftOnHackmd: boolean,
+  deleteUser: any,
+  deletedAt: Date,
 }

+ 4 - 0
packages/app/src/server/routes/apiv3/index.js

@@ -1,5 +1,7 @@
 import loggerFactory from '~/utils/logger';
 
+import pageTree from './page-tree';
+
 const logger = loggerFactory('growi:routes:apiv3'); // eslint-disable-line no-unused-vars
 
 const express = require('express');
@@ -41,6 +43,8 @@ module.exports = (crowi) => {
   router.use('/pages', require('./pages')(crowi));
   router.use('/revisions', require('./revisions')(crowi));
 
+  router.use('/page-tree', pageTree(crowi));
+
   router.use('/share-links', require('./share-links')(crowi));
 
   router.use('/bookmarks', require('./bookmarks')(crowi));

+ 18 - 0
packages/app/src/server/routes/apiv3/page-tree.ts

@@ -0,0 +1,18 @@
+import express, {
+  NextFunction, Request, RequestHandler, Response, Router,
+} from 'express';
+import Crowi from '../../crowi';
+
+
+const getPagesAroundTarget = (req: Request, res: Response): any => {
+  return res.send('OK');
+};
+
+export default (crowi: Crowi): Router => {
+  const accessTokenParser = require('../../middlewares/access-token-parser')(crowi);
+  // Do not use loginRequired with isGuestAllowed true since page tree may show private pages' title
+  const loginRequiredStrictly = require('../../middlewares/login-required')(crowi);
+
+  return express.Router()
+    .get('/pages', accessTokenParser, loginRequiredStrictly, getPagesAroundTarget);
+};