From 2f95bcf56002ddc8997e00207f6dc0df8544753a Mon Sep 17 00:00:00 2001 From: Arthur DANJOU Date: Wed, 7 Jul 2021 14:11:58 +0200 Subject: [PATCH] Working Signed-off-by: Arthur DANJOU --- app/Controllers/Http/SubscribersController.ts | 6 ++++++ app/Validators/subscriber/SubscriberValidator.ts | 5 ++--- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/app/Controllers/Http/SubscribersController.ts b/app/Controllers/Http/SubscribersController.ts index 8e50e94..892b33d 100755 --- a/app/Controllers/Http/SubscribersController.ts +++ b/app/Controllers/Http/SubscribersController.ts @@ -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!' diff --git a/app/Validators/subscriber/SubscriberValidator.ts b/app/Validators/subscriber/SubscriberValidator.ts index 6c44bed..f06f1a5 100755 --- a/app/Validators/subscriber/SubscriberValidator.ts +++ b/app/Validators/subscriber/SubscriberValidator.ts @@ -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() ]) })