aboutsummaryrefslogtreecommitdiffstats
path: root/start/routes.js
diff options
context:
space:
mode:
Diffstat (limited to 'start/routes.js')
-rw-r--r--start/routes.js116
1 files changed, 54 insertions, 62 deletions
diff --git a/start/routes.js b/start/routes.js
index 5cf9fda..8e0f640 100644
--- a/start/routes.js
+++ b/start/routes.js
@@ -1,4 +1,3 @@
1'use strict'
2 1
3/* 2/*
4|-------------------------------------------------------------------------- 3|--------------------------------------------------------------------------
@@ -8,99 +7,92 @@
8*/ 7*/
9 8
10/** @type {typeof import('@adonisjs/framework/src/Route/Manager')} */ 9/** @type {typeof import('@adonisjs/framework/src/Route/Manager')} */
11const Route = use('Route') 10const Route = use('Route');
12const Env = use('Env') 11const Env = use('Env');
13 12
14// Health: Returning if all systems function correctly 13// Health: Returning if all systems function correctly
15Route.get('health', ({ 14Route.get('health', ({
16 response 15 response,
17}) => { 16}) => response.send({
18 return response.send({ 17 api: 'success',
19 api: 'success', 18 db: 'success',
20 db: 'success' 19}));
21 })
22})
23 20
24// API is grouped under '/v1/' route 21// API is grouped under '/v1/' route
25Route.group(() => { 22Route.group(() => {
26 // User authentification 23 // User authentification
27 Route.post('auth/signup', 'UserController.signup').middleware('guest') 24 Route.post('auth/signup', 'UserController.signup').middleware('guest');
28 Route.post('auth/login', 'UserController.login').middleware('guest') 25 Route.post('auth/login', 'UserController.login').middleware('guest');
29 26
30 // User info 27 // User info
31 Route.get('me', 'UserController.me').middleware('auth') 28 Route.get('me', 'UserController.me').middleware('auth');
32 29
33 // Service info 30 // Service info
34 Route.post('service', 'ServiceController.create').middleware('auth') 31 Route.post('service', 'ServiceController.create').middleware('auth');
35 Route.put('service/:id', 'ServiceController.edit').middleware('auth') 32 Route.put('service/:id', 'ServiceController.edit').middleware('auth');
36 Route.delete('service/:id', 'ServiceController.delete').middleware('auth') 33 Route.delete('service/:id', 'ServiceController.delete').middleware('auth');
37 Route.get('me/services', 'ServiceController.list').middleware('auth') 34 Route.get('me/services', 'ServiceController.list').middleware('auth');
38 Route.put('service/reorder', 'ServiceController.reorder').middleware('auth') 35 Route.put('service/reorder', 'ServiceController.reorder').middleware('auth');
39 Route.get('recipe', 'ServiceController.list').middleware('auth') 36 Route.get('recipe', 'ServiceController.list').middleware('auth');
40 Route.post('recipes/update', 'ServiceController.update').middleware('auth') 37 Route.post('recipes/update', 'ServiceController.update').middleware('auth');
41 38
42 // Recipe store 39 // Recipe store
43 Route.get('recipes', 'RecipeController.list') 40 Route.get('recipes', 'RecipeController.list');
44 Route.get('recipes/download/:recipe', 'RecipeController.download') 41 Route.get('recipes/download/:recipe', 'RecipeController.download');
45 Route.get('recipes/search', 'RecipeController.search') 42 Route.get('recipes/search', 'RecipeController.search');
46 Route.get('recipes/popular', 'StaticController.popularRecipes') 43 Route.get('recipes/popular', 'StaticController.popularRecipes');
47 Route.get('recipes/update', 'StaticController.emptyArray') 44 Route.get('recipes/update', 'StaticController.emptyArray');
48 45
49 // Workspaces 46 // Workspaces
50 Route.put('workspace/:id', 'WorkspaceController.edit').middleware('auth') 47 Route.put('workspace/:id', 'WorkspaceController.edit').middleware('auth');
51 Route.delete('workspace/:id', 'WorkspaceController.delete').middleware('auth') 48 Route.delete('workspace/:id', 'WorkspaceController.delete').middleware('auth');
52 Route.post('workspace', 'WorkspaceController.create').middleware('auth') 49 Route.post('workspace', 'WorkspaceController.create').middleware('auth');
53 Route.get('workspace', 'WorkspaceController.list').middleware('auth') 50 Route.get('workspace', 'WorkspaceController.list').middleware('auth');
54 51
55 // Static responses 52 // Static responses
56 Route.get('features', 'StaticController.features') 53 Route.get('features', 'StaticController.features');
57 Route.get('services', 'StaticController.emptyArray') 54 Route.get('services', 'StaticController.emptyArray');
58 Route.get('news', 'StaticController.emptyArray') 55 Route.get('news', 'StaticController.emptyArray');
59 Route.get('payment/plans', 'StaticController.plans') 56 Route.get('payment/plans', 'StaticController.plans');
60 Route.get('announcements/:version', 'StaticController.announcement') 57 Route.get('announcements/:version', 'StaticController.announcement');
61}).prefix('v1') 58}).prefix('v1');
62 59
63// User dashboard 60// User dashboard
64Route.group(() => { 61Route.group(() => {
65 // Auth 62 // Auth
66 Route.get('login', ({view}) => { 63 Route.get('login', ({ view }) => view.render('dashboard.login')).middleware('guest');
67 return view.render('dashboard.login'); 64 Route.post('login', 'DashboardController.login').middleware('guest');
68 }).middleware('guest');
69 Route.post('login', 'DashboardController.login').middleware('guest')
70 65
71 // Dashboard 66 // Dashboard
72 Route.get('account', 'DashboardController.account').middleware('auth:session') 67 Route.get('account', 'DashboardController.account').middleware('auth:session');
73 Route.post('account', 'DashboardController.edit').middleware('auth:session') 68 Route.post('account', 'DashboardController.edit').middleware('auth:session');
74 Route.get('data', 'DashboardController.data').middleware('auth:session') 69 Route.get('data', 'DashboardController.data').middleware('auth:session');
75 Route.get('delete', ({view}) => { 70 Route.get('delete', ({ view }) => view.render('dashboard.delete')).middleware('auth:session');
76 return view.render('dashboard.delete'); 71 Route.post('delete', 'DashboardController.delete').middleware('auth:session');
77 }).middleware('auth:session'); 72 Route.get('logout', 'DashboardController.logout').middleware('auth:session');
78 Route.post('delete', 'DashboardController.delete').middleware('auth:session') 73
79 Route.get('logout', 'DashboardController.logout').middleware('auth:session') 74 Route.get('*', ({ response }) => response.redirect('/user/account'));
80 75}).prefix('user').middleware('shield');
81 Route.get('*', ({ response }) => response.redirect('/user/account'))
82}).prefix('user').middleware('shield')
83 76
84// Recipe creation 77// Recipe creation
85Route.post('new', 'RecipeController.create') 78Route.post('new', 'RecipeController.create');
86Route.get('new', ({ response, view }) => { 79Route.get('new', ({ response, view }) => {
87 if (Env.get('IS_CREATION_ENABLED') == 'false') { 80 if (Env.get('IS_CREATION_ENABLED') == 'false') { // eslint-disable-line eqeqeq
88 return response.send('This server doesn\'t allow the creation of new recipes.\n\nIf you are the server owner, please set IS_CREATION_ENABLED to true to enable recipe creation.'); 81 return response.send('This server doesn\'t allow the creation of new recipes.\n\nIf you are the server owner, please set IS_CREATION_ENABLED to true to enable recipe creation.');
89 } else {
90 return view.render('others.new')
91 } 82 }
92}) 83 return view.render('others.new');
84});
93 85
94// Franz account import 86// Franz account import
95Route.post('import', 'UserController.import') 87Route.post('import', 'UserController.import');
96Route.get('import', ({ view }) => view.render('others.import')) 88Route.get('import', ({ view }) => view.render('others.import'));
97 89
98// Legal documents 90// Legal documents
99Route.get('terms', ({ response }) => response.redirect('/terms.html')) 91Route.get('terms', ({ response }) => response.redirect('/terms.html'));
100Route.get('privacy', ({ response }) => response.redirect('/privacy.html')) 92Route.get('privacy', ({ response }) => response.redirect('/privacy.html'));
101 93
102// Index 94// Index
103Route.get('/', ({ view }) => view.render('others.index')) 95Route.get('/', ({ view }) => view.render('others.index'));
104 96
105// 404 handler 97// 404 handler
106Route.get('/*', ({ response }) => response.redirect('/')) \ No newline at end of file 98Route.get('/*', ({ response }) => response.redirect('/'));