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.
53 lines
1.7 KiB
53 lines
1.7 KiB
import {Route, AuthRequiredMiddleware, GuestRequiredMiddleware, SessionAuthMiddleware} from '@extollo/lib'
|
|
import {Home} from '../controllers/main/Home.controller'
|
|
import {Login} from '../controllers/api/Login.controller'
|
|
import {EditorPage} from '../controllers/api/EditorPage.controller'
|
|
|
|
Route.group('/', () => {
|
|
Route.get('/')
|
|
.calls<Home>(Home, home => home.welcome)
|
|
|
|
Route.group('/api', () => {
|
|
Route.get('/')
|
|
.handledBy(() => ({
|
|
success: true,
|
|
}))
|
|
|
|
Route.group('/editor', () => {
|
|
Route.post('/page')
|
|
.calls<EditorPage>(EditorPage, page => page.save)
|
|
|
|
Route.get('/page')
|
|
.calls<EditorPage>(EditorPage, page => page.load)
|
|
|
|
Route.get('/pages')
|
|
.calls<EditorPage>(EditorPage, page => page.list)
|
|
|
|
Route.delete('page')
|
|
.calls<EditorPage>(EditorPage, page => page.delete)
|
|
}).pre(AuthRequiredMiddleware)
|
|
|
|
Route.group('/login', () => {
|
|
Route.post('/')
|
|
.pre(GuestRequiredMiddleware)
|
|
.calls<Login>(Login, login => login.login)
|
|
|
|
Route.get('/status')
|
|
.calls<Login>(Login, login => login.status)
|
|
|
|
Route.get('/user')
|
|
.pre(AuthRequiredMiddleware)
|
|
.calls<Login>(Login, login => login.user)
|
|
|
|
})
|
|
|
|
Route.post('/register')
|
|
.pre(GuestRequiredMiddleware)
|
|
.calls<Login>(Login, login => login.register)
|
|
|
|
Route.post('/logout')
|
|
.pre(AuthRequiredMiddleware)
|
|
.calls<Login>(Login, login => login.logout)
|
|
})
|
|
}).pre(SessionAuthMiddleware)
|