tenantInfo.ts 1.76 KB
import { BaseQueryParams, BaseQueryRequest } from '../base';

export enum TenantStatusEnum {
  NORMAL = 'NORMAL',
  DISABLED = 'DISABLED',
  EXPIRED = 'EXPIRED',
}

export enum UserStatusEnum {
  NORMAL = 'NORMAL',
  DISABLED = 'DISABLED',
  EXPIRED = 'EXPIRED',
}

export interface TenantDTO {
  id: string;
  name: string;
  icon: string;
  tenantCode: string;
  enabled: boolean;
  description: string;
  defaultConfig: string;
  tenantExpireTime: string;
  createTime: string;
  tenantStatus: TenantStatusEnum;
}

export interface TenantRequestDTO {
  id?: string;
  icon?: string;
  name: string;
  enabled: boolean;
  description: string;
  tenantExpireTime?: string;
}

export interface TenantPageRequestParams extends BaseQueryParams {
  tenantName?: string;
}

export interface TenantAdminPageRequestParams extends BaseQueryParams {
  realName?: string;
  tenantCode: string;
}

export interface UserDTO {
  id: string;
  username: string;
  realName: string;
  phoneNumber: string;
  email: string;
  avatar: string;
  enabled: boolean;
  accountExpireTime: string;
  createTime: string;
  updateTime: string;
  userStatusEnum: UserStatusEnum;
  hasPassword?: boolean;
}

export enum MessageTypeEnum {
  EMAIL_MESSAGE = 'EMAIL_MESSAGE',
  PHONE_MESSAGE = 'PHONE_MESSAGE',
}

export class SendResetPasswordEmailMsg {
  userId: string;
  messageTypeEnum: MessageTypeEnum;

  constructor(userId: string, msgType: MessageTypeEnum) {
    this.userId = userId;
    this.messageTypeEnum = msgType;
  }
}

export class TenantPageRequest extends BaseQueryRequest {
  tenantName: string | undefined;

  constructor(page = 1, pageSize = 10, tenantName?: string) {
    super(page, pageSize);
    this.tenantName = tenantName;
  }

  setTenantName(tenantName: string) {
    this.tenantName = tenantName;
  }
}