import { invoke } from '@tauri-apps/api/core'
import type { IdeaRecord, CreateIdeaInput, PromotionResult } from './types'

export const ideaApi = {
  /** 列出灵感，可选按 status 过滤（draft/pending_review/promoted 等） */
  list(status?: string): Promise<IdeaRecord[]> {
    return invoke('list_ideas', { status: status ?? null })
  },

  create(input: CreateIdeaInput): Promise<IdeaRecord> {
    return invoke('create_idea', { input })
  },

  update(id: string, field: string, value: string): Promise<boolean> {
    return invoke('update_idea', { id, field, value })
  },

  delete(id: string): Promise<boolean> {
    return invoke('delete_idea', { id })
  },

  /** 多维评分 + 对抗式评估，结果写回并返回更新后的记录 */
  evaluate(id: string): Promise<IdeaRecord> {
    return invoke('evaluate_idea', { id })
  },

  /** 将灵感晋升为项目，返回晋升结果（含 project_id） */
  promote(id: string): Promise<PromotionResult> {
    return invoke('promote_idea', { id })
  },
}
