feat(tasks): B2a part 2 — task_lists CRUD + archive cmds + frontend wire
Storage: 5 task_lists CRUD functions (list/create/update/delete/ import) and 4 archive functions (list_archived_tasks/archive_task/ unarchive_task/archive_inbox_older_than). 8 new tests cover CRUD, import idempotency, atomic-failure rollback, dependent-task null-out, archive scope, archive_inbox_older_than Inbox-only invariant, and unarchive round-trip. Tauri: 9 new commands (5 task_lists + 4 archive) registered in the invoke_handler. New file commands/task_lists.rs mirroring tasks.rs structure. TaskDto extended with archived/archivedAt. Frontend: loadTaskLists rewired to read from SQLite via list_task_lists_cmd on Tauri runtime, with a one-time migration that imports kon_task_lists localStorage into SQLite via import_task_lists_cmd and clears localStorage only on success. mapTaskRow handles the new archived fields. TasksPage gets an Archived filter pill (hidden when empty) and a per-row archive icon. moveTaskList/sortTaskLists kept local pending a future order-column migration. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -7,18 +7,21 @@ pub mod migrations;
|
||||
pub const DEFAULT_PROFILE_ID: &str = "00000000-0000-0000-0000-000000000001";
|
||||
|
||||
pub use database::{
|
||||
add_profile_term, complete_subtask_and_check_parent, complete_task, count_transcripts,
|
||||
create_profile, delete_implementation_rule, delete_profile, delete_profile_term, delete_task,
|
||||
delete_transcript, get_implementation_rule, get_profile, get_setting, get_task_by_id,
|
||||
get_transcript, init, init_readonly, insert_implementation_rule, insert_subtask, insert_task,
|
||||
insert_transcript, list_feedback_examples, list_implementation_rules, list_profile_terms,
|
||||
list_profiles, list_recent_completions, list_recent_errors, list_subtasks, list_tasks,
|
||||
list_transcripts, list_transcripts_paged, log_error, mark_implementation_rule_fired,
|
||||
prune_error_log, record_feedback, search_transcripts, set_implementation_rule_enabled,
|
||||
set_setting,
|
||||
set_task_energy, uncomplete_task, update_profile, update_task, update_transcript,
|
||||
update_transcript_meta, DailyCompletionCount, ErrorLogRow, FeedbackRow, FeedbackTargetType,
|
||||
ImplementationRuleRow, InsertTranscriptParams, ProfileRow, ProfileTermRow,
|
||||
RecordFeedbackParams, TaskRow, TranscriptRow,
|
||||
add_profile_term, archive_inbox_older_than, archive_task,
|
||||
complete_subtask_and_check_parent, complete_task, count_transcripts,
|
||||
create_profile, create_task_list, delete_implementation_rule, delete_profile,
|
||||
delete_profile_term, delete_task, delete_task_list, delete_transcript,
|
||||
get_implementation_rule, get_profile, get_setting, get_task_by_id, get_transcript,
|
||||
import_task_lists, init, init_readonly, insert_implementation_rule, insert_subtask,
|
||||
insert_task, insert_transcript, list_archived_tasks, list_feedback_examples,
|
||||
list_implementation_rules, list_profile_terms, list_profiles, list_recent_completions,
|
||||
list_recent_errors, list_subtasks, list_task_lists, list_tasks, list_transcripts,
|
||||
list_transcripts_paged, log_error, mark_implementation_rule_fired, prune_error_log,
|
||||
record_feedback, search_transcripts, set_implementation_rule_enabled, set_setting,
|
||||
set_task_energy, unarchive_task, uncomplete_task, update_profile, update_task,
|
||||
update_task_list, update_transcript, update_transcript_meta, DailyCompletionCount,
|
||||
ErrorLogRow, FeedbackRow, FeedbackTargetType, ImplementationRuleRow, ImportSummary,
|
||||
InsertTranscriptParams, ProfileRow, ProfileTermRow, RecordFeedbackParams, TaskListRow,
|
||||
TaskRow, TranscriptRow,
|
||||
};
|
||||
pub use file_storage::{app_data_dir, crashes_dir, database_path, logs_dir, recordings_dir};
|
||||
|
||||
Reference in New Issue
Block a user