import { Rule, RuleType } from '@midwayjs/validate';
import { ApiProperty } from '@midwayjs/swagger';
import { dealVO } from '../../frame/VOBase';
export class FVO_user {
  constructor(data: object) {
    dealVO(this, data);
  }
  @ApiProperty({ description: '数据id' })
  id: number = undefined;
  @ApiProperty({ description: '账号' })
  'account': string = undefined;
  @ApiProperty({ description: 'openid' })
  'openid': string = undefined;
  @ApiProperty({ description: '密码' })
  'password': string = undefined;
  @ApiProperty({ description: '所属产业' })
  'industry': string = undefined;
  @ApiProperty({ description: '昵称' })
  'nick_name': string = undefined;
  @ApiProperty({ description: '性别' })
  'gender': string = undefined;
  @ApiProperty({ description: '手机号' })
  'phone': string = undefined;
  @ApiProperty({ description: '电子邮箱' })
  'email': string = undefined;
  @ApiProperty({ description: '角色类型' })
  'role_type': string = undefined;
  @ApiProperty({ description: '角色' })
  'role': Array<any> = undefined;
  @ApiProperty({ description: '状态' })
  'status': string = undefined;
}

export class QDTO_user {
  @ApiProperty({ description: '账号' })
  'account': string = undefined;
  @ApiProperty({ description: 'openid' })
  'openid': string = undefined;
  @ApiProperty({ description: '昵称' })
  'nick_name': string = undefined;
  @ApiProperty({ description: '所属产业' })
  'industry': string = undefined;
  @ApiProperty({ description: '手机号' })
  'phone': string = undefined;
  @ApiProperty({ description: '电子邮箱' })
  'email': string = undefined;
  @ApiProperty({ description: '状态' })
  'status': string = undefined;
}

export class QVO_user extends FVO_user {
  constructor(data: object) {
    super(data);
    dealVO(this, data);
  }
}

export class CDTO_user {
  @ApiProperty({ description: 'openid' })
  @Rule(RuleType['string']().empty(''))
  'openid': string = undefined;
  @ApiProperty({ description: '账号' })
  @Rule(RuleType['string']().empty(''))
  'account': string = undefined;
  @ApiProperty({ description: '密码' })
  @Rule(RuleType['string']().empty(''))
  'password': string = undefined;
  @ApiProperty({ description: '所属产业' })
  'industry': string = undefined;
  @ApiProperty({ description: '昵称' })
  @Rule(RuleType['string']().empty(''))
  'nick_name': string = undefined;
  @ApiProperty({ description: '性别' })
  @Rule(RuleType['string']().empty(''))
  'gender': string = undefined;
  @ApiProperty({ description: '手机号' })
  @Rule(RuleType['string']().empty(''))
  'phone': string = undefined;
  @ApiProperty({ description: '电子邮箱' })
  @Rule(RuleType['string']().empty(''))
  'email': string = undefined;
  @ApiProperty({ description: '角色' })
  @Rule(RuleType['array']().empty(''))
  'role': Array<any> = undefined;
  @ApiProperty({ description: '状态' })
  @Rule(RuleType['string']().empty(''))
  'status': string = undefined;
}

export class CVO_user extends FVO_user {
  constructor(data: object) {
    super(data);
    dealVO(this, data);
  }
}

export class UDTO_user extends CDTO_user {
  @ApiProperty({ description: '数据id' })
  @Rule(RuleType['number']().empty(''))
  id: number = undefined;
}

export class UVAO_user extends FVO_user {
  constructor(data: object) {
    super(data);
    dealVO(this, data);
  }
}
