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