File tree Expand file tree Collapse file tree 1 file changed +11
-4
lines changed
Expand file tree Collapse file tree 1 file changed +11
-4
lines changed Original file line number Diff line number Diff line change @@ -2,8 +2,8 @@ import * as Router from 'koa-router';
22import models from '../models' ;
33const 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 ( / { { p a r a m } } / 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
1926router . get ( '/links' , async ( ctx ) => {
2027 const links = await models . link . findAll ( ) ;
You can’t perform that action at this time.
0 commit comments