From 8cd1409eb6ed30e98c6e78fe2106237170eb4728 Mon Sep 17 00:00:00 2001 From: QiTao Weng Date: Sun, 10 Apr 2022 00:23:51 -0500 Subject: [PATCH] Add backend support for login status checks --- src/app/http/controllers/api/Login.controller.ts | 9 ++++++--- src/app/http/routes/app.routes.ts | 9 ++++++++- 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/src/app/http/controllers/api/Login.controller.ts b/src/app/http/controllers/api/Login.controller.ts index 858ec91..dfddf23 100644 --- a/src/app/http/controllers/api/Login.controller.ts +++ b/src/app/http/controllers/api/Login.controller.ts @@ -44,8 +44,7 @@ export class Login extends Controller { await this.security.authenticate(user) - return redirect('/') - + return api.one(user) } public async register() { @@ -70,6 +69,10 @@ export class Login extends Controller { // then login await this.security.authenticate(newUser) - return redirect('/') + return api.one(newUser) + } + + public async logout() { + await this.security.flush() } } diff --git a/src/app/http/routes/app.routes.ts b/src/app/http/routes/app.routes.ts index 0b868e7..f70a0b8 100644 --- a/src/app/http/routes/app.routes.ts +++ b/src/app/http/routes/app.routes.ts @@ -1,4 +1,4 @@ -import {Route, SessionAuthMiddleware} from '@extollo/lib' +import {Route, AuthRequiredMiddleware, GuestRequiredMiddleware, SessionAuthMiddleware} from '@extollo/lib' import {Home} from '../controllers/main/Home.controller' import {Login} from '../controllers/api/Login.controller' @@ -14,17 +14,24 @@ Route.group('/', () => { Route.group('/login', () => { Route.post('/') + .pre(GuestRequiredMiddleware) .calls(Login, login => login.login) Route.get('/status') .calls(Login, login => login.status) Route.get('/user') + .pre(AuthRequiredMiddleware) .calls(Login, login => login.user) }) Route.post('/register') + .pre(GuestRequiredMiddleware) .calls(Login, login => login.register) + + Route.post('/logout') + .pre(AuthRequiredMiddleware) + .calls(Login, login => login.logout) }) }).pre(SessionAuthMiddleware)