You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
45 lines
1.5 KiB
45 lines
1.5 KiB
import {Route, SessionAuthMiddleware} from '@extollo/lib'
|
|
import {Home} from '../controllers/Home.controller'
|
|
import {PageView} from '../middlewares/PageView.middleware'
|
|
import {Snippets} from '../controllers/Snippets.controller'
|
|
import {GoLinks} from '../controllers/GoLinks.controller'
|
|
import {Feed} from '../controllers/Feed.controller'
|
|
import {LoadSnippet} from '../middlewares/parameters/LoadSnippet.middleware'
|
|
import {LoadFeedPosts} from '../middlewares/parameters/LoadFeedPosts.middleware'
|
|
|
|
Route
|
|
.group('/', () => {
|
|
Route.get('/')
|
|
.parameterMiddleware(LoadFeedPosts)
|
|
.calls<Home>(Home, home => home.welcome)
|
|
.alias('home')
|
|
|
|
Route.get('/technical')
|
|
.calls<Home>(Home, home => home.technical)
|
|
|
|
Route.get('/analytics/opt-out')
|
|
.calls<Home>(Home, home => home.optOutPrompt)
|
|
.alias('opt-out-prompt')
|
|
|
|
Route.post('/analytics/opt-out')
|
|
.calls<Home>(Home, home => home.optOut)
|
|
.alias('opt-out')
|
|
|
|
Route.get('/feed')
|
|
.parameterMiddleware(LoadFeedPosts, {all: true})
|
|
.calls<Feed>(Feed, feed => feed.feed)
|
|
.alias('feed')
|
|
|
|
Route.get('/snippet/:slug')
|
|
.parameterMiddleware(LoadSnippet)
|
|
.calls<Snippets>(Snippets, snippets => snippets.viewSnippet)
|
|
|
|
Route.any('/go/:short')
|
|
.calls<GoLinks>(GoLinks, go => go.launch)
|
|
|
|
Route.get('/favicon.ico')
|
|
.calls<Home>(Home, home => home.favicon)
|
|
})
|
|
.pre(SessionAuthMiddleware)
|
|
.pre(PageView)
|