export type VideoPointType = 'purpose' | 'key' | 'inspiration' | string

export interface VideoDiscoveryDemand {
  id: number
  demand_name: string
  biz_dt: string
  grade: string
  score: number | null
  prior_total_score: number | null
  posterior_rov_avg: number | null
  posterior_rov_count: number
  has_posterior: boolean
  category_ids: number[]
  category_names: string[]
  strategies: string[]
  reason: string | null
  video_count: number
}

export interface VideoDiscoveryPoint {
  point_type: VideoPointType
  expanded_text: string
  point_desc: string | null
  reason: string
}

export interface VideoDiscoveryVideo {
  vid: string
  title: string | null
  point_count: number
  points: VideoDiscoveryPoint[]
}

export interface VideoDiscoveryDemandDetail extends VideoDiscoveryDemand {
  point_count: number
  videos: VideoDiscoveryVideo[]
}

export interface VideoDiscoveryDemandResponse {
  biz_dt: string | null
  items: VideoDiscoveryDemand[]
}
