Skip to content

Commit 4ae0912

Browse files
committed
/links/:token/:param
1 parent 64c597f commit 4ae0912

File tree

1 file changed

+11
-4
lines changed

1 file changed

+11
-4
lines changed

src/routes/index.ts

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@ import * as Router from 'koa-router';
22
import models from '../models';
33
const router = new Router();
44

5-
router.get('/links/:token', async (ctx) => {
6-
const {token} = ctx.params;
5+
async function redirect(ctx: Router.IRouterContext) {
6+
const {token, param} = ctx.params;
77
const link = await models.link.findOne({
88
where: {
99
linkToken: token
@@ -12,9 +12,16 @@ router.get('/links/:token', async (ctx) => {
1212
if (!link) {
1313
ctx.status = 404;
1414
} else {
15-
ctx.redirect(link.linkUrl);
15+
let url = link.linkUrl;
16+
if (param) {
17+
url = url.replace(/{{ param }}/g, param);
18+
}
19+
ctx.redirect(url);
1620
}
17-
});
21+
}
22+
23+
router.get('/links/:token', redirect);
24+
router.get('/links/:token/:param', redirect)
1825

1926
router.get('/links', async (ctx) => {
2027
const links = await models.link.findAll();

0 commit comments

Comments
 (0)