25 lines
571 B
TypeScript
25 lines
571 B
TypeScript
import { IsEmail, IsString, Matches, MaxLength, MinLength } from 'class-validator';
|
|
|
|
export class SignupDto {
|
|
@IsString()
|
|
@MinLength(2)
|
|
@MaxLength(80)
|
|
tenantName!: string;
|
|
|
|
// Lowercase, alphanumeric + dashes, 2-40 chars, must start with a letter
|
|
@IsString()
|
|
@Matches(/^[a-z][a-z0-9-]{1,39}$/, {
|
|
message:
|
|
'tenantSlug must be 2-40 chars, start with a letter, and contain only lowercase letters, digits, and dashes',
|
|
})
|
|
tenantSlug!: string;
|
|
|
|
@IsEmail()
|
|
email!: string;
|
|
|
|
@IsString()
|
|
@MinLength(8)
|
|
@MaxLength(128)
|
|
password!: string;
|
|
}
|