39 lines
924 B
TypeScript
39 lines
924 B
TypeScript
import type { HttpContext } from '@adonisjs/core/http'
|
|
import Model from '#models/model'
|
|
|
|
export default class ModelsController {
|
|
// GET /models
|
|
async index({}: HttpContext) {
|
|
return await Model.all()
|
|
}
|
|
|
|
// POST /models
|
|
async store({ request }: HttpContext) {
|
|
const data = request.only(['name'])
|
|
const model = await Model.create(data)
|
|
return model
|
|
}
|
|
|
|
// GET /models/:id
|
|
async show({ params }: HttpContext) {
|
|
const model = await Model.findOrFail(params.id)
|
|
return model
|
|
}
|
|
|
|
// PUT /models/:id
|
|
async update({ params, request }: HttpContext) {
|
|
const model = await Model.findOrFail(params.id)
|
|
const data = request.only(['name'])
|
|
model.merge(data)
|
|
await model.save()
|
|
return model
|
|
}
|
|
|
|
// DELETE /models/:id
|
|
async destroy({ params }: HttpContext) {
|
|
const model = await Model.findOrFail(params.id)
|
|
await model.delete()
|
|
return { success: true }
|
|
}
|
|
}
|