From 72d3b792c890c2d2bad69744ea9fa60663b19cf7 Mon Sep 17 00:00:00 2001 From: Arthur DANJOU Date: Sat, 19 Dec 2020 18:13:37 +0100 Subject: [PATCH] update nodejs --- start/routes.ts | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) diff --git a/start/routes.ts b/start/routes.ts index d5aad26..dc1dc5a 100644 --- a/start/routes.ts +++ b/start/routes.ts @@ -1,6 +1,45 @@ import Route from '@ioc:Adonis/Core/Route' import Application from "@ioc:Adonis/Core/Application"; +import {HttpContextContract} from "@ioc:Adonis/Core/HttpContext"; +import HealthCheck from "@ioc:Adonis/Core/HealthCheck"; +const BASE_URL = "https://api.arthurdanjou.fr" + +Route.get('/', async ({response}: HttpContextContract) => { + response.status(200).send({ + domain: "api.arthurdanjou.fr", + version: "1.0", + routes: { + deezer_data: "", + stats_data: "", + state_data: `${BASE_URL}/state`, + locations_data: "", + health: `${BASE_URL}/health` + } + }) +}) + +/* + +TODO + +Stats : Daily, weekly, monthly (Docker Build & commands, Dev hours) +Location: get Last + Add location + View history +Deezer Songs: + +Tasks: kernel : setTimeout or cron + Dev hours: 5min + Deezer songs: 1min + */ + +Route.get('/health', async ({ response }) => { + const isLive = await HealthCheck.isLive() + + return isLive + ? response.status(200).send({}) + : response.status(400).send({}) +}) +Route.get('/state', 'StatesController.get') Route.resource('users', 'UsersController').only(['index', 'show']) Route.get('/posts/:slug', 'PostsController.getLikes') Route.get('/posts/is/:slug', 'PostsController.isLiked') @@ -18,6 +57,7 @@ Route.group(() => { Route.resource('posts', 'PostsController').only(['store', 'update', 'destroy']) Route.resource('subscribers', 'SubscribersController').only(['store', 'update', 'destroy']) Route.resource('files', 'FileController').only(['store', 'update', 'destroy']) + Route.post('/state', 'StatesController.set') }).middleware('auth')