From ea03e3766efffeb5e6b9bb90f566e64bf44640f3 Mon Sep 17 00:00:00 2001 From: vantezzen Date: Wed, 4 Sep 2019 09:59:25 +0200 Subject: Add user dashboard --- start/app.js | 3 +++ start/kernel.js | 6 ++++-- start/routes.js | 23 ++++++++++++++++++++++- 3 files changed, 29 insertions(+), 3 deletions(-) (limited to 'start') diff --git a/start/app.js b/start/app.js index 0c32499..9cf2735 100644 --- a/start/app.js +++ b/start/app.js @@ -18,6 +18,9 @@ const providers = [ '@adonisjs/lucid/providers/LucidProvider', '@adonisjs/drive/providers/DriveProvider', '@adonisjs/validator/providers/ValidatorProvider', + '@adonisjs/framework/providers/ViewProvider', + '@adonisjs/session/providers/SessionProvider', + '@adonisjs/shield/providers/ShieldProvider', ] /* diff --git a/start/kernel.js b/start/kernel.js index 3c2d26d..18fb5bf 100644 --- a/start/kernel.js +++ b/start/kernel.js @@ -15,7 +15,8 @@ const Server = use('Server') const globalMiddleware = [ 'Adonis/Middleware/BodyParser', 'App/Middleware/ConvertEmptyStringsToNull', - 'Adonis/Middleware/AuthInit' + 'Adonis/Middleware/AuthInit', + 'Adonis/Middleware/Session', ] /* @@ -37,7 +38,8 @@ const globalMiddleware = [ */ const namedMiddleware = { auth: 'Adonis/Middleware/Auth', - guest: 'Adonis/Middleware/AllowGuestOnly' + guest: 'Adonis/Middleware/AllowGuestOnly', + shield: 'Adonis/Middleware/Shield', } /* diff --git a/start/routes.js b/start/routes.js index 52f26b9..364eff9 100644 --- a/start/routes.js +++ b/start/routes.js @@ -60,7 +60,26 @@ Route.group(() => { Route.get('announcements/:version', 'StaticController.announcement') }).prefix('v1') -// Dashboard +// User dashboard +Route.group(() => { + // Auth + Route.get('login', ({view}) => { + return view.render('dashboard.login'); + }).middleware('guest'); + Route.post('login', 'DashboardController.login').middleware('guest') + + // Dashboard + Route.get('account', 'DashboardController.account').middleware('auth:session') + Route.post('account', 'DashboardController.edit').middleware('auth:session') + Route.get('data', 'DashboardController.data').middleware('auth:session') + Route.get('delete', ({view}) => { + return view.render('dashboard.delete'); + }).middleware('auth:session'); + Route.post('delete', 'DashboardController.delete').middleware('auth:session') + Route.get('logout', 'DashboardController.logout').middleware('auth:session') +}).prefix('user').middleware('shield') + +// Recipe creation Route.post('new', 'RecipeController.create') Route.get('new', ({ response }) => { if (Env.get('IS_CREATION_ENABLED') == 'false') { @@ -69,6 +88,8 @@ Route.get('new', ({ response }) => { return response.redirect('/new.html') } }) + +// Franz account import Route.post('import', 'UserController.import') Route.get('import', ({ response }) => response.redirect('/import.html')) -- cgit v1.2.3-54-g00ecf