diff options
Diffstat (limited to 'start/routes/api.ts')
-rw-r--r-- | start/routes/api.ts | 115 |
1 files changed, 72 insertions, 43 deletions
diff --git a/start/routes/api.ts b/start/routes/api.ts index 78282f0..37f7859 100644 --- a/start/routes/api.ts +++ b/start/routes/api.ts | |||
@@ -1,51 +1,80 @@ | |||
1 | // As this is currently a rebuild of the initial API we it is grouped in /v2/ | 1 | // As this is currently a rebuild of the initial API we it is grouped in /v2/ |
2 | 2 | ||
3 | import Route from '@ioc:Adonis/Core/Route'; | 3 | import { middleware } from '#start/kernel'; |
4 | import router from '@adonisjs/core/services/router'; | ||
5 | const UserController = () => import('#controllers/Http/UserController'); | ||
6 | const ServiceController = () => import('#controllers/Http/ServiceController'); | ||
7 | const RecipeController = () => import('#controllers/Http/RecipeController'); | ||
8 | const WorkspaceController = () => | ||
9 | import('#controllers/Http/WorkspaceController'); | ||
10 | const FeaturesController = () => | ||
11 | import('#controllers/Http/Api/Static/FeaturesController'); | ||
12 | const EmptyController = () => | ||
13 | import('#controllers/Http/Api/Static/EmptyController'); | ||
14 | const AnnouncementsController = () => | ||
15 | import('#controllers/Http/Api/Static/AnnouncementsController'); | ||
4 | 16 | ||
5 | Route.group(() => { | 17 | router |
6 | // User authentification | 18 | .group(() => { |
7 | Route.post('auth/signup', 'UserController.signup').middleware('guest'); | 19 | // User authentification |
8 | Route.post('auth/login', 'UserController.login').middleware('guest'); | 20 | router |
21 | .post('auth/signup', [UserController, 'signup']) | ||
22 | .use(middleware.guest()); | ||
23 | router | ||
24 | .post('auth/login', [UserController, 'login']) | ||
25 | .use(middleware.guest()); | ||
9 | 26 | ||
10 | // User info | 27 | // User info |
11 | Route.get('me', 'UserController.me').middleware('auth:jwt'); | 28 | router.get('me', [UserController, 'me']).use(middleware.auth()); |
12 | Route.put('me', 'UserController.updateMe').middleware('auth:jwt'); | 29 | router.put('me', [UserController, 'updateMe']).use(middleware.auth()); |
13 | Route.get('me/newtoken', 'UserController.newToken').middleware('auth:jwt'); | 30 | router |
31 | .get('me/newtoken', [UserController, 'newToken']) | ||
32 | .use(middleware.auth()); | ||
14 | 33 | ||
15 | // // Service info | 34 | // // Service info |
16 | Route.post('service', 'ServiceController.create').middleware('auth:jwt'); | 35 | router |
17 | Route.put('service/reorder', 'ServiceController.reorder').middleware( | 36 | .post('service', [ServiceController, 'create']) |
18 | 'auth:jwt', | 37 | .use(middleware.auth()); |
19 | ); | 38 | router |
20 | Route.put('service/:id', 'ServiceController.edit').middleware('auth:jwt'); | 39 | .put('service/reorder', [ServiceController, 'reorder']) |
21 | Route.delete('service/:id', 'ServiceController.delete').middleware( | 40 | .use(middleware.auth()); |
22 | 'auth:jwt', | 41 | router |
23 | ); | 42 | .put('service/:id', [ServiceController, 'edit']) |
24 | Route.get('me/services', 'ServiceController.list').middleware('auth:jwt'); | 43 | .use(middleware.auth()); |
25 | Route.get('recipe', 'ServiceController.list').middleware('auth:jwt'); | 44 | router |
26 | Route.get('icon/:id', 'ServiceController.icon'); | 45 | .delete('service/:id', [ServiceController, 'delete']) |
46 | .use(middleware.auth()); | ||
47 | router | ||
48 | .get('me/services', [ServiceController, 'list']) | ||
49 | .use(middleware.auth()); | ||
50 | router.get('recipe', [ServiceController, 'list']).use(middleware.auth()); | ||
51 | router.get('icon/:id', [ServiceController, 'icon']); | ||
27 | 52 | ||
28 | // Recipe store | 53 | // Recipe store |
29 | Route.get('recipes', 'RecipeController.list'); | 54 | router.get('recipes', [RecipeController, 'list']); |
30 | Route.get('recipes/search', 'RecipeController.search'); | 55 | router.get('recipes/search', [RecipeController, 'search']); |
31 | Route.get('recipes/popular', 'RecipeController.popularRecipes'); | 56 | router.get('recipes/popular', [RecipeController, 'popularRecipes']); |
32 | Route.get('recipes/download/:recipe', 'RecipeController.download'); | 57 | router.get('recipes/download/:recipe', [RecipeController, 'download']); |
33 | Route.post('recipes/update', 'RecipeController.update'); | 58 | router.post('recipes/update', [RecipeController, 'update']); |
34 | 59 | ||
35 | // // Workspaces | 60 | // // Workspaces |
36 | Route.put('workspace/:id', 'WorkspaceController.edit').middleware('auth:jwt'); | 61 | router |
37 | Route.delete('workspace/:id', 'WorkspaceController.delete').middleware( | 62 | .put('workspace/:id', [WorkspaceController, 'edit']) |
38 | 'auth:jwt', | 63 | .use(middleware.auth()); |
39 | ); | 64 | router |
40 | Route.post('workspace', 'WorkspaceController.create').middleware('auth:jwt'); | 65 | .delete('workspace/:id', [WorkspaceController, 'delete']) |
41 | Route.get('workspace', 'WorkspaceController.list').middleware('auth:jwt'); | 66 | .use(middleware.auth()); |
67 | router | ||
68 | .post('workspace', [WorkspaceController, 'create']) | ||
69 | .use(middleware.auth()); | ||
70 | router | ||
71 | .get('workspace', [WorkspaceController, 'list']) | ||
72 | .use(middleware.auth()); | ||
42 | 73 | ||
43 | // Static responses | 74 | // Static responses |
44 | Route.get('features/:mode?', 'Api/Static/FeaturesController.show'); | 75 | router.get('features/:mode?', [FeaturesController, 'show']); |
45 | Route.get('services', 'Api/Static/EmptyController.show'); | 76 | router.get('services', [EmptyController, 'show']); |
46 | Route.get('news', 'Api/Static/EmptyController.show'); | 77 | router.get('news', [EmptyController, 'show']); |
47 | Route.get( | 78 | router.get('announcements/:version', [AnnouncementsController, 'show']); |
48 | 'announcements/:version', | 79 | }) |
49 | 'Api/Static/AnnouncementsController.show', | 80 | .prefix('/v1'); |
50 | ); | ||
51 | }).prefix('/v1'); | ||