mirror of
https://github.com/IT4Change/gradido.git
synced 2026-02-06 09:56:05 +00:00
29 lines
573 B
TypeScript
29 lines
573 B
TypeScript
import { string } from 'zod'
|
|
|
|
export const VALID_ALIAS_REGEX = /^(?=.{3,20}$)[a-zA-Z0-9]+(?:[_-][a-zA-Z0-9]+?)*$/
|
|
|
|
const RESERVED_ALIAS = [
|
|
'admin',
|
|
'email',
|
|
'gast',
|
|
'gdd',
|
|
'gradido',
|
|
'guest',
|
|
'home',
|
|
'root',
|
|
'support',
|
|
'temp',
|
|
'tmp',
|
|
'user',
|
|
'usr',
|
|
'var',
|
|
]
|
|
|
|
export const aliasSchema = string()
|
|
.min(3, 'Given alias is too short')
|
|
.max(20, 'Given alias is too long')
|
|
.regex(VALID_ALIAS_REGEX, 'Invalid characters in alias')
|
|
.refine((val) => !RESERVED_ALIAS.includes(val.toLowerCase()), {
|
|
message: 'Given alias is not allowed',
|
|
})
|