mirror of
https://github.com/ArthurDanjou/artdanj-api.git
synced 2026-01-14 20:19:26 +01:00
42 lines
1.4 KiB
TypeScript
42 lines
1.4 KiB
TypeScript
import {HttpContextContract} from "@ioc:Adonis/Core/HttpContext";
|
|
import Subscriber from "App/Models/Subscriber";
|
|
import StoreValidator from "App/Validators/subscriber/StoreValidator";
|
|
import UpdateValidator from "App/Validators/subscriber/UpdateValidator";
|
|
|
|
export default class SubscribersController {
|
|
|
|
public async index ({request}: HttpContextContract) {
|
|
const limit = request.input('limit')
|
|
const page = request.input('page')
|
|
if (limit && page) {
|
|
return Subscriber.query().orderBy('id', 'asc').paginate(page, limit);
|
|
} else {
|
|
return Subscriber.query().orderBy('id', 'asc');
|
|
}
|
|
}
|
|
|
|
public async store ({request}: HttpContextContract) {
|
|
const data = await request.validate(StoreValidator)
|
|
return await Subscriber.create(data)
|
|
}
|
|
|
|
public async show ({params}: HttpContextContract) {
|
|
return await Subscriber.findOrFail(params.id)
|
|
}
|
|
|
|
public async update({ request, params }: HttpContextContract) {
|
|
const subscriber = await Subscriber.findOrFail(params.id)
|
|
const data = await request.validate(UpdateValidator)
|
|
await subscriber.merge(data).save()
|
|
|
|
return { message: 'L\'abonné a été mis à jour' }
|
|
}
|
|
|
|
public async destroy({ params }: HttpContextContract) {
|
|
const subscriber = await Subscriber.findOrFail(params.id)
|
|
await subscriber.delete()
|
|
return { message: "L\'abonné a bien été supprimé" }
|
|
}
|
|
|
|
}
|