Add Expire date and redirection type

This commit is contained in:
2021-10-21 22:08:34 +02:00
parent 253b30aa05
commit 1de0ee4733
4 changed files with 44 additions and 39 deletions

View File

@@ -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)'
}
}

View File

@@ -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 = {}
}

View File

@@ -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 = {}
}

View File

@@ -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 = {}
}