aboutsummaryrefslogtreecommitdiffstats
path: root/start
diff options
context:
space:
mode:
authorLibravatar vantezzen <properly@protonmail.com>2019-09-04 09:59:25 +0200
committerLibravatar vantezzen <properly@protonmail.com>2019-09-04 09:59:25 +0200
commitea03e3766efffeb5e6b9bb90f566e64bf44640f3 (patch)
tree36f52de9554a08456949cc4a7fa5b40adc84ca94 /start
parentBetter response when recipe creation is disabled (diff)
downloadferdium-server-ea03e3766efffeb5e6b9bb90f566e64bf44640f3.tar.gz
ferdium-server-ea03e3766efffeb5e6b9bb90f566e64bf44640f3.tar.zst
ferdium-server-ea03e3766efffeb5e6b9bb90f566e64bf44640f3.zip
Add user dashboard
Diffstat (limited to 'start')
-rw-r--r--start/app.js3
-rw-r--r--start/kernel.js6
-rw-r--r--start/routes.js23
3 files changed, 29 insertions, 3 deletions
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 = [
18 '@adonisjs/lucid/providers/LucidProvider', 18 '@adonisjs/lucid/providers/LucidProvider',
19 '@adonisjs/drive/providers/DriveProvider', 19 '@adonisjs/drive/providers/DriveProvider',
20 '@adonisjs/validator/providers/ValidatorProvider', 20 '@adonisjs/validator/providers/ValidatorProvider',
21 '@adonisjs/framework/providers/ViewProvider',
22 '@adonisjs/session/providers/SessionProvider',
23 '@adonisjs/shield/providers/ShieldProvider',
21] 24]
22 25
23/* 26/*
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')
15const globalMiddleware = [ 15const globalMiddleware = [
16 'Adonis/Middleware/BodyParser', 16 'Adonis/Middleware/BodyParser',
17 'App/Middleware/ConvertEmptyStringsToNull', 17 'App/Middleware/ConvertEmptyStringsToNull',
18 'Adonis/Middleware/AuthInit' 18 'Adonis/Middleware/AuthInit',
19 'Adonis/Middleware/Session',
19] 20]
20 21
21/* 22/*
@@ -37,7 +38,8 @@ const globalMiddleware = [
37*/ 38*/
38const namedMiddleware = { 39const namedMiddleware = {
39 auth: 'Adonis/Middleware/Auth', 40 auth: 'Adonis/Middleware/Auth',
40 guest: 'Adonis/Middleware/AllowGuestOnly' 41 guest: 'Adonis/Middleware/AllowGuestOnly',
42 shield: 'Adonis/Middleware/Shield',
41} 43}
42 44
43/* 45/*
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(() => {
60 Route.get('announcements/:version', 'StaticController.announcement') 60 Route.get('announcements/:version', 'StaticController.announcement')
61}).prefix('v1') 61}).prefix('v1')
62 62
63// Dashboard 63// User dashboard
64Route.group(() => {
65 // Auth
66 Route.get('login', ({view}) => {
67 return view.render('dashboard.login');
68 }).middleware('guest');
69 Route.post('login', 'DashboardController.login').middleware('guest')
70
71 // Dashboard
72 Route.get('account', 'DashboardController.account').middleware('auth:session')
73 Route.post('account', 'DashboardController.edit').middleware('auth:session')
74 Route.get('data', 'DashboardController.data').middleware('auth:session')
75 Route.get('delete', ({view}) => {
76 return view.render('dashboard.delete');
77 }).middleware('auth:session');
78 Route.post('delete', 'DashboardController.delete').middleware('auth:session')
79 Route.get('logout', 'DashboardController.logout').middleware('auth:session')
80}).prefix('user').middleware('shield')
81
82// Recipe creation
64Route.post('new', 'RecipeController.create') 83Route.post('new', 'RecipeController.create')
65Route.get('new', ({ response }) => { 84Route.get('new', ({ response }) => {
66 if (Env.get('IS_CREATION_ENABLED') == 'false') { 85 if (Env.get('IS_CREATION_ENABLED') == 'false') {
@@ -69,6 +88,8 @@ Route.get('new', ({ response }) => {
69 return response.redirect('/new.html') 88 return response.redirect('/new.html')
70 } 89 }
71}) 90})
91
92// Franz account import
72Route.post('import', 'UserController.import') 93Route.post('import', 'UserController.import')
73Route.get('import', ({ response }) => response.redirect('/import.html')) 94Route.get('import', ({ response }) => response.redirect('/import.html'))
74 95