diff --git a/app/Validators/StoreValidator.ts b/app/Validators/StoreValidator.ts deleted file mode 100755 index d5b757a..0000000 --- a/app/Validators/StoreValidator.ts +++ /dev/null @@ -1,22 +0,0 @@ -import { HttpContextContract } from '@ioc:Adonis/Core/HttpContext' -import {rules, schema} from '@ioc:Adonis/Core/Validator' - -export default class StoreValidator { - constructor (private ctx: HttpContextContract) { - } - - public schema = schema.create({ - code: schema.string({}, [ - rules.unique({table: 'links', column: 'code' }), - rules.maxLength(10) - ]), - target: schema.string({}), - }) - - public cacheKey = this.ctx.routeKey - - public messages = { - 'code.unique': 'The code already exist !', - 'code.maxLength': 'The code is too long ! (max 10 caracteres)' - } -} diff --git a/app/Validators/UpdateValidator.ts b/app/Validators/UpdateValidator.ts deleted file mode 100755 index 5121c25..0000000 --- a/app/Validators/UpdateValidator.ts +++ /dev/null @@ -1,17 +0,0 @@ -import { HttpContextContract } from '@ioc:Adonis/Core/HttpContext' -import {schema} from '@ioc:Adonis/Core/Validator' - -export default class UpdateValidator { - constructor (private ctx: HttpContextContract) { - } - - public schema = schema.create({ - target: schema.string() - }) - - - public cacheKey = this.ctx.routeKey - - - public messages = {} -} diff --git a/app/Validators/links/LinkStoreValidator.ts b/app/Validators/links/LinkStoreValidator.ts new file mode 100755 index 0000000..753a3be --- /dev/null +++ b/app/Validators/links/LinkStoreValidator.ts @@ -0,0 +1,24 @@ +import { HttpContextContract } from '@ioc:Adonis/Core/HttpContext' +import {rules, schema} from '@ioc:Adonis/Core/Validator' + +export default class LinkStoreValidator { + constructor (protected ctx: HttpContextContract) {} + + public schema = schema.create({ + code: schema.string({}, [ + rules.unique({table: 'links', column: 'code' }), + rules.maxLength(10) + ]), + target: schema.string({ + trim: true + }), + type: schema.enum( + ['TEMPORARY', 'PERMANENT'] as const + ), + expire: schema.date.optional({ + format: 'yyyy-MM-dd HH:mm:ss', + }) + }) + + public messages = {} +} diff --git a/app/Validators/links/LinkUpdateValidator.ts b/app/Validators/links/LinkUpdateValidator.ts new file mode 100755 index 0000000..0005faf --- /dev/null +++ b/app/Validators/links/LinkUpdateValidator.ts @@ -0,0 +1,20 @@ +import { HttpContextContract } from '@ioc:Adonis/Core/HttpContext' +import {schema} from '@ioc:Adonis/Core/Validator' + +export default class LinkUpdateValidator { + constructor (protected ctx: HttpContextContract) {} + + public schema = schema.create({ + target: schema.string.optional({ + trim: true + }), + type: schema.enum.optional( + ['TEMPORARY', 'PERMANENT'] as const + ), + expire: schema.date.optional({ + format: 'yyyy-MM-dd HH:mm:ss', + }) + }) + + public messages = {} +}