export interface CourseType {
  id: string
  name: string
  cover: string
  experiments: ExperimentType[]
}

export interface ExperimentType {
  id: string
  name: string
  course_id: string
  organ_id: string
}

export interface ExperimentBookType {
  id: string
  name: string
  size: string
  type: string
  url: string
}

export interface ExperimentVideoType {
  id: string
  name: string
  size: string
  type: string
  source_id: string
  length: number
  cover: string
}

export interface PlayInfo {
  BitDepth: number
  Bitrate: string
  CreationTime: string
  Definition: string
  Duration: string
  Encrypt: number
  Format: string
  Fps: string
  HDRType: string
  Height: number
  JobId: string
  ModificationTime: string
  NarrowBandType: string
  PlayURL: string
  PreprocessStatus: string
  Size: number
  Specification: string
  Status: string
  StreamType: string
  Width: number
}

export interface ExperimentDiscussType {
  content: string
  created_operator: string
  created_time: string
  id: string
  is_reply: string
  replies: ExperimentDiscussCommentType[]
  reply_count: number
  sso_user: UserType
  student_id: string
  title: string
  updated_time: string
}

export interface ExperimentDiscussCommentType {
  content: string
  created_time: string
  discussion_id: string
  id: string
  role: string
  sso_id: string
  sso_user: UserType
}
export interface UserType {
  avatar: string
  id: string
  nickname: string
  real_name: string
  username: string
}

export interface ExperimentRecord {
  experiment_id: string
  student_id: string
  commit_time: string
  pictures: ExperimentRecordFile[]
  file: ExperimentRecordFile
  checker_id: string
  check_time: string
  score_details: { operate: number; result: number; file: number }
  score: string
  status: 0 | 1 | 2
  checker_user: UserType
  experiment: {
    id: string
    name: string
    score: number
    length: number
  }
  course: CourseType
  student: ExperimentRecordStudent
}
export interface ExperimentRecordFile {
  url: string
  name: string
  upload_time: string
}

export interface ExperimentRecordStudent {
  id: string
  name: string
  sno_number: string
  specialty: {
    id: string
    name: string
  }
  classes: [
    {
      id: string
      name: string
    }
  ]
}
