import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger'; import { IsIn, IsNotEmpty, IsOptional, IsString } from 'class-validator'; import { PageQuery } from '../common/page.dto.js'; import { CommonStatus } from '../common/enums.js'; export class CreateTenantDto { @ApiProperty({ description: '租户编码' }) @IsString() @IsNotEmpty() code!: string; @ApiProperty({ description: '租户名称' }) @IsString() @IsNotEmpty() name!: string; @ApiPropertyOptional({ description: '状态:enabled/disabled', default: 'enabled' }) @IsOptional() @IsIn(Object.values(CommonStatus)) status?: string; @ApiPropertyOptional({ description: '初始管理员用户名', default: 'admin' }) @IsOptional() @IsString() adminUsername?: string; @ApiPropertyOptional({ description: '初始管理员密码', default: 'Admin@123456' }) @IsOptional() @IsString() adminPassword?: string; @ApiPropertyOptional({ description: '备注' }) @IsOptional() @IsString() remark?: string; } export class UpdateTenantDto { @ApiPropertyOptional({ description: '租户名称' }) @IsOptional() @IsString() name?: string; @ApiPropertyOptional({ description: '状态:enabled/disabled' }) @IsOptional() @IsIn(Object.values(CommonStatus)) status?: string; @ApiPropertyOptional({ description: '备注' }) @IsOptional() @IsString() remark?: string; } export class ListTenantQuery extends PageQuery { @ApiPropertyOptional({ description: '租户名称(模糊)' }) @IsOptional() @IsString() name?: string; @ApiPropertyOptional({ description: '租户编码(模糊)' }) @IsOptional() @IsString() code?: string; @ApiPropertyOptional({ description: '状态:enabled/disabled' }) @IsOptional() @IsIn(Object.values(CommonStatus)) status?: string; }