mirror of
https://github.com/ArthurDanjou/artdanj-api.git
synced 2026-01-14 12:14:33 +01:00
@@ -13,6 +13,12 @@ export default class SubscribersController {
|
||||
|
||||
public async store({request, response}: HttpContextContract) {
|
||||
const data = await request.validate(SubscriberValidator)
|
||||
const email = await Subscriber.findBy('email', data.email)
|
||||
if (email) {
|
||||
return response.status(201).send({
|
||||
message: 'Subscriber already exists'
|
||||
})
|
||||
}
|
||||
await Subscriber.create(data)
|
||||
return response.status(200).send({
|
||||
message: 'Subscriber successfully registered!'
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { HttpContextContract } from '@ioc:Adonis/Core/HttpContext'
|
||||
import {HttpContextContract} from '@ioc:Adonis/Core/HttpContext'
|
||||
import {rules, schema} from '@ioc:Adonis/Core/Validator'
|
||||
|
||||
export default class SubscriberValidator {
|
||||
@@ -7,8 +7,7 @@ export default class SubscriberValidator {
|
||||
|
||||
public schema = schema.create({
|
||||
email: schema.string({ trim: true }, [
|
||||
rules.email(),
|
||||
rules.unique({table: 'subscribers', column: 'email'})
|
||||
rules.email()
|
||||
])
|
||||
})
|
||||
|
||||
|
||||
Reference in New Issue
Block a user