/**
 * Assessment Command DTO
 * 定义飞书机器人测评命令的类型和接口
 */

export enum AssessmentCommandType {
  START = 'start',
  ANSWER = 'answer',
  STATUS = 'status',
  RESULT = 'result',
  HELP = 'help',
  CANCEL = 'cancel',
}

export interface AssessmentCommand {
  type: AssessmentCommandType;
  parameters: string[];
  rawMessage: string;
  timestamp: Date;
}

export class AssessmentCommandDto {
  type: AssessmentCommandType;
  parameters: string[];
  rawMessage: string;

  constructor(
    type: AssessmentCommandType,
    parameters: string[],
    rawMessage: string,
  ) {
    this.type = type;
    this.parameters = parameters;
    this.rawMessage = rawMessage;
  }
}
