From d3f769c5fe99a39317f170f5c032d916e7b74516 Mon Sep 17 00:00:00 2001 From: Matthias Rohmer Date: Fri, 17 Sep 2021 17:11:51 +0200 Subject: [PATCH] =?UTF-8?q?=F0=9F=90=9B=20Allow=20multiple=20files=20to=20?= =?UTF-8?q?be=20uploaded=20as=20well=20as=20none?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/Validators/v1/LocationValidator.ts | 20 ++++++++++++-------- app/Validators/v1/OfferValidator.ts | 20 ++++++++++++-------- app/Validators/v1/OrganizerValidator.ts | 20 ++++++++++++-------- 3 files changed, 36 insertions(+), 24 deletions(-) diff --git a/app/Validators/v1/LocationValidator.ts b/app/Validators/v1/LocationValidator.ts index 72b03df7..338db23b 100644 --- a/app/Validators/v1/LocationValidator.ts +++ b/app/Validators/v1/LocationValidator.ts @@ -24,10 +24,12 @@ export class CreateLocationValidator { .optional([rules.maxLength(3)]) .members(schema.string({}, [rules.url()])), }), - media: schema.file({ - size: '10mb', - extnames: ['jpg', 'gif', 'png', 'webp'], - }), + media: schema.array.optional().members( + schema.file.optional({ + size: '10mb', + extnames: ['jpg', 'gif', 'png', 'webp'], + }) + ), }); public cacheKey = this.context.routeKey; @@ -55,10 +57,12 @@ export class UpdateLocationValidator { .optional([rules.maxLength(3)]) .members(schema.string({}, [rules.url()])), }), - media: schema.file({ - size: '10mb', - extnames: ['jpg', 'gif', 'png', 'webp'], - }), + media: schema.array.optional().members( + schema.file.optional({ + size: '10mb', + extnames: ['jpg', 'gif', 'png', 'webp'], + }) + ), }); public cacheKey = this.context.routeKey; diff --git a/app/Validators/v1/OfferValidator.ts b/app/Validators/v1/OfferValidator.ts index d5b7ca4b..90a46f40 100644 --- a/app/Validators/v1/OfferValidator.ts +++ b/app/Validators/v1/OfferValidator.ts @@ -25,10 +25,12 @@ export class CreateOfferValidator { .optional([rules.maxLength(3)]) .members(schema.string({}, [rules.url()])), }), - media: schema.file({ - size: '10mb', - extnames: ['jpg', 'gif', 'png', 'webp'], - }), + media: schema.array.optional().members( + schema.file.optional({ + size: '10mb', + extnames: ['jpg', 'gif', 'png', 'webp'], + }) + ), }); public cacheKey = this.context.routeKey; @@ -57,10 +59,12 @@ export class UpdateOfferValidator { .optional([rules.maxLength(3)]) .members(schema.string({}, [rules.url()])), }), - media: schema.file({ - size: '10mb', - extnames: ['jpg', 'gif', 'png', 'webp'], - }), + media: schema.array.optional().members( + schema.file.optional({ + size: '10mb', + extnames: ['jpg', 'gif', 'png', 'webp'], + }) + ), }); public cacheKey = this.context.routeKey; diff --git a/app/Validators/v1/OrganizerValidator.ts b/app/Validators/v1/OrganizerValidator.ts index 43ec1fe8..fd6c4a3c 100644 --- a/app/Validators/v1/OrganizerValidator.ts +++ b/app/Validators/v1/OrganizerValidator.ts @@ -47,10 +47,12 @@ export class CreateOrganizerValidator { .optional([rules.maxLength(3)]) .members(schema.string({}, [rules.url()])), }), - media: schema.file({ - size: '10mb', - extnames: ['jpg', 'gif', 'png', 'webp'], - }), + media: schema.array.optional().members( + schema.file.optional({ + size: '10mb', + extnames: ['jpg', 'gif', 'png', 'webp'], + }) + ), }); public cacheKey = this.context.routeKey; @@ -97,10 +99,12 @@ export class UpdateOrganizerValidator { .optional([rules.maxLength(3)]) .members(schema.string({}, [rules.url()])), }), - media: schema.file({ - size: '10mb', - extnames: ['jpg', 'gif', 'png', 'webp'], - }), + media: schema.array.optional().members( + schema.file.optional({ + size: '10mb', + extnames: ['jpg', 'gif', 'png', 'webp'], + }) + ), }); public cacheKey = this.context.routeKey;