Files
artdanj-api/app/Controllers/Http/StatesController.ts
2020-12-20 19:19:00 +01:00

62 lines
2.1 KiB
TypeScript

import {HttpContextContract} from "@ioc:Adonis/Core/HttpContext";
import Redis from "@ioc:Adonis/Addons/Redis";
import {UpdateGitHubReadme} from "App/tasks/UpdateGithubReadme";
export default class StatesController {
public async get ({response}: HttpContextContract) {
const is_sleeping = await Redis.get('artapi/states/sleeping') || "false"
const is_learning = await Redis.get('artapi/states/learning') || "false"
const is_developing = await Redis.get('artapi/states/developing') || "false"
const is_listening_music = await Redis.get('artapi/states/listening') || "false"
return response.status(200).send({
is_sleeping: getStatus(is_sleeping),
is_learning: getStatus(is_learning),
is_developing: getStatus(is_developing),
is_listening_music: getStatus(is_listening_music)
})
}
public async setSleepingStatus ({request, response}: HttpContextContract) {
const sleeping = await request.input('sleeping')
await Redis.set('artapi/states/sleeping', sleeping)
await UpdateGitHubReadme()
return response.status(200).send({
message: 'State successfully updated !'
})
}
public async setDevelopingStatus ({request, response}: HttpContextContract) {
const developing = await request.input('developing')
await Redis.set('artapi/states/developing', 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', 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', listening)
await UpdateGitHubReadme()
return response.status(200).send({
message: 'State successfully updated !'
})
}
}
function getStatus(state: string) {
return state === "true"
}