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 }
 | 
						|
  }
 | 
						|
}
 |