MembershipsController.ts 1.1 KB

1234567891011121314151617181920212223242526272829303132
  1. import type { HttpContextContract } from '@ioc:Adonis/Core/HttpContext'
  2. import Membership from 'App/Models/Membership'
  3. import PaginationService from 'App/Services/PaginationService'
  4. import { schema, rules } from '@ioc:Adonis/Core/Validator'
  5. import { Exception } from '@adonisjs/core/build/standalone'
  6. export default class MemershipsController {
  7. private paginationService = new PaginationService(Membership)
  8. public async index({ request }: HttpContextContract) {
  9. return await this.paginationService.paginate(request.all())
  10. }
  11. public async store({ request }: HttpContextContract) {
  12. await request.validate({
  13. schema: schema.create({
  14. userId: schema.number(),
  15. expireAt: schema.date()
  16. })
  17. })
  18. return await Membership.create(request.all())
  19. }
  20. public async show({ params }: HttpContextContract) {
  21. return await Membership.findOrFail(params.id)
  22. }
  23. public async destroy({ params }: HttpContextContract) {
  24. const membership = await Membership.findOrFail(params.id)
  25. await membership.delete()
  26. }
  27. }