diff options
Diffstat (limited to 'start/routes/web.ts')
-rw-r--r-- | start/routes/web.ts | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/start/routes/web.ts b/start/routes/web.ts new file mode 100644 index 0000000..308abec --- /dev/null +++ b/start/routes/web.ts | |||
@@ -0,0 +1,54 @@ | |||
1 | import Route from '@ioc:Adonis/Core/Route'; | ||
2 | |||
3 | // Health check | ||
4 | Route.get('health', 'HealthController.index'); | ||
5 | |||
6 | // Legal documents | ||
7 | Route.get('terms', ({ response }) => response.redirect('/terms.html')); | ||
8 | Route.get('privacy', ({ response }) => response.redirect('/privacy.html')); | ||
9 | |||
10 | // Index | ||
11 | Route.get('/', ({ view }) => view.render('others/index')); | ||
12 | |||
13 | Route.group(() => { | ||
14 | Route.group(() => { | ||
15 | // Guest troutes | ||
16 | Route.group(() => { | ||
17 | Route.get('login', 'Dashboard/LoginController.show'); | ||
18 | Route.post('login', 'Dashboard/LoginController.login').as('login'); | ||
19 | |||
20 | // Reset password | ||
21 | Route.get('forgot', 'Dashboard/ForgotPasswordController.show'); | ||
22 | Route.post('forgot', 'Dashboard/ForgotPasswordController.forgotPassword'); | ||
23 | |||
24 | Route.get('reset', 'Dashboard/ResetPasswordController.show'); | ||
25 | Route.post('reset', 'Dashboard/ResetPasswordController.resetPassword'); | ||
26 | }).middleware(['dashboard', 'guest']); | ||
27 | |||
28 | // Authenticated routes | ||
29 | Route.group(() => { | ||
30 | Route.get('account', 'Dashboard/AccountController.show'); | ||
31 | Route.post('account', 'Dashboard/AccountController.store'); | ||
32 | |||
33 | Route.get('data', 'Dashboard/DataController.show'); | ||
34 | Route.get('export', 'Dashboard/ExportController.show'); | ||
35 | |||
36 | Route.get('transfer', 'Dashboard/TransferController.show'); | ||
37 | Route.post('transfer', 'Dashboard/TransferController.import'); | ||
38 | |||
39 | Route.get('delete', 'Dashboard/DeleteController.show'); | ||
40 | Route.post('delete', 'Dashboard/DeleteController.delete'); | ||
41 | |||
42 | Route.get('logout', 'Dashboard/LogOutController.logout'); | ||
43 | |||
44 | Route.get('*', ({ response }) => response.redirect('/user/account')); | ||
45 | }).middleware(['dashboard', 'auth:web']); | ||
46 | }).prefix('user'); | ||
47 | |||
48 | // Franz/Ferdi account import | ||
49 | Route.get('import', ({ view }) => view.render('others/import')); | ||
50 | Route.post('import', 'UserController.import'); | ||
51 | |||
52 | // 404 handler | ||
53 | Route.get('/*', ({ response }) => response.redirect('/')); | ||
54 | }).middleware(['dashboard']); | ||