From 99b469e45e8167a24677585565d39c90d9c03c78 Mon Sep 17 00:00:00 2001 From: Arthur DANJOU Date: Sun, 20 Dec 2020 15:03:22 +0100 Subject: [PATCH] Fix --- app/Controllers/Http/StatesController.ts | 51 ++++++++++++++---------- app/Validators/state/StateValidator.ts | 19 --------- start/routes.ts | 5 ++- 3 files changed, 35 insertions(+), 40 deletions(-) delete mode 100644 app/Validators/state/StateValidator.ts diff --git a/app/Controllers/Http/StatesController.ts b/app/Controllers/Http/StatesController.ts index 12f6dad..e06ad79 100644 --- a/app/Controllers/Http/StatesController.ts +++ b/app/Controllers/Http/StatesController.ts @@ -1,5 +1,4 @@ import {HttpContextContract} from "@ioc:Adonis/Core/HttpContext"; -import StateValidator from "App/Validators/state/StateValidator"; import Redis from "@ioc:Adonis/Addons/Redis"; import {UpdateGitHubReadme} from "App/tasks/UpdateGithubReadme"; @@ -19,27 +18,39 @@ export default class StatesController { }) } - public async set ({request, response}: HttpContextContract) { - const data = await request.validate(StateValidator) - const { is_developing, is_learning, is_listening_music, is_sleeping } = data - - if (is_listening_music) { - await Redis.set('artapi/state/listening', this.getState(is_listening_music)) - } - if (is_developing) { - await Redis.set('artapi/state/developing', this.getState(is_developing)) - } - if (is_learning) { - await Redis.set('artapi/state/learning', this.getState(is_learning)) - } - if (is_sleeping) { - await Redis.set('artapi/state/sleeping', this.getState(is_sleeping)) - } - + public async setSleepingStatus ({request, response}: HttpContextContract) { + const sleeping = await request.input('sleeping') + await Redis.set('artapi/states/sleeping', this.getState(sleeping)) await UpdateGitHubReadme() - return response.status(200).send({ - message: 'States successfully modified !' + message: 'State successfully updated !' + }) + } + + public async setDevelopingStatus ({request, response}: HttpContextContract) { + const developing = await request.input('developing') + await Redis.set('artapi/states/developing', this.getState(developing)) + await UpdateGitHubReadme() + return response.status(200).send({ + message: 'State successfully updated !' + }) + } + + public async setLearningStatus ({request, response}: HttpContextContract) { + const learning = await request.input('learning') + await Redis.set('artapi/states/learning', this.getState(learning)) + await UpdateGitHubReadme() + return response.status(200).send({ + message: 'State successfully updated !' + }) + } + + public async setListeningStatus ({request, response}: HttpContextContract) { + const listening = await request.input('listening') + await Redis.set('artapi/states/listening', this.getState(listening)) + await UpdateGitHubReadme() + return response.status(200).send({ + message: 'State successfully updated !' }) } diff --git a/app/Validators/state/StateValidator.ts b/app/Validators/state/StateValidator.ts deleted file mode 100644 index ae85daa..0000000 --- a/app/Validators/state/StateValidator.ts +++ /dev/null @@ -1,19 +0,0 @@ -import { schema } from '@ioc:Adonis/Core/Validator' -import { HttpContextContract } from '@ioc:Adonis/Core/HttpContext' - -export default class StateValidator { - constructor (protected ctx: HttpContextContract) { - } - - public schema = schema.create({ - is_sleeping: schema.boolean.optional(), - is_learning: schema.boolean.optional(), - is_developing: schema.boolean.optional(), - is_listening_music: schema.boolean.optional(), - }) - - - public messages = { - required: 'Le champ {{field}} doit ĂȘtre valide !', - } -} diff --git a/start/routes.ts b/start/routes.ts index e0c23be..44ff860 100644 --- a/start/routes.ts +++ b/start/routes.ts @@ -57,7 +57,10 @@ Route.group(() => { Route.resource('posts', 'PostsController').only(['store', 'update', 'destroy']) Route.resource('subscribers', 'SubscribersController').only(['store', 'update', 'destroy']) Route.resource('files', 'FileController').only(['store', 'destroy']) - Route.post('/states', 'StatesController.set') + Route.post('/states/sleeping', 'StatesController.setSleepingStatus') + Route.post('/states/learning', 'StatesController.setLearningStatus') + Route.post('/states/developing', 'StatesController.setDevelopingStatus') + Route.post('/states/music', 'StatesController.setListeningStatus') Route.post('/stats/build', 'StatesController.incrementBuild') Route.post('/stats/command', 'StatesController.incrementCommand') Route.post('/locations', 'LocationsController.add')