mirror of
https://github.com/ArthurDanjou/artdanj-api.git
synced 2026-01-14 20:19:26 +01:00
43 lines
1.2 KiB
TypeScript
43 lines
1.2 KiB
TypeScript
import {HttpContextContract} from "@ioc:Adonis/Core/HttpContext";
|
|
import getTranslation from "App/Tasks/getTranslation";
|
|
import Maintenance from "App/Models/Maintenance";
|
|
import MaintenanceUpdateValidator from "App/Validators/maintenance/MaintenanceUpdateValidator";
|
|
|
|
export default class MaintenancesController {
|
|
|
|
public async index ({ response }: HttpContextContract) {
|
|
const maintenance = await Maintenance
|
|
.query()
|
|
.orderBy('created_at', 'desc')
|
|
.preload('reason')
|
|
.first()
|
|
return response.status(200).send({
|
|
maintenance: maintenance
|
|
})
|
|
}
|
|
|
|
public async show ({ params, response }: HttpContextContract) {
|
|
const maintenance = await Maintenance.findOrFail(params.id)
|
|
maintenance.load('reason')
|
|
return response.status(200).send({
|
|
maintenance
|
|
})
|
|
}
|
|
|
|
public async update ({ request, params, response }: HttpContextContract) {
|
|
const data = await request.validate(MaintenanceUpdateValidator)
|
|
const maintenance = await Maintenance.findOrFail(params.id)
|
|
|
|
if (data.reason) {
|
|
await maintenance.related('reason').associate(await getTranslation(data.reason))
|
|
}
|
|
|
|
await maintenance.merge(data).save()
|
|
|
|
return response.status(200).send({
|
|
maintenance
|
|
})
|
|
}
|
|
|
|
}
|