| 1234567891011121314151617181920212223242526272829303132333435363738394041424344 |
- import type { HttpContextContract } from '@ioc:Adonis/Core/HttpContext'
- import Tracking from 'App/Models/Tracking'
- import PaginationService from 'App/Services/PaginationService'
- import { schema } from '@ioc:Adonis/Core/Validator'
- export default class TrackingsController {
- private paginationService = new PaginationService(Tracking)
- public async index({ request }: HttpContextContract) {
- return await this.paginationService.paginate(request.all())
- }
- public async store({ request }: HttpContextContract) {
- const data = await request.validate({
- schema: schema.create({
- userId: schema.number(),
- seriesId: schema.number(),
- curEpId: schema.number()
- })
- })
- return await Tracking.create(data)
- }
- public async show({ params }: HttpContextContract) {
- return await Tracking.findOrFail(params.id)
- }
- public async update({ request, params }: HttpContextContract) {
- const data = await request.validate({
- schema: schema.create({
- userId: schema.number.optional(),
- seriesId: schema.number.optional(),
- curEpId: schema.number.optional()
- })
- })
- const tracking = await Tracking.findOrFail(params.id)
- tracking.merge(data)
- return await tracking.save()
- }
- public async destroy({ params }: HttpContextContract) {
- const tracking = await Tracking.findOrFail(params.id)
- await tracking.delete()
- }
- }
|