aboutsummaryrefslogtreecommitdiffstats
path: root/start/routes/web.ts
blob: fd12bf2597e7ba6b2da0d6d2422a538d548ba9f6 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
import router from '@adonisjs/core/services/router'

// Health check
router.get('health', 'HealthController.index')

// Legal documents
router.get('terms', ({ response }) => response.redirect('/terms.html'))
router.get('privacy', ({ response }) => response.redirect('/privacy.html'))

// Index
router.get('/', ({ view }) => view.render('others/index'))

router
  .group(() => {
    router
      .group(() => {
        // Guest troutes
        router
          .group(() => {
            router.get('login', 'Dashboard/LoginController.show')
            router.post('login', 'Dashboard/LoginController.login').as('login')

            // Reset password
            router.get('forgot', 'Dashboard/ForgotPasswordController.show')
            router.post('forgot', 'Dashboard/ForgotPasswordController.forgotPassword')

            router.get('reset', 'Dashboard/ResetPasswordController.show')
            router.post('reset', 'Dashboard/ResetPasswordController.resetPassword')
          })
          .middleware(['dashboard', 'guest'])

        // Authenticated routes
        router
          .group(() => {
            router.get('account', 'Dashboard/AccountController.show')
            router.post('account', 'Dashboard/AccountController.store')

            router.get('data', 'Dashboard/DataController.show')
            router.get('export', 'Dashboard/ExportController.show')

            router.get('transfer', 'Dashboard/TransferController.show')
            router.post('transfer', 'Dashboard/TransferController.import')

            router.get('delete', 'Dashboard/DeleteController.show')
            router.post('delete', 'Dashboard/DeleteController.delete')

            router.get('logout', 'Dashboard/LogOutController.logout')

            router.get('*', ({ response }) => response.redirect('/user/account'))
          })
          .middleware(['dashboard', 'auth:web'])
      })
      .prefix('user')

    // Franz/Ferdi account import
    router.get('import', ({ view }) => view.render('others/import'))
    router.post('import', 'UserController.import')

    // 404 handler
    router.get('/*', ({ response }) => response.redirect('/'))
  })
  .middleware(['dashboard'])