mirror of
https://github.com/ArthurDanjou/artdanj-api.git
synced 2026-01-14 20:19:26 +01:00
initital commit
This commit is contained in:
41
app/Controllers/Http/SubscribersController.ts
Normal file
41
app/Controllers/Http/SubscribersController.ts
Normal file
@@ -0,0 +1,41 @@
|
||||
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é" }
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user