feat(gamification): list_recent_completions_cmd Tauri wrapper
Thin wrapper over kon_storage::list_recent_completions, parameterised by day count. Serialises to camelCase JSON (day, count). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -11,10 +11,11 @@ use kon_storage::{
|
|||||||
complete_subtask_and_check_parent as db_complete_subtask, complete_task as db_complete_task,
|
complete_subtask_and_check_parent as db_complete_subtask, complete_task as db_complete_task,
|
||||||
delete_task as db_delete_task, get_task_by_id as db_get_task,
|
delete_task as db_delete_task, get_task_by_id as db_get_task,
|
||||||
insert_subtask as db_insert_subtask, insert_task as db_insert_task,
|
insert_subtask as db_insert_subtask, insert_task as db_insert_task,
|
||||||
list_feedback_examples as db_list_feedback_examples, list_subtasks as db_list_subtasks,
|
list_feedback_examples as db_list_feedback_examples,
|
||||||
|
list_recent_completions as db_list_recent_completions, list_subtasks as db_list_subtasks,
|
||||||
list_tasks as db_list_tasks, set_task_energy as db_set_task_energy,
|
list_tasks as db_list_tasks, set_task_energy as db_set_task_energy,
|
||||||
uncomplete_task as db_uncomplete_task, update_task as db_update_task, FeedbackRow,
|
uncomplete_task as db_uncomplete_task, update_task as db_update_task, DailyCompletionCount,
|
||||||
FeedbackTargetType, TaskRow,
|
FeedbackRow, FeedbackTargetType, TaskRow,
|
||||||
};
|
};
|
||||||
|
|
||||||
use crate::AppState;
|
use crate::AppState;
|
||||||
@@ -386,3 +387,16 @@ pub async fn complete_subtask_cmd(
|
|||||||
.await
|
.await
|
||||||
.map_err(|e| e.to_string())
|
.map_err(|e| e.to_string())
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// Phase 8: daily completion counts for the Tasks-page badge and the
|
||||||
|
/// 7-day momentum sparkline. Returns a fixed-length oldest-first
|
||||||
|
/// series. Empty days are explicit zeros.
|
||||||
|
#[tauri::command]
|
||||||
|
pub async fn list_recent_completions_cmd(
|
||||||
|
state: tauri::State<'_, AppState>,
|
||||||
|
days: u32,
|
||||||
|
) -> Result<Vec<DailyCompletionCount>, String> {
|
||||||
|
db_list_recent_completions(&state.db, days)
|
||||||
|
.await
|
||||||
|
.map_err(|e| e.to_string())
|
||||||
|
}
|
||||||
|
|||||||
@@ -317,6 +317,7 @@ pub fn run() {
|
|||||||
commands::tasks::extract_tasks_from_transcript_cmd,
|
commands::tasks::extract_tasks_from_transcript_cmd,
|
||||||
commands::tasks::list_subtasks_cmd,
|
commands::tasks::list_subtasks_cmd,
|
||||||
commands::tasks::complete_subtask_cmd,
|
commands::tasks::complete_subtask_cmd,
|
||||||
|
commands::tasks::list_recent_completions_cmd,
|
||||||
// HITL feedback (Phase 2 roadmap)
|
// HITL feedback (Phase 2 roadmap)
|
||||||
commands::feedback::record_feedback,
|
commands::feedback::record_feedback,
|
||||||
commands::feedback::list_feedback_examples_cmd,
|
commands::feedback::list_feedback_examples_cmd,
|
||||||
|
|||||||
Reference in New Issue
Block a user