aboutsummaryrefslogtreecommitdiffstats
path: root/start/routes.js
diff options
context:
space:
mode:
authorLibravatar vantezzen <properly@protonmail.com>2019-08-22 11:12:36 +0200
committerLibravatar vantezzen <properly@protonmail.com>2019-08-22 11:12:36 +0200
commitb018adf240679ec59a7344e30be39400f1ecd8af (patch)
treec076635761667dad302716b498088f1047281e46 /start/routes.js
downloadferdium-server-b018adf240679ec59a7344e30be39400f1ecd8af.tar.gz
ferdium-server-b018adf240679ec59a7344e30be39400f1ecd8af.tar.zst
ferdium-server-b018adf240679ec59a7344e30be39400f1ecd8af.zip
Initial commit
Diffstat (limited to 'start/routes.js')
-rw-r--r--start/routes.js55
1 files changed, 55 insertions, 0 deletions
diff --git a/start/routes.js b/start/routes.js
new file mode 100644
index 0000000..3aca58e
--- /dev/null
+++ b/start/routes.js
@@ -0,0 +1,55 @@
1'use strict'
2
3/*
4|--------------------------------------------------------------------------
5| Routes
6|--------------------------------------------------------------------------
7|
8*/
9
10/** @type {typeof import('@adonisjs/framework/src/Route/Manager')} */
11const Route = use('Route')
12
13// Health: Returning if all systems function correctly
14Route.get('health', ({
15 response
16}) => {
17 return response.send({
18 api: 'success',
19 db: 'success'
20 })
21})
22
23// API is grouped under '/v1/' route
24Route.group(() => {
25 // User authentification
26 Route.post('auth/signup', 'UserController.signup').middleware('guest')
27 Route.post('auth/login', 'UserController.login').middleware('guest')
28
29 // User info
30 Route.get('me', 'UserController.me').middleware('auth')
31
32 // Service/recipe info
33 Route.post('service', 'ServiceController.create').middleware('auth')
34 Route.get('me/services', 'ServiceController.list').middleware('auth')
35 Route.get('recipes/download/:recipe', 'ServiceController.download')
36
37 // Static responses
38 Route.get('features', 'StaticController.features');
39 Route.get('services', 'StaticController.emptyArray')
40 Route.get('workspace', 'StaticController.emptyArray')
41 Route.get('news', 'StaticController.emptyArray')
42 Route.get('payment/plans', 'StaticController.plans')
43 Route.get('recipes/popular', 'StaticController.popularRecipes')
44 Route.get('recipes/update', 'StaticController.emptyArray')
45 Route.get('announcements/:version', 'StaticController.announcement')
46}).prefix('v1')
47
48Route.get('/', () => {
49 return {
50 info: 'Franz Unofficial Server',
51 version: '1.0.0',
52 author: 'vantezzen',
53 repo: 'https://github.com/vantezzen/franz-server'
54 }
55})