Skip to content

Commit 0bca0c3

Browse files
committed
[add] Markdown export & Document copy API of Lark documents
1 parent e8078fb commit 0bca0c3

File tree

5 files changed

+52
-13
lines changed

5 files changed

+52
-13
lines changed

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@
3030
"mobx": "^6.15.0",
3131
"mobx-github": "^0.6.2",
3232
"mobx-i18n": "^0.7.2",
33-
"mobx-lark": "^2.5.0",
33+
"mobx-lark": "^2.6.0",
3434
"mobx-react": "^9.2.1",
3535
"mobx-react-helper": "^0.5.1",
3636
"mobx-restful": "^2.1.4",
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
import { Context } from 'koa';
2+
import { createKoaRouter, withKoaRouter } from 'next-ssr-middleware';
3+
4+
import { safeAPI, verifyJWT } from '../../../core';
5+
import { lark } from '../../core';
6+
7+
export const config = { api: { bodyParser: false } };
8+
9+
const router = createKoaRouter(import.meta.url);
10+
11+
router.post('/:type/:id', safeAPI, verifyJWT, async (context: Context) => {
12+
const { type, id } = context.params,
13+
{ name, parentToken } = Reflect.get(context.request, 'body');
14+
15+
context.body = await lark.copyFile(`${type as 'wiki'}/${id}`, name, parentToken);
16+
});
17+
18+
export default withKoaRouter(router);
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
import { createKoaRouter, withKoaRouter } from 'next-ssr-middleware';
2+
3+
import { safeAPI, verifyJWT } from '../../../core';
4+
import { lark } from '../../core';
5+
6+
const router = createKoaRouter(import.meta.url);
7+
8+
router.get('/:type/:id', safeAPI, verifyJWT, async context => {
9+
const { type, id } = context.params;
10+
11+
const markdown = await lark.downloadMarkdown(`${type}/${id}`);
12+
13+
context.set('Content-Type', 'text/markdown; charset=utf-8');
14+
context.body = markdown;
15+
});
16+
17+
export default withKoaRouter(router);

pages/api/core.ts

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { JsonWebTokenError } from 'jsonwebtoken';
1+
import { JsonWebTokenError, sign } from 'jsonwebtoken';
22
import { Context, Middleware, ParameterizedContext } from 'koa';
33
import JWT from 'koa-jwt';
44
import { HTTPError } from 'koajax';
@@ -19,6 +19,10 @@ export const parseJWT = JWT({
1919

2020
export const verifyJWT = JWT({ secret: JWT_SECRET!, cookie: 'token' });
2121

22+
const RobotToken = sign({ id: 0, name: 'Robot' }, JWT_SECRET!);
23+
24+
console.table({ RobotToken });
25+
2226
export const safeAPI: Middleware<any, any> = async (context: Context, next) => {
2327
try {
2428
return await next();

pnpm-lock.yaml

Lines changed: 11 additions & 11 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)